@tukinyanJP

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

プログラミング言語が一から有名になるまでの道筋を教えてください。

はじめに

 私は、Rubihuruという Ruby 似のプログラミング言語を作成しています。そこで、リスペクトをしているRubyが有名になるまでの道筋を知ることでこれからの言語作成に活かせると思いました。

質問

 私が知っている例えば、Ruby が、20年ほど前に Ruby on rails を出したことによって爆発的に有名になったのは知っているのですが、その以前1 は全く知りません。rails が出る前までは何の用途で、どのように・どんな人が使っていたのかをこの質問を通して知りたいです。

  1. インターネットで探してみたのですが、あまり詳しいことが書いていないものしか見つかりませんでした

0 likes

Railsが出るまでは、CGIなどで使われていたイメージですね。
日本ではCGIを書くときの選択肢の一つとして挙げられる程度には有名でした。
とはいえ、Perlの牙城を崩すには至らず。
書きやすさは高評価でしたが、ライブラリなどの量はPerlが圧倒的でしたから。

新しい言語を普及させるには、インパクトのある特徴が必要です。
(Railsは開発コード量の削減という目に見えた効果がありました)

最近では、GoやRust、JavaScript系(Reactなど)の評価が高いです。
これらに比べて、「こんなに便利」というアピールができれば強いと思います。

0Like

リスペクトされている言語の歴史を紐解くことは、これからの言語設計やコミュニティ育成において非常に強力な指針になるでしょう。

Rubyは1995年に公開されました。初期ユーザーは日本のプログラマーで、メーリングリスト中心のコミュニティでした。ネットニュース(fj)で公開され、徐々に広がりました。Unix系エンジニアやオープンソース好きに好まれました。

英語版書籍『Programming Ruby』が2000年に出版され、海外にも広まりました。Ruby on Railsのブレイク以前に、海外のオブジェクト指向プログラマーの間で既にRubyの土壌が作られていました。

Rubyは便利なスクリプトを書く言語として使われました。UNIX/Linux環境を中心としたテキスト処理やシステム管理用の強力なスクリプト言語です。Rails登場後のような「巨大サービス」ではなく、小さいツールが中心でした。

そこではPerlが普及していましたが、Perlには文法は記号が多く、規模が大きくなると読みづらいという課題がありました。Rubyは、Perlの多機能さを引き継ぎつつ、その複雑な文法に対するアンチテーゼ(より読みやすく美しいオブジェクト指向)として登場しました。

Rails登場前の課題として以下の二点がありました。
第一にユースケースが弱いことです。何でもできるが、「これで稼げる分野」はありませんでした。個人の生産性を高めるツール(優秀なエンジニアの秘密兵器)に留まっていました。
第二にWeb開発環境が未成熟で、広くビジネスに適用できる段階にありませんでした。草の根のライブラリ・フレームワークは存在し、知る人ぞ知る形で使われていましたが、覇権を争うほどの規模のコミュニティにはなっていませんでした。

Rails登場前は面白い言語、登場後は最速でWebサービスを作れる言語として支持を集めました。
最初は楽しい、書きやすい、美しいという思想で初期ファンを集めました。その後にRailsによってWeb開発というキラー用途が提示されました。

言語の発展は以下の過程を辿ると整理できます。
① 刺さる思想
② 小さいコミュニティ
③ キラー用途
④ 爆発的普及

0Like

私自身は Ruby を 1996 年頃から 2004 年頃まで少しだけ使っていました。 年に一回あるかどうかというくらいなので本当に少しだけです。 最初に Ruby で書いたのはリンクチェッカです。 ブックマークが数百になるとリンクが生きているかを手作業でチェックするわけにもいきませんし、自動化は当然の判断でした。 Ruby を選んだ理由はその頃はリンクチェッカを簡単に書けるのが Ruby くらいしかなかったという消極的なものです。 URL を渡すだけで内容を取得するライブラリが最初から入っている言語を探せばそれだけで極端に選択肢は狭まり、日本語のドキュメントが公式に用意されているとなると実質的に Ruby だけでした。

