Programmer's Note

コード読み書きの備忘録。

久々ブログ再開&振り返り

戯言でもあとで読み返すと楽しいものだ。久々ブログ。

振り返ると、Clojureを始めたのが2016年、Haskellが2018年。 時間が経つの早いな。 去年の始めは、iOSで簡単なアプリも作って遊んでいた。 (Swiftはくそだな。というのはさておき)

その前にAndroidもやろうとしたがこれは挫折したな。 自分がiPhoneユーザなので、使っていないプラットホームのアプリを作るのは辛い。

関数型プログラミングが面白くて、実用的なものは何も作ってなくても、 codewarsで簡単な問題を解いて遊ぶのは楽しい。

2年くらいやってみた感想として、 Haskellは実に簡潔で美しく、純粋世界だけなら完璧な言語だなと。 しかしMonadが微妙。美をぶち壊している。簡単なことをするのに記述が一気に汚くなる。 Functor、Applicativeまでは美しい。 型があることですごくエレガントなことができる、というのに大いにエキサイティングした。

すべてシンプルなコア仕様に集約されるところは美しいし、言語仕様の一貫性は非の打ちどころがない。 しかし結果としてプログラムの記述が複雑になってしまうところは、やる気が失せる。 プロダクションコードに使うなら純粋な世界だけにして、あとは別の言語から呼び出すがベストかな。

Haskellに比べるとClojureは記法の簡潔性では負ける。 そもそも括弧が無駄だしね。 Haskellの分かりやすいシンタックスはやっぱ楽だ。 Clojureは結局Mapに尽きるかな。Data Oriented。

最近javascript, typescriptを触っているが、利便性は高いけど美しくない。 ごちゃごちゃしている。 関数型じゃないともはややる気にならない自分がいる。(趣味としては) 美しいとかラクを知ってしまうと戻れないってやつだな。

趣味としては面白くないけど、実用性からすればtypescriptだな。というところだな。