matarillo.com

The best days are ahead of us.

8 草創期のF# -- リリース

2021-09-25 00:00:21

F# “0.5” は、最初はほとんど気付かれていませんでしたが、それは意図的でした:初期実装は多くのものが欠けており、解決するのに時間がかかったからです。 当初の計画は次のとおりです。

  1. 当該言語を採用して使用できるようにする。
  2. .NET Genericsのストレステストに使用する。
  3. 一般公開する。
  4. 成り行きを見守る。

私は、IntelのStrategic CAD Laboratoriesで過ごした時間に影響されていました。 そこでは研究プロジェクトと技術開発において、構造化された「成熟度モデル」が使われていました: Intelのプロジェクトは、「コンセプト」から「コンセプトの証明」「プロトタイプ」という段階を経て、そして製品出荷へと進むものでした。 そのため、現段階ではMicrosoftの「賛同」はありませんでした: 社内でもF# を知っている人はMSR Cambridgeのメンバーおよび彼らと交流のある.NETチームのメンバーを除いてほとんどいませんでした。 6か月後、何度かのイテレーションの後、このプロジェクトは常に最新のスクープを待ち望んでいるインターネットのニュースサイトに取り上げられました。 そして、実装が完全に準備される前に物事が「手に負えなくなった」場合、および「取り込み、拡張し、抹殺する」の告発が起こった場合に備えて、 私はOCamlメーリングリストで釈明することにしました[Boulton 2003]。

ここ数日の間に、このプロジェクトについて完全に推測を元にした(そしてすっかり的外れな!!)インターネットの報道がいくつかありました(例えばinternetnews.comを参照)。 ……F# のWebサイトに次の説明を追加してこのメーリングリストに投稿するのが賢明だと思いました。

……別のことを示唆するような報道はありましたが、 F# は.NET Frameworkで使えるMLのような言語を簡単に実装することが可能であることを実証するために設計された、比較的小さな研究プロジェクトです。 現在、F# を商品化する計画はありません。 ……F# は一般公開されている、現在進行中の研究であり、Microsoft Researchはいくつかのプログラミング言語に関して複数の大学と定期的かつオープンに共同研究を行っています。

当初F# を小さく見せる必要があったという事実は、当時MSRから「製品に似た」ものをローンチすることに対する過敏症のせいでもありました1。 当時、MSRによるすべての公開ソフトウェアは法的/商業的に厄介なステータスを持っていました: ソフトウェアの公開は主に研究/公開アジェンダをサポートするためでした。 予算が10億ドルに近づいたにもかかわらず、MSRはその段階では商業製品の作成とリリースを許可されていませんでした。 MSRはオープンリサーチを強く推奨しましたが、オープンソフトウェアはもっと問題がありました。 しかし、新しいプログラミング言語を設計し、 そして提供する ことは、あらゆるプログラミング言語研究アジェンダの重要な部分であり、 実際、Project 7を支える根本的理由のすべてでもあります。 さらに、これらの技術を外部で「実証」することは、技術を洗練するために不可欠でした。

外部からの認識もまた扱いにくいものでした: コンピューターサイエンス学術界およびハッカー文化から見ると、企業全般 – 特にMicrosoft – は、構造的な敵対者と見なされることがよくありました。 MSRからの提供物はさらに恐れられていました、そして、ある主要な研究者はF# が言語研究を「殺す」だろう、と示唆しました。 振り返ってみると、そのような発想は笑えます – プログラミング言語研究はここ15年の間も花盛りで、何百もの新しい言語が開発されてきたからです – 。 しかしこれらの見解は、反商業主義の偏見、独占主義者と認識されている存在に対する恐れ、および当時のオープンソースソフトウェアに対するMicrosoftの敵対から生じたものです。

いずれにせよ私の信念として、プログラミング言語の領域では、プログラミングの実践に影響を与え、研究の精神とProject 7の当初の目標の両方に忠実であることを目指すならば、一般公開され、商業的に利用可能でなければなりませんでした。 後には、MSRの他の先端プロジェクトが潜在能力を完全には発揮できずに終わることもありました。 なぜならそれらは、技術を実証して有用性の証拠を得るために必要なはずの商業利用可能なリリースを、市場のニッチを占めるのに間に合う時間内に作成しなかったからです。 例としては、AcceleratorおよびDryad LINQがあります。 その一方で、専門知識の集中や、コンピューティングを変革するという長期的な使命を考えると、MSRは言語にとって優れた「制度化された家」を提供したといえます。 Andrew Herbert、Luca Cardelli、Andrew Blakeなどのラボディレクターは、長期間にわたってF# の作業を一貫して支援してくれたものでした。 しかし、一般公開され商業的に使用可能な言語の提供をMSRが行うことは簡単なこととは言えず、最終的には製品チームのサポートが必要になるものでした。

図3. MSR TechFest 2005における、F# 1.0のポスター2枚(写真は筆者によるもの)


インデックスへ戻る


  1. あるレビュアーから、「商品化する計画は現在ありません」という最後の記述が正確かどうかという質問をいただきました。これが事実であったことを確認できます。当時は、F# をVisual Studioの一部として、あるいはその他の方法で商品化する計画はありませんでした。しかし、著者(およびリリースを承認したMSRのマネージャー)にとっては、F# が商業的に役立つだろうという漠然とした願望がありました。 ↩︎