1 ポイント 投稿者 GN⁺ 2024-06-19 | 1件のコメント | WhatsAppで共有

私がHaskellを学ぶのに15年かかった理由

Haskellとの最初の出会い

  • Haskellは20世紀のスコットランドの論理学者たちが作った関数型プログラミング言語である。
  • 2006年ごろに初めてHaskellに触れた。
  • 大学時代に自主研究を通じてHaskellを学び始めたが、実際にはあまり多くを学べなかった。

実戦でのHaskell

  • 2009年にXmonadというタイル型ウィンドウマネージャを使いながら、Haskellにもう少し触れるようになった。
  • Xmonadの設定ファイルがHaskellで書かれており、これを通じてHaskellを少しずつ理解するようになった。

Elmを通じた学習

  • ElmはHaskellに似た言語で、Elmを通じて関数型プログラミングの概念をより簡単に理解できた。
  • Elmを使ってダッシュボードページを作りながら、関数型プログラミングの原理を学んだ。

Haskellに戻る

  • Elmを通じて学んだ知識をもとに、HaskellライブラリのShakeを使って静的サイトビルダーを作った。
  • その後、PythonでもHaskellの概念を応用して、より良いコードを書けるようになった。

最初の役に立つHaskellプログラムを書く

  • 2023年にフリーランスとして働きながら、時間追跡プログラムをHaskellで書くことになった。
  • このプログラムはコマンドラインオプションをパースし、データベースとやり取りする機能を持つ。
  • ついに役に立つHaskellプログラムを書けるようになり、大きな達成感を感じた。

GN⁺の見解

  • 関数型プログラミングの利点: Haskellのような関数型言語は、不変性と純粋関数を重視することで、コードの予測可能性と安定性を高める。
  • 学習曲線: Haskellは学ぶのが難しいが、Elmのような類似言語を通じて段階的にアプローチするのが効果的かもしれない。
  • 実戦適用: 実際のプロジェクトでHaskellを使うと、関数型プログラミングの原理をより深く理解し、適用できる。
  • ツール選択: ShakeのようなHaskellライブラリはビルドシステムの構築に有用で、これを通じてHaskellの実用性を体験できる。
  • コミュニティと資料: Haskellコミュニティと多様な学習資料を活用すれば、学習過程で大いに助けになる。

1件のコメント

 
GN⁺ 2024-06-19
Hacker Newsのコメント
  • 関数型プログラミングを学ぶことには価値があり、15年もかかるわけではない。Haskellではドメインデータを宣言的にモデリングし、純粋関数で処理し、プログラムの境界で現実世界と相互作用するやり方が自然である。初心者にはF#を勧める。
  • Prologは関数型プログラミングを理解するうえで、より多くの洞察を与えてくれる。言語を理解するだけなら数日しかかからないが、その結果を理解するには時間がかかる。
  • Haskellを学ぶための良いリソースを薦めてほしいという要望。以前からHaskellに関心があり、F#を使ったサイドプロジェクトで関数型プログラミングの概念をいくつか内面化したが、モナドの理解が足りない。
  • リンク: Haskell学習リソース
  • 著者のコードを見たいという意見。著者の歩みがどのような成果を生んだのか気になる。
  • リンク: 著者のコードを見る
  • 純粋関数型プログラミング言語を学ぶ利点についての質問。現実世界のデータやイベントを扱うコードを書くとき、最適化されたコードと知的好奇心の境界が曖昧になる。
  • Haskellに惹かれる理由は、ドメインデータを宣言的にモデリングし、純粋関数で処理し、プログラムの境界で現実世界と相互作用するやり方が自然だからである。これはHaskellに限らず、ほかの言語でも好んでいるやり方である。
  • Haskellが20年前に熱い話題だったころ、MLもよく議論されていた。今日ではMLはほぼ機械学習を意味する。
  • 15年、あるいは何もなし。