並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 7965件

新着順 人気順

println javaの検索結果41 - 80 件 / 7965件

  • プログラミング言語「ほむほむ」 - ( ꒪⌓꒪) ゆるよろ日記

    なんか、極めると「ほむほむ」だけで会話できるみたいですね? 俺はまだそこまでの域には至ってないんですが、「ほむほむ」だけでプログラミングできたらステキですよね? そこで、ちょっと草植えときますね型言語 Grassを元にして以前作ったプログラミング言語「天使ちゃんマジ天使」とか 「ブブゼラ」をベースに、 またまたネタ言語を作りました。 Grassの文法と異なる点は以下のとおり。 wがほむ スペース・タブにはさまれた"ほむ"がW vは改行 wを出力するプログラム: ほむ ほむほむ ほむほむほむほむ xを出力するプログラム: ほむ ほむほむほむ ほむほむほむほむ ほむほむほむ ほむ "Hello, world!"を出力するプログラム ほむ ほむ ほむ ほむほむほむほむ ほむ ほむほむほむほむほむほむ ほむほむほむほむほむ ほむ ほむほむほむほむほむ ほむほむほむほむ ほむほむほむほむ ほむほむほ

      プログラミング言語「ほむほむ」 - ( ꒪⌓꒪) ゆるよろ日記
    • JavaしかかけないおいらがiPhoneアプリをリリースするまで - しんさんの出張所 はてなブログ編

      今回の内容は前回よりだいぶましだぞ・・・。 業務系Java屋がMixiアプリをリリースするまで Javaしかかけないおいらがmixiアプリ第2弾をリリースするまで mixiアプリ第3弾「コレオススメ!」リリースするまで Javaしかかけないおいらがmixiアプリ第4弾をリリースするまで JavaしかかけないおいらがAndroidアプリをリリースするまで の続きになります。 正直実装的にはmixiアプリ第2弾のエントリ(GWT+Flash+JavaSEとの互換レイヤでサクサク開発)が飛びぬけていると思いますが、それ以来くらいのインパクトはあると思います。 長文です。 iOS版を開発するぞ マモノバスター2のAndroid版は無事だせました。読んでない人は上に並んでる過去のエントリを読んでみてください。 AndroidはJavaSEと同じJava言語ということで、JavaSEと互換のレイヤーを

        JavaしかかけないおいらがiPhoneアプリをリリースするまで - しんさんの出張所 はてなブログ編
      • 良い乱数・悪い乱数

        C言語標準ライブラリの乱数rand( )は質に問題があり、禁止している学会もある。 他にも乱数には様々なアルゴリズムがあるが、多くのものが問題を持っている。 最も多くの人に使われている乱数であろう Visual Basic の Rnd の質は最低である。 そもそも乱数とは 乱数とは、本来サイコロを振って出る目から得られるような数を意味する。 このような乱数は予測不能なものである。 しかし、計算機を使って乱数を発生させた場合、 次に出る数は完全に決まっているので、予測不能とはいえない。 そこで、計算機で作り出される乱数を疑似乱数(PRNG)と呼び区別することがある。 ここでは、特にことわらない限り乱数とは疑似乱数のことを指すとする。 計算機でソフト的に乱数を発生させることの最大のメリットは、 再現性があることである。 初期状態が同じであれば、発生する乱数も全く同じものが得られる。 このことは

        • PHPのround関数とは一体なんだったのか - hnwの日記

          (7/3 14:05追記)Javaに関する記述について誤認があったので盛大に書き換えました。Java 6、Java 7、Java 8それぞれで実装が変わっていたようです。 (7/13 23:55追記)本記事中ではroundを四捨五入と言い切ってしまっています。これは筆者がC99のroundを基準に考えているためですが、言語によっては偶数丸めになっているround関数も珍しくありません。ご注意ください。 PHPのround関数について、ネット上で次のような記述を見つけました。 PHP 四捨五入の計算を間違える唯一の言語として畏れられていましたが、そのバグは治っているかもしれません(治ってないかもしれません) 主要なプログラミング言語8種をぐったり解説 - 鍋あり谷あり 各言語を面白おかしく紹介する内容とはいえ、ずいぶん雑な理解だなーという印象です。ゆるふわな話だけでPHPがdisられ続けるの

            PHPのround関数とは一体なんだったのか - hnwの日記
          • Javaのhello worldの読み方 | mwSoft

            前書き お馴染み、hello worldのソース。 class Hello { public static void main(String[] args) { System.out.println("hello world"); } } このコードはコンパイルされると、こんなバイトコードになります。 ca fe ba be 00 00 00 32 00 22 07 00 02 01 00 05 48 65 6c 6c 6f 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e

            • Javaで1行ずつテキストデータを読み込むイディオムの変遷 - argius note

              テキストデータを読み込む場合、言語にかかわらず1行ずつ読み込んで処理します。ここではこのイディオムを"read-lines"と呼ぶことにします。 スクリプト言語なんかだと大抵、最初からforeachで済んでしまっていたりしますが、初期のJavaではちょっと面倒な手順が必要でした。 新しいバージョンではだいぶ簡単簡潔に書けるようになりましたが、今度はたくさんありすぎて、どれがなんなのかが良くわからなくなっています(大袈裟)。 そこで今回は、"read-lines"の変遷についてまとめてみました。 最近Javaを始めた方がバージョンが古い時に書かれたソースコードを読むときに役に立つ...かも知れません。 目次 基本 BufferedReader (Java1.1~) Scannerと拡張for文 (Java5~) java.nio.file.Filesとtry-with-resources(J

                Javaで1行ずつテキストデータを読み込むイディオムの変遷 - argius note
              • 橋本商会 » 895円の超小型Ardunoクローン DigiSparkを買った

                とにかく小さくて安いのに、ほぼArduinoとして使える。 そしてズボンのコインポケットに入れて持ち歩けるので電車内hackに便利。 Digispark購入ページ DigiSpark wiki ソースコードはここに置いておいた。 デジタル出力・アナログ出力・アナログ入力・Mac上のRubyとのUSB通信を試した。 https://github.com/shokai/digispark-study 「webサービスと連動したちょっとしたハードウェア」にはArduinoはオーバースペックだと思うので、DigiSparkちょうどいいと思う。 普通のArduinoとの違い 詳しくは digispark:tutorials:basics [Digistump Wiki] 多少制限はある。 IOピン数が6本、PCとUSB通信する場合は4本しか無い プログラムを書き込めるメモリ領域が6Kbyteしかない

                  橋本商会 » 895円の超小型Ardunoクローン DigiSparkを買った
                • JavaプログラマーのためのGo言語入門 | フューチャー技術ブログ

                  JavaプログラマーのためのGo言語入門こちらはJava to Go in-depth tutorialの日本語訳です 原文の著者に許諾を得て翻訳・公開いたします。 このチュートリアルは、JavaプログラマーがすばやくGo言語にキャッチアップできるようにすることを目的としています。 目次 Hello stack 主な違い シンタックス(文法) 定数 構造体 ポインタ スライス 値の作成 メソッドとインターフェース エラー PanicとRecover ゴルーチンとチャネル Hello server Hello stack 1まずはじめに簡単な例を見ていきましょう。この例ではシンプルな抽象データ型をGoで実装しています。 // collectionパッケージはstring型を格納できるスタックを実装している package collection // Stackのゼロ値はすぐに使用できる空のス

                    JavaプログラマーのためのGo言語入門 | フューチャー技術ブログ
                  • そろそろExcelで資料作るのやめたい - Qiita

                    (追記) このアイデアを一部利用したエディタを作りました→完全に単一のHTMLファイルで動作するMarkdownエディタ作った 概要 Excelの代わりにHTML5+markdownを使うといいんじゃないの?というお話し。 エクセル方眼紙つらい SIer界隈ではいまだにExcelが大流行です。Excelは使いどころさえ間違えなければ大変強力で便利なツールですが、いかんせん使いどころを間違えた資料が多すぎるなと感じています。 例えば開発環境などの導入手順書とかバグの調査報告書とか、どう考えてもExcelに向いてない資料まで頑張ってExcelで作っていたりします。使いどころを間違えたExcelの資料は、非常にメンテナンス性が悪いです。 Excelで作られた資料を手直ししたら改行位置がずれて一行一行手動で直した 1行増えただけで罫線がずれて1ページ1ページチマチマと泣きながら直した 追記しようと

                      そろそろExcelで資料作るのやめたい - Qiita
                    • Javaのクラス宣言5種+α - プログラマーの脳みそ

                      Javaのクラス宣言には5種類ある。 トップレベルクラス・ネストしたクラス・内部クラス・ローカル内部クラス・匿名クラス(無名クラスとも言われる)の5種類だ。 今回はこの5種類のクラス宣言のおさらい。 トップレベルクラス これは普段使っているクラス。拡張子が.javaのファイルを作り、そのファイル名とクラス名を合致させなくてはいけない。そのjavaファイルのトップレベルに位置する。 ネストしたクラス 「ネストしたクラス」(Nested class)とはクラスの中にクラスがネストしている状態。トップレベルクラスの内側にstaticキーワードをつけてクラス宣言を行う。 public class Outer { public static class Nested { } } このネストしたクラスは、トップレベルクラスと同等の機能性を持つ。 クラス名はOuter.Nestedという名前で扱われるが

                        Javaのクラス宣言5種+α - プログラマーの脳みそ
                      • Goに入ってはGoに従え

                        Goに入ってはGoに従え Go Conference 2014 autumn 30 November 2014 鵜飼文敏 Fumitoshi Ukai Google Software Engineer - Chrome Infra team Go Readability Approver Go言語のReadabilityをレビューするチーム コードレビューを通じてGo言語のよいコードの書きかたを教える メインのプロジェクトとは別のコードをレビュー 一年前くらい前に参加して 20% timeで 200くらいのCLをレビューしました 今は一日3CLくらい、週に12CLほどのペースでやっています Gopher by Renée French 2 Readabilityスキルとは? プログラミング言語のリテラシー 作法にかなったやりかた で、読んだり書いたりできる能力 言語ごとに作法が違う C++

                        • Rust で Web バックエンド開発をはじめる | CyberAgent Developers Blog

                          こんにちは。サイバーエージェント AI 事業本部 Dynalyst にて、ソフトウェアエンジニアをしている豊田(@helloyuki_)です。また、Rust 領域における Next Experts も務めています。 先日、CA BASE NEXT という CyberAgent が開催する20代が中心のカンファレンス[^1]に、私も一応20代ということで登壇させていただきました。 内容は Web アプリケーション開発を Rust で行った体験談を語るというものでした。実際に2018年〜2020年頃に Rust をとあるチームのアプリケーションに導入し、引き継ぎのために何をしたかという内容をお話させていただきました。 セッション自体は25分しかなく、またコード例をスライドからかなり削るなど、CG スタジオ仕様への対応が必要でした。というわけで、十分に伝えたいことを盛り込めたわけではありませんで

                            Rust で Web バックエンド開発をはじめる | CyberAgent Developers Blog
                          • そのクソコード、Intellij IDEAでチェックできるよ

                            愛知県でシステムエンジニアとして働く友人のMは、プロジェクトメンバの書くJavaのクソコードに苦しめられているそうです。Mはリードプログラマとして、プロジェクトメンバがあげてくる成果物(ドキュメントとコード)のレビューをする立場にあるらしく、提出されてくる数々のクソコードをTwitterでつぶやいていました。 Mを救うことはできるのでしょうか? もし、クソコードをすばやく見つけることができたら救えるのであれば、救える見込みはあるかもしれません。 コードの問題を見つける静的解析ツール クソコードとは、おおむね次のような問題のあるコードをさすようです。 潜在的バグ バグの可能性があるコード。 重複 機能追加やバグ修正を困難にしがちなコードの重複。 設計上の問題 クラスやパッケージ間の依存関係、多すぎるメソッド引数など。 慣習違反 プログラミング言語やライブラリの慣習、コーディング規約などに違反

                            • 「Scala言語らしさ」を理解しよう! オブジェクト指向と関数型プログラミングの融合とは?|ハイクラス転職・求人情報サイト AMBI(アンビ)

                              「Scala言語らしさ」を理解しよう! オブジェクト指向と関数型プログラミングの融合とは? プログラミング言語Scalaの設計思想にあるという、オブジェクト指向と関数型プログラミングの融合(fusion)という理想と、それを掲げつつも現実主義的な点について、水島宏太(kmizu)さんが解説します。 kmizuと申します。株式会社ドワンゴでエンジニアを務めています。 最近では、毎年の新卒エンジニア向けScala研修の講師や、N予備校 プログラミングコースの一部教材のレビューといった教育、および研究等の面でも活動しています。 ドワンゴでは、私が入社した時点でScalaがかなり採用されており、社内にScalaをより深く広めることも職務の一環でした。私は2007年くらいの、Scalaがまだほとんど注目されていなかった頃からScalaを触り始めており、その縁で新卒エンジニア向けのScala研修資料作

                                「Scala言語らしさ」を理解しよう! オブジェクト指向と関数型プログラミングの融合とは?|ハイクラス転職・求人情報サイト AMBI(アンビ)
                              • node.js におけるエラー処理のコーディングパターン (もしくは非同期 JavaScript における例外処理) - kazuhoのメモ置き場

                                node.js を代表とする JavaScript を用いた非同期プログラミング環境においては、コーディングパターンのベストプラクティスが共有されておらず、結果として品質の低いコードが多くなるという問題があるように思います。そこで、特にエラー処理をどう書くべきか、既存のライブラリを使う方法を紹介してみることにしました。 いきなりですが、ファイルの文字数を返す関数を作ることを考えてみます。Java だと以下のような感じになるでしょうか。countChars メソッドに注目すると、エラーを例外として扱っていて、モジュラーかつ簡潔になっていることがわかります。 class FileCounter { static long countChars(String filename) throws IOException { FileInputStream is = new FileInputStre

                                  node.js におけるエラー処理のコーディングパターン (もしくは非同期 JavaScript における例外処理) - kazuhoのメモ置き場
                                • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

                                  やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

                                    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
                                  • Getter/Setterを避けて役に立つドメインオブジェクトを作る - かとじゅんの技術日誌

                                    Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んでます。モデリングに関しては成分薄めですが、よい本だと思います。はい。 Clean Architecture 達人に学ぶソフトウェアの構造と設計 作者: Robert C.Martin,角征典,高木正弘出版社/メーカー: KADOKAWA発売日: 2018/07/27メディア: 単行本この商品を含むブログを見る 本書の大筋から少し逸れるが、「5章 オブジェクト指向プログラミング」の「カプセル化」が面白かったので、これを切り口にモデリングについて考えてみる。 OO言語のカプセル化はすでに弱体化している オブジェクト指向の三大要素の一つである、カプセル化について、以下のようなことが書いてあります。 「カプセル化」がOOの定義の一部となっているのは、OO言語がデータと関数のカプセル化を簡単かつ効果的なものにしているから

                                      Getter/Setterを避けて役に立つドメインオブジェクトを作る - かとじゅんの技術日誌
                                    • Go言語(Golang) はまりどころと解決策

                                      Go の言語仕様はシンプルで他の言語に比べてはまりどころが少なくて学習コストが小さめな言語のように思います。しかし、それでもはまるところがないわけではないので、自分がはまって時間を無駄にしてしまったことを書き留めておきます。 念の為誤解のないように追記しておくと、この文書の目的は Go を批判することではなく Go が Go であるがゆえに C++/Java/Python など利用者が Go を使い始めるときに困惑あるいは誤解するであろうポイントをまとめておくことで初めて Go を触る人がスムーズに Go を使い始められるようにすることです。私個人は Go はバランスがとれた良い言語でだと思いますし、気に入っています。 目次 interface と nil (Go の interface は単なる参照ではない) 文献 メソッド内でレシーバ(this, self)が nil でないことをチェ

                                      • Javaがパブリックスタティックヴォイドメインの呪文から解放される - きしだのHatena

                                        みなさん、今日もパブリックスタティックヴォイドメインしてますか? ジャバと言えばパブリックスタティックヴォイドメインですよね。 最近はIDEでmain[tab]と入力すれば補完してくれるとはいえ、コードを読むときには目に入ってきたりしますね。 そんなパブリックスタティックヴォイドメインの呪文から解放される日が近づいています。 TL; DR 9月リリースのJava 21の試用機能として void main() { System.out.println("Hello"); } をhello.javaで保存したら、java hello.javaで実行できるようになります。 (Java 21では--enable-preview --source 21が必要) Javaではプログラムを開始するときにpublicなclassなどにStringの配列を受け取るpublicでs

                                          Javaがパブリックスタティックヴォイドメインの呪文から解放される - きしだのHatena
                                        • JVM上で動くWebアプリケーションがリソースを食いつぶす原因を探るためにやったこと【Backlog Play化プロジェクト】

                                          ヌーラボでScalaを書くRubyistの谷本です。ヌーラボでは、Backlogの開発を担当しており、最近ではBacklogをJavaからScala / Play Frameworkに移行するプロジェクトのメンバーでした。 BacklogのPlay化プロジェクトでは、OutOfMemorryError(以下、OOM)の発生やCPU使用率とロードアベレージが上がったままという、Java Virtual Machine(以下、JVM)上で動くBacklogのパフォーマンスに関する問題に対処すべく、何度かHeap/Thread dumpを見る機会がありました。 私がPlay化プロジェクトで取り組んだパフォーマンス改善の知見や経験をもとに、本記事では「JVMで起こったパフォーマンスの問題の切り分け方」についてお届けします。 はじめに 本番環境でしばらく動かしていると、コード自体は正しく実行できるけ

                                            JVM上で動くWebアプリケーションがリソースを食いつぶす原因を探るためにやったこと【Backlog Play化プロジェクト】
                                          • Javaで「はじめてのプログラミング」を教えるのはキツイと思った話 - GoTheDistance

                                            2017年4月から人生初めての新人研修講師を務めさせて頂くことになりました。プログラミング入門がテーマです。 先方は昨年までJavaでカリキュラムを組んでいたんですが、JavaをやめてPythonでやらせてもらえないかと提案し快諾頂きました。プログラミングの入門書を書いたから特に感じることなんですけど、Javaはプログラミングの初学者に向いていない言語だと思います。 クラスありきの言語設計 それがJavaの良いところでもあると思いますが、プログラミング自体が初めての方を対象に考えた場合、はじめの一歩として不適切だと感じます。 Hello Worldが重たすぎる お馴染みのHello Worldです。初めてのプログラミングで以下のコードを見たら、何のことやら分からないでしょう。 public class Test { public static void main(String[] args

                                              Javaで「はじめてのプログラミング」を教えるのはキツイと思った話 - GoTheDistance
                                            • その例外、いつキャッチするの?

                                              はじめに 最近、若手のコードレビューをしていて例外の使い方を教える機会があったので、ブログの方にもまとめたいと思います。今回はバッチ編。オンラインだとまた少し違う観点があると思います。また、言語はJavaを前提していますが考え方は例外機構をもつ言語ならあまり変わりません。 TL;DR 例外は原則キャッチしない。バッチは速やかに殺せ 個別箇所でログを出さずに必要な業務情報はExceptionを入れ子にして乗せる 長いバッチのためにはスキップもやむなし 原則、例外はキャッチしない JavaにはErrorとExceptionが存在し、OutOfMemoryErrorとかプログラム上ではどうしようもないものがエラー、ファイルが存在しない(FileNotFoundException)とかプログラム側でハンドリングするもの、と教科書では習うと思います。なのでException系はキャッチするものと、と

                                                その例外、いつキャッチするの?
                                              • rails install

                                                目次 2005年11月30日 - 原稿出し / 2005年11月29日 - セキュリティシステム、テクノロジー、プラクティスを分析・評価する5つのステップ / 仕事 / 『暗号技術入門 —— 秘密の国のアリス』増刷 / 2005年11月26日 - 高橋メソッドのプレゼンテーションをflashのローカルファイルとして作るには? / 2005年11月25日 - 日記ダイジェスト更新 / 2005年11月23日 - よかった探しリース / 打ち合わせ / 2005年11月22日 - 「テトラちゃんと相加相乗平均」のLaTeXファイル公開 / 気持ちのよい朝 / 2005年11月21日 - 年末進行 / お仕事メールとWebサイト / 2005年11月20日 - 日曜日 / 数学ガール / 2005年11月19日 - おせんべいの対話 / 2005年11月18日 - Tropy: 2005年11月

                                                • Javaバイトコード入門

                                                  1. わかる !Java バイトコード ― 30 分でわからない ?Java バイトコード入門 筑波大学大学院 システム情報工学研究科 博士後期課程 水島宏太 2. 自己紹介とか Twitter: @kmizu はてな : id:kmizushima github: http://github.com/kmizu/ 大学院生 構文解析の研究とかやってます 特に Packrat Parsing Scala 好き Scala の布教活動をあちこちでやったり JVM 好き JVM 上で動作する言語処理系 Onion を開発 3. Agenda プログラミング言語としての Java バイトコード マシンモデル 型システム 命令セット クラスファイルベリファイア ベリファイアがはじく操作の例 簡単なプログラムを javap で逆アセンブルする 役に立つかもしれない javap のオプション解説 クラ

                                                    Javaバイトコード入門
                                                  • シュッと golang に入門する話 - ちなみに

                                                    photo by ajstarks なんか最近みんな書いてる golang 。OSS へのコントリビュートチャンスも増えてきました。自分でバリバリ書くには時間も自信もない。でも、バグ修正くらいならやってみたい。それくらいの目的のために最低限必要な知識を書いてみました。 この記事では、自分ではバリバリ書けないけれど、golang の OSS プロジェクトには貢献したいという人向けに、出来るだけシュッと学べるように重要なポイントのみ絞って紹介していきます。 初心者向けの優しい解説記事という訳ではないので、自分で調べるためのキッカケとしての読み方を想定しています。また、自分自身が想定読者のため、間違ったことを書いている可能性もあります。という逃げも書いておきます。 開発環境 基本的に Mac OSX + HomeBrew + Atom を前提とします。といいつつ、golang も Atom もす

                                                      シュッと golang に入門する話 - ちなみに
                                                    • Rubyの生産性の高さはどこまで本当か? - 分裂勘違い君劇場 by ふろむだ

                                                      もの人がブックマークしているこの「Rubyを仕事に使うべし!」という記事で書かれているRubyの優れた特徴は、実際のところ、どの部分が、どこまで本当なのでしょうか? 少し検証してみたいと思います。 「Rubyがスゴイ」とされる点のどれがホントでどれがウソ? 「Rubyを仕事に使うべし」では、まず、Rubyの特徴として、 (1)いろんな言語のいいとこ取り (2)構文が強力 (3)楽しくプログラミング (4)問題が起こりにくいように設計されている という点を冒頭で掲げています。 まず、これらをどのように検証すればよいか、考えてみます。 まず、(1)のいいとこ取りについては、いいとこ取りをし続けながらいつも進化しているのは、最近の言語はみんなそうで、それはRuby独自の特徴でもなんでもありません。 たとえば、C#は、その典型で、VM、自動メモリ管理、パッケージによる名前空間管理、マルチスレッド、

                                                        Rubyの生産性の高さはどこまで本当か? - 分裂勘違い君劇場 by ふろむだ
                                                      • プログラミング言語論入門 - riswu’s blog

                                                        第0章. なぜ Scala を使うのか? はじめに 本稿は、John C. Mitchell 氏らによる Concepts in Programming Languages を基に自身の見解を交え、私がなぜ Scala を好んで使うのかを論じた記事になります。 プログラミング言語の歴史 本題に入る前に、プログラミング言語の歴史について紹介します。 年代 言語・イノベーション 1950 Fortran and Cobol 1960 Lisp and Algol 1970 Abstract data types (Simula, C, SQL) 1980 Objects (Smalltalk, C++) 1990 Java, JavaScript, Python, Ruby これは、年代ごとに開発された言語およびイノベーションを表にまとめたものになります。ただし、この表には欠けている事柄があり

                                                          プログラミング言語論入門 - riswu’s blog
                                                        • 時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena

                                                          この文章みてください。 オレはもう20年以上システム業界にいるけどな、その長い経験から言うと、オブジェクト指向なんてものは、理論としては面白いけど、およそ実用的とは言い難いものだな。まぁ、例えばGUIのコンポーネントとかはオブジェクト指向に基づいて作られているようだから、そういうツールとかを作る人には必要なものなのかもしれない。しかし君たちがいずれ作ることになる業務アルゴリズムにはまったく無縁のものだと思ってもらって間違いない。どうもこの業界、オブジェクト指向でなければダメ、というような風潮がまかりとおっているけどな、オブジェクト指向なんか本当に使っている人はほとんどいないよ。オレも少し勉強してみたけど、カプセル化とかポリ何とかとか、どうにも利点が理解できなかったね。実際、実業務で使ったことなどないしな…… 「またお前、オブジェクト指向の話をしてるのか」と思ったかもしれませんが、2010年

                                                            時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena
                                                          • Goはオブジェクト指向言語だろうか? | POSTD

                                                            “オブジェクト指向”の意味を本当に理解するには、この概念の始まりを振り返ることが必要です。最初のオブジェクト指向言語はSimulaという言語で、1960年代に登場しました。オブジェクト、クラス、継承とサブクラス、仮想メソッド、コルーチンやその他多くの概念を導入した言語です。おそらく最も重要なのは、データとロジックが完全に独立したものであるとする、当時では全く新しい考え方をもたらしたことでしょう。 Simula自体には馴染みがない方も多いかもしれませんが、Simulaからインスピレーションを得たとされるJavaやC++、C#、Smalltalkといった言語は皆さんよくご存知でしょう。さらにそこからインスピレーションを得たものとしてObjective-CやPython、Ruby、JavaScript、Scala、PHP、Perlなど様々な言語があり、Simulaは現在使用されているポピュラーな

                                                              Goはオブジェクト指向言語だろうか? | POSTD
                                                            • モナドはメタファーではない · eed3si9n

                                                              2011-05-28 Scala界の関数型プログラミング一派を代表する論客の一人、@djspiewak が 2010年に書いた “Monads Are Not Metaphors” を翻訳しました。翻訳の公開は本人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2010年12月27日 Daniel Spiewak 著 2011年5月29日 e.e d3si9n 訳 僕は今、約束を破るところだ。およそ三年前、僕は絶対にモナドの記事だけは書かないと自分に約束した。既にモナドに関する記事は有り余っている。記事の数が多すぎてその多さだけで多くの人は混乱している。しかも全員がモナドに対して異なる扱い方をしているため、モナドの概念を初めて学ぼうとする者は、ブリトー、宇宙服、象、砂漠のベドウィン (訳注: アラブ系遊牧民) の共通項を探す努力をするハメになっている。 僕は、この混乱した

                                                              • 15分で始めるScala - | Scala Cookbook

                                                                これはScalaを使った開発の雰囲気を感じてもらうための文章です。 ここでできるようになること Scalaプロジェクトの作成 簡単なScalaコードの作成 テストコードの実行 ログの表示 コードの実行時間の計測 システムにインストールできる形のパッケージを作成 準備 UNIX環境(Linux、 Mac OS X、あるいは Cygwin をWindowsでセットアップする) javaコマンドが使えること (環境変数PATHの設定など) その他、curl, GNU makeなどのコマンド インターネット接続 (ここから15分です) Scalaプロジェクトの作成 Scalaプロジェクトの必要最低限のひな形をGitHub上にscala-minとして作成してあります。以下のようにダウンロードしながら展開します。 $ mkdir myproject $ cd myproject $ curl -L h

                                                                • Java8日付時刻APIの使いづらさと凄さ - きしだのHatena

                                                                  いままでのJavaでは、日付時刻を扱おうとするとめんどくさい割に非常に低機能でした。 Java8では、新たに日付時刻APIが導入され、めんどくささが増しつつ非常に高機能になりました。 (以降、Java8で導入された日付時刻APIを単に「日付時刻API」と表します) もちろん、慣れてきて、ちょっとしたサポートメソッドを用意してやれば、結構使いやすいのですが、それは「このAPIは使いやすい」という評価にはなりません。 つまり日付時刻APIは、慣れないとぜんぜんわからないし、サポートメソッドがないと面倒なコードが必要ということです。 いろいろあってよくわからない 日付時刻では、時点を扱うInstantや期間を扱うPeriod、時間量をあらわすDurationなど多くのクラス・インタフェースが導入されています。 これらは、IDEの補完でAPIを探りながら機能を推測すれば、それなりにドキュメントなし

                                                                    Java8日付時刻APIの使いづらさと凄さ - きしだのHatena
                                                                  • [Apiary]Markdownで始めるAPI開発とAPIドキュメント作成 | DevelopersIO

                                                                    APIを作るとき みなさん、毎日API使ってますか?私は、ワンライナーでAPIをコールすることにハマっています。さて、いつも使っているAPIを作る側になったとき、どのように設計していますでしょうか?また、作ったAPIをどのように使ってもらっていますか?そんな疑問に応えるサービスがApiaryです。 Apiaryとは? Apiaryは、REST APIをサクッと書けるサービスです。また、APIドキュメントも生成してくれます。モックサーバも提供してくれます。API利用サンプルコードも作ってくれます。うん、使わないって選択肢は無いですねw。 無料登録すると早速使えるようになります。チームでプライベートなAPI開発をしたければ有料プランを選択してください。 API開発の流れ API開発の流れは、まずはじめにMarkdown形式でドキュメントを書きます。既にサンプルがあるのでこれを使ってみましょう。

                                                                      [Apiary]Markdownで始めるAPI開発とAPIドキュメント作成 | DevelopersIO
                                                                    • Rustで真に安全なプログラムを書く方法 - かとじゅんの技術日誌

                                                                      この記事はRust Advent Calendar 2021の12/8日の記事です。 Rust前提の記事として書きましたが、他の言語にも適用できる考え方なので、ほかの言語勢の方々もよければお付き合い下さい。 今回のテーマは「Rustで真に安全なプログラムを書く方法」についてです。 「真に安全なプログラム」の定義は以下とします。 挙動が安定し、結果が予測可能となる 正しさの基準に基づき、プログラムの間違いを検知することができる 「真に」とはドメイン知識に基づく正しさという意味です。詳しくは後述します。 それと「そもそもRustで実装されるプログラムは安全じゃないのか」という想定質問については「メモリの操作は安全。だが、それだけでは真に安全なプログラムにはならない」が答えになります。これについて興味がある方、ぜひ最後までお付き合いください。 「真に安全なプログラム」を実現するレシピとしては「関

                                                                        Rustで真に安全なプログラムを書く方法 - かとじゅんの技術日誌
                                                                      • はてなブログ読者登録数ランキングベスト100を作ってみた - ゆとりずむ

                                                                        ※最新版をこちらに作りました!対象ブログ数も多いので、是非。 こんにちは、らくからちゃです。 昨日一昨日と、研修で缶詰にされていました( ´Д`)=3 なんでも、 会社:マネージャーは会社の規定上、上級職じゃないとしてはいけない。 ぼく:僕は初級職だからお仕事できないめう・・・。 会社:でも、君は優秀で、小規模案件なので特別に例外ということにする! ぼく:特別に例外ということにする。 会社:これで君も、お給料は据え置きのままでマネージャーだ!おめでとう! ぼく:やっためう!責任も残業も増えるめう! (※弊社には何故か、優秀な社員と小規模な案件が溢れている模様) 会社:一応研修は受けてね。土曜日だけど。 ということで行ってきましたー。 それはさてき、帰りの電車でマイホットエントリーを眺めていて、こんな記事を見つけました。 はてなブログで読者登録数が多いブログってどんな記事なのかなーって気にな

                                                                          はてなブログ読者登録数ランキングベスト100を作ってみた - ゆとりずむ
                                                                        • ドワンゴScala勉強会で学んだ、ハイブリッド言語「Scala」の魅力 | Lab by engineering@dwango.jp

                                                                          こんにちは初めましてー。2011年度新卒の田中です。 12月から急に寒くなってきましたね。 11月が暖かかったからといって油断していませんか? 私は完全に油断していました。まだ冬服を買っていません。 さて、まだ暖かかった11月、ドワンゴでScala勉強会という熱いイベントがありました。 私は最近Scalaを勉強し始めたのですが、この勉強会で、Scalaの魅力的な機能をたくさん知ることができました。 今回はScala勉強会から持ち帰った情報や今まで私が勉強してきたことを元に、Scalaのどこが魅力的なのかを記事をしていこうと思います。 それではよろしくお願いいたします。 対象読者 Javaを書いたことがある方 Scalaを知りたい方 Scalaを始めたばかりの方 Scala? ドワンゴはエンジニア同士の技術交流が盛んな会社で、プログラミング言語を中心に日々、情報交換、議論が行われています。

                                                                          • Goのロギングライブラリ 2021年冬 - moriyoshiの日記

                                                                            この記事はPySpa Advent Calendar 2021の14日目のエントリーとして書かれました。昨日のエントリーは冷凍食品でウキウキ引きこもり生活 でした。ちなみに私も70ℓの冷凍庫を購入しましたが本当にライフチェンジングでした。 総論: なぜログが必要か 可観測性 たとえ目的は自明でも、その動作までが自明なアプリケーションというものはほぼ存在しません。現実の世界のアプリケーションというものは、動作パラメータだったり実行環境だったり、起動時点でのさまざまな要因によって挙動を変えるものだからです。そして、そうしたアプリケーションにはライフサイクルというものがあります。ここでいうライフサイクルは、アプリケーションの処理が実行されるにつれ、アプリケーションの内外との情報のやりとりで生じる大局的な状態の変化のことです。アプリケーションが並行処理を行うようなものであれば、個々の並行処理の単位

                                                                              Goのロギングライブラリ 2021年冬 - moriyoshiの日記
                                                                            • Java7からJava16までの変遷。 - Qiita

                                                                              まえがき ずっとJava11を使っていました。そのためすっかりラムダ式やStreamAPIでの書き方に慣れていたのですが、最近Java7を使って稼働しているプロジェクトに異動したので、何ができて何ができないのか、ちょっと調べてみました。 Javaの変遷 私見ですが主要だと思う仕様変更を並べてみました。アプリ実装に関係する部分のみピックアップしています。 このバージョンのこれは入れておいたほうが良いよ!との意見がありましたらコメントにぜひお願いします。 Java8 2014/03/18 正式リリース(GA) https://openjdk.java.net/projects/jdk8/ ラムダ式 https://openjdk.java.net/projects/lambda/ https://qiita.com/sano1202/items/64593e8e981e8d6439d3 pub

                                                                                Java7からJava16までの変遷。 - Qiita
                                                                              • Javaでセミコロンなしでプログラムを書く - プログラマーの脳みそ

                                                                                java-ja温泉2日目の夕食。 @yoshiori がpythonのワンライナの楽しさを得々と語っていた。 @yoshiori「Brainf*ck を Python-oneliner にコンパイルする Python-onelinerを書いたけど全ッ然反応がなかった。こんなに面白いのに!」 @yamashiro「だって分かりにくいもん」 西尾先生が通常ワンライナではtry-catchが使えないけど子プロセス立ち上げて例外を出力してパースすればエラー処理ができるとか(http://www.nishiohirokazu.org/blog/2006/08/python_12.html参照)そんな話で盛り上がる中、 @nagise「Javaでセミコロンなしでプログラムが書けるような気がしてきた」 Javaの場合、普通にセミコロン(;)でマルチステートメントにかけるのでただ1行にしようというなら改行

                                                                                  Javaでセミコロンなしでプログラムを書く - プログラマーの脳みそ
                                                                                • 動的型とか静的型の話の前に「作者の気持ち」を考えろ - mizchi log

                                                                                  自分の思考を整理する意味でも、件のアレについて考えたことを書いてみる。 変数に型がないということの利点について考える - サンプルコードによるPerl入門 http://d.hatena.ne.jp/perlcodesample/20130227/1361928810 この件に触れることはプログラマとしての中二病である。恥ずかしい。マジレス乙だ。 でも気づいたら5000文字も書いてしまったし、公開して酒のんで寝る。 型のフローは機械のためだけでなく、人間に対するものでもある 最近TypeScriptを書いている。こいつを使って、二次元座標上で二点間を求める関数、getDistanceを定義してみよう。 interface IPoint { x: Number; y: Number; } var getDistance = (a:IPoint, b:IPoint): Number => Ma

                                                                                    動的型とか静的型の話の前に「作者の気持ち」を考えろ - mizchi log