言語の設計がそこそこには妥当であるのは当然の大前提として、メジャーな言語であるためにはきちんとしたチュートリアルや充実したライブラリ、情報交換のできるコミュニティが必要不可欠です。 言語自体がいかに優れていたとしても基礎的なライブラリをいちいち自分で用意しなければならないようだと面倒くさくて避けてしまいます。 言語設計者にとっては残念なことかもしれませんが標準ライブラリの充実、ライブラリを管理するためのパッケージマネージャの使いやすさは言語仕様自体と同じくらいには重要です。

Ruby がバイトコード化したのは 1.9 からです。 (バイトコード化した頃には私は Ruby を使っていないので感覚的にどれくらいのインパクトだったかは知らないです。) それまではかなり実行速度が遅かったです。 遅くてもなお使用を正当化したのは「グルー言語」であることと「I/O の遅さ」です。 C で書かれたコンポーネントを呼び出して実行している間は C の速度なので繋ぎ合わせるための言語が遅いのは問題ではないと考えられていました。 プログラムはなんらかのデータの加工をする、つまりファイルなりインターネットなりを通じて得たデータを処理するのでかなり遅いそれらと比較して実行速度自体が遅くても誤差でしかないということです。 現代では I/O が桁違い (百倍とか万倍とか、文字通りの桁違いです) に速くなったのでこんな悠長なことは言ってられないでしょうね。

Ruby の経緯はその時代の事情とセットなので狙って同じようには出来ないと思います。 広く知られてたくさんの人が使ってみればその内のいくらかは使い続けることもありますし、定着すれば発展の方向が見えてくるという結果論で考えたほうが良さそうだと思います。

1Like

私がRubyに最初に接したのは、会社でプログラミングに触れてみる(ハローワールドからP2P通信まで)という機会があったときです。
それからだいぶ経ってRubyの本を買って読みましたが、その巻末に1.9への移行方法が載っていたので、当時は1.8が主流だったのだと思います。その本はRuby on Railsを扱っていませんでしたが、言及はされていました。
してみるとかのときはまだそこまでRails一色ではなかったのかもしれません。しかし入門で使われるくらいには1)構文が自然であること、2)実用的なライブラリが揃っていること、3)動作が安定していること、は満たしていたのだと思います。

言語の発展でいえば、こうした実用に見合う条件を満たしていること、キラーアプリが生まれて広く知られること、健全で活発なコミュニティが成長すること、これらが順に進行するのが理想なのかもしれません。Matz氏は講演でよくコミュニティの大切さを説かれている印象があり、それはRubyが充分に市民権をかち得た言語であることの裏返しと思います。

言語の自作に関しては、Ruby(とSmalltalk)に着想を得てInkoという言語をつくった人の記事が思い出され、今でもこれは誠実に書かれていると思います。この方はOgaというライブラリの作者だったり、GitLabで働かれていたりしたりと、一流のRubyプログラマでもあります。

0Like
This answer has been deleted for violation of our Terms of Service.

