- 著者は、ソフトウェアエンジニアとして10年間使ってきた関数型プログラミング言語 Haskell から離れていく道のりを共有する。
- 著者は、コードを記号的かつ代数的に理解できる Haskell の能力と、堅牢な型システムに惹かれた。
- Haskell の型システムは、過度に制約的でも騒がしくもない厳密な型チェックを可能にし、コードの作成と保守を容易にする。
- 著者は、型を使って不変条件を表現できる Haskell の能力を高く評価しており、これによってコンパイラがロジックを二重に確認し、コードの安全性と正確性が向上する。
- こうした利点にもかかわらず、著者は、スタイル上の新奇性への欲求、不格好なツール、そして継続的な変化という3つの主な理由から Haskell を離れた。
- スタイル上の新奇性とは、Haskell コミュニティが新しい抽象化を実験する傾向を指し、これは革新的である一方でコードの保守を難しくすることがある。
- 著者は Haskell のツールを「悪くない」と評価したが、Rust の cargo ほど使いやすく安定したツールはないと述べた。
- Haskell の継続的な変化、特に定期的に行われる後方互換性のない修正は、言語利用の摩擦を増大させた。
- Haskell から離れた後も、著者は依然としてその強み、すなわちコードを代数的にリファクタリングする能力、型システム、そして宣言的なライブラリエコシステムを認めている。
- 著者は、Haskell を使うべきかどうかは個人の目標次第だと結論づけ、より良いプログラマーになるために Haskell を学ぶことは勧める一方、彼が説明した課題のため主要言語として使うことには注意を促している.
1件のコメント
Hacker Newsのコメント
baseの特定バージョンが結び付いていることは、新しいGHCバージョンがリリースされるたびに依存関係の変更を強いられる問題だと認識されている。