http://labs.timedia.co.jp/2013/08/post-22.html
ゲーデルの証明を一つずつプログラム言語で記述してしまえばいい!
そういうことならHaskellでしょう。だってHaskellのプログラムってそのまま数学の証明みたいだもんね!
まあそんな野望を抱いて最初の1章を読み終え、さてそろそろプログラムを書くか...
とHaskellに詳しい同僚に相談してみました
「無理っすよ、Haskellは述語論理(∀とか∃とか)を表現できないですから!
Haskellに述語論理をのっけたAgdaってのがあります」
これか↓
Wikipedia - Agda
The Agda Wiki
http://wiki.portal.chalmers.se/agda/pmwiki.php
チュートリアルは、PDFで論文ちっくに書かれてある。
ざっと見た感じ、わけわからん。
定理を証明するだけなら、そういう言語がいろいろあったよな、、、、
Wikipedia - 自動定理証明
これとか。
あと、証明プログラミングっていうのも面白いネタよね。
Coqなんかはちゃんと使えると楽しいのかなあ。
すげぇと感心しつつ、Haskellさえちゃんとやったことのない身としては恐怖を覚えたのでした。
嘘は良くないなあ。
Haskellいじりもしてたような記憶があるんだがw
http://www.startup-dating.com/2012/07/developer-programming-languages/
適材適所ではあるけど、今はこういう選択になるのか。
なるほどな、と思ったところをピックアップ。
金融の計算において、関数型言語は確かなパフォーマンスで利益をもたらす。
...
JavaやC#言語で書かれているのは.....、、
多くの言語が対応できない保守性を提供することができる。
クリエイティブ・ワークでは....
素早いプロトタイピングできる言語が必要とされる。
...
スクリプト言語は、動的であり、最少量のコードを書けば、
最大の機能を提供できるようになっている。
パターンや根底にあるコード設計はそれはど重要視されない。
企業向けシステム(エンタープライズ)において重要なのは、
再利用可能で、パターンベースで、しばしば複雑かつ大規模な
階層化アーキテクチャの設計手法を必要とするシステム
COBOL、Fortran、Cは今だに使われてると思うんだけど、
そうでもないのか?
それとインフラの分野で使われてる言語は
やっぱり特殊なんじゃないかとも思った。
インフラでは、システムとシステムを繋いだり連携が必要で、
保守性と生産性を同時に満たす必要がある。
シェルスクリプト、Perl、Ruby、Python等のスクリプト言語が、
そういう用途には便利。
TclやLua等の若干マイナーな言語もネットワーク機器では
普通に使われているのでその辺もなんとなく使えると良いかな。
それとSQLなんかもわりと普通に使うなあ。
awkは超便利。
あー、泥臭いな、やっぱり。
http://blog.pineappledesign.org/post/27581310169
面白い視点だな。
楽をするために、間違いをなくすために、道具とやり方を選ぶ、
というのが言語を選ぶ理由なんだけど、
たしかにややこしさ、面倒臭さ、をなんとかする、
という発想で、いろいろなものが進化してきてる気はする。
この考え方って、コンピュータ言語だけじゃなくて、
ネットワークアーキテクチャやシステムアーキテクチャにも
拡張できる考え方なのかも、と思った。
何が問題なのか、何がややこしいのか、ということを、
考えることによって、いろいろと見えてくる?
OpenFlowや、クラウド基盤なんかも、そういう視点で
ぼやーって見てると、どう管理するべきかが見えてきたりする?
というか誰かうまいやり方を見せて欲しい。
http://plus.appgiga.jp/masatolan/2012/06/05/24332/
面白いかも。
でも実際にやってみると、ドラッグ&ドロップと言っても、
普通に言語を書くのと変わらんなあ。
推論型のパーツを置いてってゲームを解かせる、みたいなものだと
こういうUIと相性が良いのかもな、と思った。
http://sourceforge.jp/magazine/12/06/05/0616220
Kotlinは静的型付け機構を持つオブジェクト指向言語で、Javaに似た文法、
Javaとの完全互換などを特徴とする。
KotlinコードはJava仮想マシン(Java Virtual Machine、JVM)バイトコード
およびJavaScriptコードにコンパイルして実行できる。
そのほか、Androidサポートも特徴となる。別途Android SDKが必要だが、
kotlinを用いてAndroidアプリケーションを開発できるという。
流行るのかしらねえ?
http://d.hatena.ne.jp/yomoyomo/20120607/proglang
1. Stack Exchange と GitHub を分析:後者は個人プロジェクトのホストが多く、
新しめの言語に偏りがちなのに注意
2. Hacker News での投票:読者層が一般レベルの開発者を反映してるわけじゃないのに注意
3. Dice.com の募集職種一覧:現実世界のニーズを反映してるが、
プログラマー側の好みは反映していないのに注意
4. プログラミング本の売り上げ(参考):新しめの言語のほうが本が売れやすいのに注意
5. Google 検索:言語名よりも具体的なフレームワーク名のほうが検索されやすいのに注意
こういうのを調べやすくするために、新しい言語やソフトウェアなんかは、
他で使われていないキーワードを使って欲しい。
古い人は、diablo を altavista で検索してそのことを実感している。