独自言語「Rubihuru」の開発、非常に素晴らしい挑戦ですね!自分が理想とする言語を自作する情熱は、まさに30年余り前のまつもとゆきひろ(Matz)氏の姿と重なります。Rubyが1993年に開発され、2004年末のRuby on Rails(Rails)登場によって世界中で大爆発するまでの約10年間、Rubyが「どのような用途で、誰に、どう使われていたのか」を解説します。結論から言うと、Rails以前のRubyは「Perlに代わる、UNIX/Linuxシステム管理者やギークたちのための『超強力なテキスト処理・自動化スクリプト言語』」として熱狂的に愛されていました。1. Rails以前は「何に」使われていたのか(用途)当時、Webアプリケーション開発(PHPやJavaなど)での利用はごく一部で、主な用途は以下の通りでした。テキスト処理とログ解析: サーバーの膨大なログをパース(解析)したり、テキストデータを整形したりする作業です。システム管理・自動化スクリプト: UNIX系OSのバックアップ、ユーザー管理、設定ファイルの自動書き換えなど、シェルスクリプトでは複雑すぎる処理の記述に使われました。WebスクレイピングやCGI: 初期(Web 1.0時代)の個人ホームページの掲示板(CGI)や、Web上の情報を集めるクローラーとして使われました。実験的なオブジェクト指向プログラミング: 「手軽に、かつ美しいオブジェクト指向(すべてがオブジェクト)」を試す学術的・趣味的なコード記述です。2. 「どんな人」が使っていたのか(ユーザー層)Rails以前のRubyコミュニティは、現在よりもはるかに小規模でしたが、「濃い技術者(ギーク)」が集まっていました。UNIX/Linuxのシステム管理者(インフラエンジニア): 毎日コマンドラインと格闘し、自動化スクリプトを書くプロフェッショナルたちです。Perlの記述量や可読性に限界を感じていたプログラマー: 当時、テキスト処理の絶対王者だった「Perl」の暗号のような文法に疲れた人々が、Rubyの美しさに救いを求めて移住してきました。オブジェクト指向の信奉者: Javaのように「クラスを1つ定義するだけで大騒ぎ」な言語に不満を持ち、Smalltalkの美しさとスクリプト言語の手軽さを両立したRubyに魅了された人々です。3. 「どのように」広まっていったのか(有名になるまでの道筋)RubyがRails以前に知名度を上げていったステップには、言語開発において非常に参考になる「草の根のドラマ」があります。【草の根時代のRuby普及ロードマップ】
1993年:開発開始(Matz氏のプライベートプロジェクト)

1995年:fj(日本のニュースグループ)に初公開(知る人ぞ知る言語へ)

1999年:書籍『オブジェクト指向スクリプト言語 Ruby』発売(日本での決定打)

2000年:『Pragmatic Programmer』の著者らが英語版書籍(通称:Pickaxe本)を出版(海外へ進出)

2001〜2003年:海外のギーク間で「信じられないほど美しい言語がある」と口コミで広まる

2004年末:Ruby on Rails 登場(世界的大爆発へ)
日本国内でのブレイク(1999年)1999年、まつもと氏らが執筆した初の本格的解説書『オブジェクト指向スクリプト言語 Ruby』(通称:るびま本、初期のバイブル)が発売されました。これにより、それまでネットの掲示板(fjなど)だけで語られていたRubyが、日本の一般エンジニアに「実用言語」として一気に認知されました。海外への進出(2000年)アメリカの名著『達人プログラマー(The Pragmatic Programmer)』の著者であるデビッド・トーマス氏らがRubyに惚れ込み、2000年に初の英語本『Programming Ruby』を出版しました。表紙がピッケル(つるはし)だったことから「Pickaxe本」と呼ばれ、これによって海外の最先端プログラマーたちが「日本にすごい言語があるぞ」とざわつき始めました。Railsの生みの親であるDHH(デイヴィッド・ハイネマイヤー・ハンソン)も、この本をきっかけにRubyに出会っています。💡 Rubihuruの開発に活かせる「Rails以前のRubyの強み」RubyがRails登場まで生き残り、熱狂的なファンを惹きつけ続けた理由は、「書いているエンジニアの幸福度(Developer Happiness)を最優先したこと」にあります。当時のPerlは強力でしたが、他人のコードが読めない問題がありました。Javaは堅牢でしたが、書くのが苦痛でした。そこに登場したRubyは、「Perlと同じくらい手軽に書けるのに、コードが圧倒的に美しく、読んでいて楽しい」という唯一無二の体験を提供したのです。Rubihuruがこれから有名になるためのヒントとして、Rails以前のRubyの歴史は「まずは一握りのギークが『これを使ってコードを書くと、脳汁が出るほど気持ちいい!』と熱狂するコアな魅力(思想)を磨くこと」の大切さを教えてくれます。

0Like

@suitosama さん、ありがとうございます!

 rails 以前でも、Programming ruby のような決めてになるような本が出版されていたのですね。 Rubihuru にも、誰か(ごく少数でもいいので)に刺さるような機能(仕組み)があればよいのですね。

0Like

 皆さんの回答ありがとうございました。私が勝手ながら、今回の意見交換は閉じさせてもらいます。

0Like

Your answer might help someone💌