どの言語にするか思案中……
現在入門書をいくつか購入して目を通している。
OCaml、Ruby、Common Lisp、Clojure、と今更ながらのRubyも混じっているけど、買ったのでとりあえず全部に目は通しておきたい。時間かかりそうだけど。
オンラインのドキュメントで大丈夫そうなのとしてPython(Dive Into Python 3)にも目を通す予定。
とはいえ、随分昔の知識と合わせてみても、やはり言語仕様自体が簡単な印象だから時間はあまりかからない予定。
これらに加えて慣れているもの、使ったことがあるもの、学習したことがあるものとして、PHP、JavaScript、TypeScript、Go、Scalaなどがある(Javaは少しだけさわり、Haskellは本を一読した程度)。
PHP、JavaScriptは仕事で使っているので特に対象とはしないとして、さて、どの言語をメインに据えて勉強していこう。
目的としてはデータの収集(Web、テキスト、DB等を対象)と解析。
あとは割りとヘビーな分岐数の組合せ最適化とか。
大量のメモリを消費する可能性が大。
うっかりPCのメモリを使い潰さないようにするにはJVMで動くものがいいだろうか。
そうなるとClojure、Scala辺りが候補になりそう。
とはいえ。VMを立ち上げてそこでテストをするようにすればどの言語でも問題無いといえる。
ある程度の速度も欲しい。
体感的にはGoは速かった気がする。
OCaml、Common Lisp辺りもコンパイルするものだから、速度的には期待できそうな気がする。
Clojure、ScalaはJVMが頑張ってくれるのでこれも良い。
JVM上で動く言語に関しては、JRubyやJythonなどという選択肢もあるが、最新付近の言語仕様に追いついているものではない。どうせなら言語の最新のバージョンを対象としたいのでやめておきたい。
自然言語処理をする必要も出てくるだろう。
が、ココらへんの知識はないので、形態素解析ライブラリが呼びやすいもの、くらいの認識で。
テストをしやすいこと(これはアプリ設計の問題のほうが大きいが)、リファクタリングをしやすいこと、拡張がしやすいこと、それらを含め、気持ちの上での障害も少なく書くことがストレスにならないこと。
これに該当するものとしてどの言語をピックアップするかは、各言語の習得状況に大きく依存するだろうけど。
今の段階では、Ruby、Python、Go、Scala辺りだろうか。
型システムが便利なOcamlも良さそうではある(デバッグが簡単そう)。
さて、どうしよう。
- 作者: M.D. Conrad Barski,川合史朗
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/02/23
- メディア: 大型本
- 購入: 1人 クリック: 18回
- この商品を含むブログ (19件) を見る
- 作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一
- 出版社/メーカー: 技術評論社
- 発売日: 2013/08/10
- メディア: 大型本
- この商品を含むブログ (16件) を見る
- 作者: Stuart Halloway and Aaron Bedra,川合史朗
- 出版社/メーカー: オーム社
- 発売日: 2013/04/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (9件) を見る