遅ればせながらこの記事はHaskell Advent Calendar(その3)25日目の記事です。
教授、先生方からちゃんと返事をしたいとのことで、デットラインを尋ねられ
それが去年の12/31でした。時差も加味し記事を書かせて頂きたく存じます。
Simon Peyton Jones 先生の返事の一部に昨日のアンケートについて
答えてくださった部分がございます。
Simon Peyton Jones先生だけではなく他の教授も答えてくれていますが(その5)で公開したいと存じます.
⛩アンケート内容 ⛩
- Haskellってどういうイメージですか?
- Haskellを拡めるにあたり問題点はございますか?
- Haskell案件を増やす為にはどうしたらいいと思いますか?⛩
Simon Peyton Jones先生のお答え
Quesion.1
Do you think Haskell is underrated as an industrial, professional
programming language by IT project managers?
[要約]
Haskellに対してどういうイメージかというよりはHaskellが商用プログラミング言語として過小評価されていると思われますか?
Answer.1
Yes. But it's not surprising that it's under-rated. It's very different to other (imperative) mainstream programming languages.
(補足)
はい。他の普通のプログラミング言語とは大きく違うので仕方ないと思います。
Quesion.2
(予めお知らせしたい事)
アンケート2につきまして、ゴールとしては、
Simon Peyton Jones 先生には企業のITマネジャーの先生方にHaskellを選択してもらうにはどういう風にHaskellの利点を説明すれがよいかを尋ねました。
What are the strengths of Haskell that could help us to convince IT
managers to consider choosing Haskell when:
- starting up a new project?
- revisiting an existing project?
Answer.2
There are the usual things: productivity, conciseness, parallelism, control of side effects.
But I'll highlight /maintainability/. Most developers spend most of their lives modifying and refactoring existing code. It's a constant source of wonder to me that it's even /possible/ to make large-scale changes to a 20-yr-old Ruby or Python code base. It's so /hard/ to refactor an untyped program written by someone else. What are the consequences of changing this or that?
[要約]
何よりも、生産性、簡潔さ、並列性、副作用の制御が重要です。
然しながら私は、**保守性**を強調したいと思います。
ほとんどの開発者は、人生の殆どを既存のコードの改変や
リファクタリングに費やします。
私にとっては、20年もののRubyやPythonのコードベースに
大規模な変更を加える事が可能な事自体が極めて驚きです。
他の誰かが書いた型の無いプログラムをリファクタすることはとても大変です。
型の無いプログラムのいろいろな部分のコードを書き換えると一体何が起こるかわかりません。Haskellだと型が正しい大規模な改変を導いてくれます。
私はGHCでそのような経験をしました。
Quesion.3
[要約]
プロジェクトにおいて、プロジェクトマネージャーにでハスケルを選択してもらえない理由に何があると思われますか?
What would be the factors that may be discouraging project managers
from adopting Haskell?
Answer.3
I think the biggest thing is simply cultural ecosystem. No one fires you for choosing Python because there are zillions of Python books, Python libraries, Python programmers, ... a huge cultural ecosystem. You feel safe. Haskell has a pretty rich and dynamic ecosystem but it is /smaller/, so the choice feels "braver" and managers don't like feeling brave.
Performance used to be a factor 15 years ago, but I think it's really not now. But there may still be a /perception/ that perf is a problem.
[要約]
何故、プロの商用プロジェクトで使われないのかについては
私は大きい問題と言えるのは文化的生態系だと思います。
貴方がもしPythonを選んでもそれを理由に解雇になることはないでしょう。
なぜなら、Pythonの本もライブラリーもプログラマーも無数にいて文化的生態系は巨大だからです。Haskellはとても充実した躍動的な生態系を持っていますが、Pythonに比べたら小さいです。逆に言えば、もっと大きな生態系を持つようになれば
マネジャーの人々も採用しやすくなるとおもわれます。
ちなみにパフォーマンスは今は問題ではないです。
以上、Simon Peyton Jones 先生からの直々のお返事でございました。
お忙しい中返答くださったことに感謝しております。
私はいろいろな方の伝書鳩として動き日本のハスケラー達がこんなにも頑張っている事を示したかったのでとても良い経験になりました。感謝。