2


3

私は新しいプログラミング言語について面白い考えを持っています。 それは私がしばらくの間私の頭の中で取り組んできた新しいプログラミングパラダイムに基づいています。 私はついに数週間前に基本的なパーサーとそれに対するインタプリタの作業を始めました。

私は私の新しい言語が成功することを望み、そしてそれがリリースされる準備ができたときに私は最終的にそれの周りにコミュニティを作りたいです。 その背後にあるアイデアはかなり革新的なので、ビジネスの世界で大きな基盤を得ることは期待できませんが、一握りのスタートアップやオープンソースプロジェクトがそれを使用するのを見ると、何よりもワクワクするでしょう。

それで、それらの目的を考慮して、私の言語を成功させるために私は何ができるでしょうか? 言語プロジェクトは成功するために何をしますか? どうして私は避けるべきですか? 私は他の言語についての意見や物語(成功したかどうかにかかわらず)を聞きたいのです。だから私は開発を続けながらそれらについて考えることができます。

これまでのところ、私が考えている2つの最大の関心事は、市場を見つけること、既存のライブラリにアクセスすること、素晴らしいツールをサポートすることです。 このリストに他に何を追加しますか?

10 Answer


4


新しいプログラミング言語に固有のものではありませんが、Karl Fogelによるhttp://Princecing Open Source Software](オンラインで読むことができます)には、新しいプログラミング言語を中心にコミュニティを作るという問題へのヒントが含まれています。 。

一般的なプログラミング言語の採用に関しては、最近では開発時間を短縮するために豊富なライブラリーを使用する傾向があるようです。

あなたの言語がどのようなものであるかについてはそれほど詳しくはありませんので、その言語の採用が豊富なライブラリーの可用性に依存するかどうかを判断するのは困難です。 多分あなたの言語は他の言語によって見落とされてきたニッチを埋め、ユーザーを獲得することができるでしょう。 それとも、人々を引き付けるであろう滑らかな名前を持っています - 言語の採用に影響を与えることができる多くの要因があります。

最近成功した言語について考えるときに浮かぶいくつかの要因はここにあります:

  • 新しい言語で既存のライブラリを活用する機能。 他の言語で書かれた外部ライブラリへのアダプタを持つ * PythonPython/C APIを通してCで書かれたコードへのアクセスを許可します。 すでに利用可能なライブラリがたくさんあるプラットフォームをターゲットにしています。 * Groovyとhttp://www.scala-lang.org/[Scala]はJavaプラットフォームをターゲットにしているため、既存のJavaコードの使用と相互運用が可能です。

  • 生産性を高めるための言語設計と構文 RubyやPythonなど、動的型付け言語の多くが人気を博しています。 Javaのような冗長な言語とは対照的に、Groovyのような言語でもっと簡潔で明確なコードを書くことができます。 ** ファーストクラスオブジェクトとしての機能closuresなどの機能を提供するCやJavaなど、より「伝統的な」言語では提供されていません。

  • 言語の恩恵について初心者にも教えても構わないと思っている熱心なユーザーのコミュニティ**人的要因は、言語の広範囲にわたるサポートにおいて大きくなるでしょう - 人々があなたの言語を決して使い始めなければそれはしないでしょうより多くのユーザーを獲得してください。

また、私が付け加えることができるもう一つの提案はあなたの言語の開発をオープンにすることです - あなたのユーザーがあなたの言語の開発について投稿し続けて、そして人々があなたにフィードバックを与えることを可能にします。 さらに良いことに、それが適切であると感じたら、ユーザーに意思決定プロセスに参加させてください。

私は、言語の育成に参加する方法を提供することによって、より多くの人々が彼らが新しい言語の成功に関心を持っていると感じるようになり、そのためそれがより多くの支持を得るようになると思います。

がんばろう!


2


急速に離陸することになるほとんどの言語はキラーアプリによってそれを行います。 CではUnixでした。 RubyにはRailsがありました。 JavaScriptは、サードパーティ製アドオンのないほとんどのブラウザに共通の唯一の利用可能なプログラミングシステムです。

成功のためのもう一つの手段は、フィアットによるものです。 これは、大きな影響力がある場合にのみ機能します。 たとえば、C#は、言語と同じぐらい優れていても、Microsoftがそれほど難しくしていないのであれば、今のところ普及している場所ではありません。 Objective-Cは、Appleがそう言っているだけの理由でMacOS Xの言語です。

