Ryan Lemmer氏からのお返事全文


Ryan Lemmerとは南アフリカのHaskellerであり、
Haskell Design Patternの著者である。
Ryan氏からのお返事は紫で示しています。

Ryan氏からの返事1

Dear Masako,
here are my thoughts, I hope you find some answers in there for your good questions.
Best wishes, Ryan

1. Do you think Haskell is underrated as an industrial, professional
programming language by IT project managers?

Yes, Haskell is underrated by project managers (and many programmers too). Non-technical stakeholders are generally not aware of the differences between dynamic and typed languages. Also, there is a big difference between "regular" type systems and advanced type systems - this is not broadly understood yet (e.g. would a project manager understand the difference between Scala, Java and Haskell?)

Ryan氏からの返事2

2. Do you think that the adoption rate of Haskell in industry will
grow over time? If so, in what area will Haskell be used more
frequently?

Yes, I believe Haskell and advanced type systems are on the rise. Haskell has been used for trading systems, for example, for some time now. Most recently, the birth of cryptocurrencies and the blockchain in general has placed much higher demands on program verification. Haskell is making a strong appearance in this space.

Also, Dependently Typed Programming is becoming more prominent and I believe will sweep through typed languages in the same way that functional programming affected many languages.
Haskell is on its way to become a very practical Dependently Typed language.

Ryan氏からの返事3

3. 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?

I think it depends on what you are writing. For example, Haskell is compelling for a project that demands a higher degree of correctness (e.g. when writing the core of a financial system, or an algorithm, etc).

On the other hand, if it's for a "regular" website backend with low complexity, or code that may be shortlived, it would be harder to justify Haskell.

For choosing Haskell for existing projects that are written in other languages, you would need to have an architecture that allows you to add new parts in Haskell, without having to rewrite entire existing code bases. Architecture becomes a key factor to enable adding Haskell to the system.

Ryan氏からの返事4

4. What would be the factors that may be discouraging project managers
from adopting Haskell?

* Lack of Haskell skills in existing teams
* the perception that it would be hard to find skills in the marketplace
* the fact that it is not easy for managers to justify Haskell to other non-technical stakeholders, simply because Haskell does not come up in the reports and surveys and material that they read and rely on

Ryan氏からの返事5

5. Do you think that adopting Haskell in wider scale in industry will
be a good thing? Will it contribute to enhanced general human
productivy and to a better world?

It depends. A good team can write safe and solid systems in dynamic languages, while a poor team might write weak and buggy systems in Haskell, and vice versa.

Having said that, Haskell demands discipline from a programmer, and over time this makes for more disciplined thinking, which is the best possible thing for programmers and programs.

Ryan氏からの返事6

6.Can Haskell save the overworked engineers?

It depends. A good team can write safe and solid It depends. A good team can write safe and solid It depends. A good team can write safe and solid From the perspective of the developer, Haskell is clean, simple, beautiful, powerful, and many more good things...
But a language can only play a part in changing the way we work (as individuals and as part of teams).

To save the overworked engineers, we must educate our project managers and other technical stakeholders. Ultimately, we must replace our managers and become the decision makers, so that future engineers are better supported to work in environments that are sustainable and healthy.
Most importantly, we must support each other!

感想

本来は素晴らしい構成の色使いをつかったMarkdownでお返事を頂きましたが、
そのまま反映できず残念です。
Ryan氏はとても情熱に溢れており
まだ書き足りない部分があるので後日メールしてもよいかと尋ねられました。
もちろん答えは"Sure!!"
彼は会社を経営/管理しており、
雇用者の視点で他の関数言語(Scala等)との比較して頂き
とても説得力がありました。