Rust—安全で並行実行可能な実用的プログラミング言語
プログラミングに精通している方々の中でもアーリーアダプターの皆さんが新しいプログラミング言語Rustを発見したり、FizzBuzzをプログラミングしていたのを見つけて、私もプログラミング言語Rustのサイトを覗いてみたり、コンパイラをダウンロードしてプログラムを書いてみることにしました。詳しい説明や日本語サイトは誰かが書くと思うので、私が企画していたSapphireに持ち込める良いところがないかを探す・感じる目的で「いぢって」みようと思います。
ソースファイルをチラリとみてみると、LLVMを利用していることがわかります。プログラミング言語の移植性・可搬性を維持するには最善の策でしょう。SapphireもRVM/LLVMどちらでも対応する仕様にしたら面白いかも(どんな仕様だ!?)。
・・・
まだこのブログにはプログラムを見やすく掲載する機能がないので、後ほど更新します。
ところで、並列と並行って、少なくとも情報処理分野では明らかな違いがあるって知ってましたか?小生が学生をしていた頃、「並列コンピュータ SM-1」というのが研究室にあったので、いじっておりました。研究室の教授が某有名ハッカーの先生が要らなくなったというから引き取ったらしいのですが(笑)。小生の研究対象ではなかったんですが、数式処理などで行列方程式のバイラテラル・ユニラテラルな行列を見つけるために素因数分解を研究をしていた(たしかそのはず)の先輩にSunのワークステーションから接続する方法をこっそり教えてもらっていぢっていました。いぢっていたといってもLispかCのサンプルプログラムを動かしてみただけです。Sunのワークステーションが並行処理、SM-1が並列処理という意識をその当時きちんと持っていたかというと持っていなかったでしょう(笑)。
参考
書籍は参照しにくいもんね。日本では電子書籍・EPUBの普及もまだまだだし。
- “parallel と concurrent、並列と並行の違い”, http://d.hatena.ne.jp/keisukefukuda/20100915/p1, 2010年9月15日作成, 2012年1月25日閲覧
- “並列と並行の違い”, http://d.hatena.ne.jp/icysnow/20070807/p1, 2007年8月7日作成, 2012年1月25日閲覧
- “データ処理に関するIT英語「concurrent」「parallel」「distributed」”, http://ascii.jp/elem/000/000/061/61378/, 2007年2月2日更新, 2012年1月25日閲覧