ただし、単一のキラーアプリケーションや主要な企業の支援者がいない言語の大多数は、それぞれの作成者への長期投資を通じて成功を収めています。 PerlとPythonがその代表的な例です。 Cの背後には単一のエンティティはありませんが、開発者のニーズが変化するにつれて発展しました。


1


言語を成功させることを試みることを心配しないでください。本当の問題を解決して本当のお金を稼ぐためにそれを使うことを心配する。

あなたはこの言語を使うことからたくさんのお金を稼ぐか、使わないでしょう。 あなたがたくさんのお金を持ったら、他の人はあなたがそれをどうやったかを気にするかもしれません。 そうでなくとも、どちらにせよあなたはたくさんのお金を持っています。

あなたがたくさんのお金を稼がなければ、だれもあなたがそれをどのようにしたか知りたくないでしょう。

*コメントに基づいて編集:*私はそれを使用している人々として成功したと定義し、人々は問題を解決するために言語を使用します。 == お得。


1


言語を使いやすくすること(これにはいくつかの意味があります)に加えて、(以下の最も重要な分野を)網羅した抽象化をカバーする包括的なライブラリを開発する必要があります。 * データ構造と操作 * ファイル入出力サポート * XML処理 * ネットワーキング(およびHTTP / HTTPSなどのWebベースのテクノロジ) * データベースサポート * 同期および非同期の入出力 * プロセスとスレッド * 数学

迅速な開発をより早く(そして保守をより簡単に)する*よく考えられたフレームワーク*は素晴らしい追加です。 そのためには、現在普及しているフレームワークをよく知っておく必要があります。


1


時間がかかることを覚えておいてください。 私はそれが約10年間pythonを取ったと思います(私が間違っているなら誰かが私を直してください)。

だから、たとえ5年後にあなたのコミュニティがまだ小さいように見えても、話は終わりではありません。


1


「これは私がしばらく前から考えていた新しいプログラミングパラダイムに基づいています。」

賞賛に値するが、誰かがすでにあなたの「新しい」パラダイムで何かをしたというオッズは本当に良い。

言語を使用可能にするためには、それは先行技術の上に構築されなければならない。 まったく新しいことが成功への良い道ではありません。 私のお気に入りの例はAlgol 68です。

Algol 60は大流行していました(その日のうち、確かにしばらく前です)。

専門家達はこの成功の上に築きたかったのです。 彼らはいくつかの新しいパラダイムを提案し、その努力は派閥に分かれた。 純粋主義者たちは新しいパラダイムをAlgol 68に入れました。それは曖昧に消えた。 何人かの人々はPL / Iと呼ばれるAlgolの異なるバージョンを作成しました。 本当に新しいパラダイムはありませんでした。 それは実際にどこかに行き、そして頻繁に使われました。 別のグループがPascalを作成しました - 新しいことはそれほど多くありませんでした - それはAlgol 60からものを捨てました。 実際にどこかに行き、ansが多用されていました。

新しいパラダイムは、明確で簡潔な要約を持たなければなりません。そうすれば、人々はその言語がどこで使えるのか、どのように使えるのか、それを使うことのコストと利点は何かを理解できます。

「新しいプログラミングパラダイム」は、「私がうまくうまくいったときになぜまったく新しいパラダイムを学ぶのか」と言う人もいます。あなたはそれが新しいパラダイムを持つことがどのように役立つかについて非常に明確でなければなりません。

言語とライブラリは機能しなければならず、非常によく機能します。 堅実ではない言語は無価値です。 堅固であるためには*それは非常に単純でなければなりません*。

誰かがあなたの言語を使い始めるのを助けるチュートリアルを持っている必要があります。


0


一般的なタスクのための優れたフレームワーク

簡単なインストール/展開

良いドキュメント

デバッガ/ IDEと他のツール

あなたの言語を使っている人気のあるフラッグシップ商品!*


0


  • 詳細なリファレンスマニュアル*や*簡単な例を含めた優れたドキュメント。

  • 人々が実際に役に立つプログラムを書くことができるように、良い図書館サポート。

最も人気のある言語は、どちらか一方、または両方に非常に強いようです。


0


トロイの木馬の手法を使用http://ejohnson.blogs.com/software/2004/11/i_find_c_intere.html

なぜCがプログラマーの心をつかむことができるのかについての興味深い記事。