見出し画像

Retro-gaming and so on

RE: プログラミング学習日記 2024/03/13〜

遅ればせながら龍虎氏の記事に対するコメント。

 
 先日図書館で予約しておいた実践Rust入門が届いたので気分転換にパラパラを読み進める。ふ〜ん・・もっとC言語的な書き方をしないといけないのかと思ってたけどそうでも無いんだなぁ、とか

うん。その通り。
と言うか全然違う。見た目C言語に寄せてるけど、内情はかなり関数型言語に近い、です。
と言うか、「C言語の知識でRustを書く」ってのはかなりのピットフォールで、むしろ「関数型言語の知識が豊富」じゃないと使いこなせないんじゃないかな。Lispの知識を活かせるのはもちろんとして、多分一番役立つのはOCaml/F#の知識じゃなかろうか。「強い静的型付け言語」ってのも共通してるしね。
僕に実際、Rustの存在を教えてくれたのはHaskellユーザーだったんだよ。「この言語がスゴイ!」って(笑)。関数型プログラミングに則った形式で書いたソースコードから高速な実行形式を叩き出すコンパイラ、ってのは確かに衝撃だ。一般に関数型言語のコンパイラって高速なバイナリを叩き出す、っつってもC/C++に比肩するか、ってぇと違うしね。ANSI Common Lispのコンパイラは高速なバイナリを叩き出すけど、そもそもCLerは関数型プログラミングをしないし、連中はディスアセンブルかけながら最適化する、って言う悪癖もある(笑)。
いずれにせよ、むしろ「C言語のようにRustを書く」ってのは間違ってると思う。こいつの正体は「Cの皮を被った関数型言語コンパイラ」だ。
アレだな、Mozilla(Firefoxの作成元)の所属者って一番ハッカーの存在率が高いんじゃなかろうか(Googleより)。JavaScriptも「Cの皮を被ったLisp」だし、関数型言語の愛用者や理解者の比率が極めて高い気がしてる。ブラウザ用の仮想アセンブリ言語であるWebAssemblyなんか内部表現はS式だぞ(笑)?中身がほぼLispだ(笑)。
Mozillaはスゴイ。今後も色々と面白いブツをリリースしてくれるんじゃなかろうか。

ひょっとすると無意識の領域で理解が進んで本番で理解が容易になるかも知れんし。

うん。ホントマジで、今ならC言語を先に学ぶよりRustの方がいいと思う。Cに比べると関数型言語経験者に於いては分かりやすいんじゃなかろうか(ポインタ代わりの所有権&参照スマートポインタ、とか難所があるが、C言語程「汚く」はないだろう)。
と言うわけで頑張って。
  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「RE: プログラミング学習日記」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事