プログラミング言語メモ

最初、なぜ誰もjuliaを勧めない、って思ってたのですが、こういうコトだったとメモりながら気付きました… crystal良さげ。
3
Jun Makino @jun_makino

ちょっと前に作った時間対称なんとかのテスト用の数値計算プログラム は、グローバル変数使えないよエラーがでたがそれ修正したらいきなり動いて、 ruby の10倍くらい速くなった。

2018-01-02 21:43:39
Jun Makino @jun_makino

ruby のプログラムのままで、 ruby hoge.rb の代わりに crystal hoge.rb とするだけでとりあえず走る。

2018-01-02 21:43:40
Jun Makino @jun_makino

速い実行ファイルを作るには crystal build hoge.rb --release とするらしい。

2018-01-02 21:43:40
Jun Makino @jun_makino

これはほぼsin, cos 呼ぶだけのプログラムのはずなので、比較的ゲイン小さいと思うので結構これ素晴らしいかも。

2018-01-02 21:43:41
怒らない白井(仮想軒と須雷堕は除く) @tatsuvar

@kikumaco なかなかProcessingがプログラミング教育に好適である事は理解して貰えないのですよねぇ。「Cが基本でしょ」という方が多い。Windows上の開発環境は?と問うとVisual Studioと…。そんな中、いま注目しているのがPictgramming。 wantedly.com/companies/atfi… これはいまとても熱いですよ。

2018-01-02 22:02:34
smectic_g @smectic_g

@jun_makino 早速試していただけたようで、ありがとうございます。ただ、crystalのアプローチであんなに速くなるのならrubyのままでllvmでJITコンパイルするだけで良いんじゃないのかと思ってしまったところはあります。

2018-01-03 08:25:59
Jun Makino @jun_makino

@smectic_g 100%互換のままで色々できなくはないというのを以前平木さんのところでやってましたが、色々あって止まってしまったのは残念なことでした。

2018-01-03 11:38:59
hrk先生 @Prof_hrk

何か教科書作らないといけないかな?今の情報システム入門は言語とアルゴリズムの方々が主に作っているので、計算機械とはかなり離れた内容になっていることが気にはなっています。単純なレジスタマシンと、そのうえで動く単純プログラムが理解できれば第一段階終了とか。

2018-01-03 12:59:41
Jun Makino @jun_makino

ほよ、 inject はないけど reduce はあるのか。(ruby では同じもの)

2018-01-03 13:20:12
Jun Makino @jun_makino

@Prof_hrk @madnoda 実機はFPGAでやるとすれば別になんでもいいので、ISAを定義するとはいかなることかから始めるべきでは?

2018-01-03 13:40:42
hrk先生 @Prof_hrk

@madnoda @jun_makino 計算機械というテキストを作るために最適のISAについてご意見大募集です。

2018-01-03 13:40:59
hrk先生 @Prof_hrk

@jun_makino @madnoda アーキテクチャ本ではなく、計算機械として扱うにはとりあえずgccでコンパイルできる言語であるほうがよいと思います。コンパイラが吐くコードを鑑賞することも重要なポイントなので。

2018-01-03 13:43:04
Jun Makino @jun_makino

@Prof_hrk @madnoda あ、すみません、LLVMは既に仮想マシンではなく単にコンパイラ基盤なので、、、

2018-01-03 13:48:49
Jun Makino @jun_makino

@motokinoshita 駒場は87年(だったかな)に情報処理教育棟ができて、当初 MSDOS+Turbo Pascal でしたが、これは94年に Sun のサーバー+X端末のシステムに変わったあとなので Sun の Pascal です。

2018-01-03 14:02:07