パスワードを忘れた? アカウント作成
26555 story
プログラミング

プログラミング言語にとっての成功とは? 80

ストーリー by mhatta
SNOBOLはいい言語だったんだけどな 部門より

あるAnonymous Coward 曰く、

本家/.に"What Makes a Programming Language Successful?”という質問が投稿されている。

「RubyやPythonとその仲間達がJavaを追いやって死に至らしめる13の理由・・・死因は老衰(13 reasons why Ruby, Python and the gang will push Java to die… of old age)」という記事では、様々なプログラミング言語が普及めざして奮闘する模様の興味深い分析が展開されている。広く使われるようになるプログラミング言語は一体何が違うのだろうか? 「いい」言語とは何だろうか? プログラミング言語が成功するとはどういうことを指すのだろうか? COBOLは成功したといえるだろうか? RubyやPythonなどについてはどうだろう?
/.Jの皆様がお使いのプログラミング言語は「いい」言語ですか? どんな言語が、どのように「成功」していると言えるでしょうか?「いい」と思うのに「成功」していないと思う言語などありますか?/.Jの皆様のご意見を是非お聞かせ下さい。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2008年06月01日 6時53分 (#1353886)
    あくまで商売として考えるなら。
    資格ビジネスが成立するようになったら成功。

    初級、中級、上級、その他用途別に細かく別れ、資格の有効期間がありバージョンアップ用の試験も用意。
    もちろん公式のテキストが、それぞれの試験向けに存在し、テキストの公認にも金を取る。
    専門学校では最低でも初級を取るように指導。
    企業では、中級以上で特別手当が出るようになり、資格なんて現場では意味がないと言う人も、
    持ってないことをちょっと気にしちゃう。
    実際どうかというと、初級ぐらいでは確かに意味がなく、バージョンアップが頻繁なので、
    上級の資格もすぐに陳腐化するという状態。
    それでも多くの人が取っているという事実によって、上司から中級以上を取るように地味な圧力が、、、

    これくらいになれば、大成功でしょう。

    #資格ビジネスが成立した後を書くのに夢中になって、成立するまでを書きそびれてしまった
  • …が問題 (スコア:4, 参考になる)

    by elderwand (34630) on 2008年06月01日 9時36分 (#1353923) 日記
    元記事の「13の理由」というのを見ると、実は Java は Python や Ruby に追いやられて死に至るのではなく、単に老衰で死ぬ(までしぶとく生き続ける)と言うことのようである。

    「RubyやPythonとその仲間達がJavaを追いやって死に至らしめる^Hない13の理由・・・死因は老衰」とでも訳すのが適当かもしれない。

    13もの理由を全部読む気はないが、最初の理由を読むと「構文が問題」と言って、C で慣れた構文である Java を持ち上げてる。

    要するに、生き残る理由は「慣性」なのであって、それが「いい」かどうかという問題ではないように思う。
  • 難しいです (スコア:3, 参考になる)

    by LightSpeed-J (4514) on 2008年06月01日 9時28分 (#1353918) ホームページ
    B777やF22の制御ソフトウェアは、
    Adaで書かれているという話です。

    私の周りには、Adaの使い手というのは、
    過去も現在も一人もいないのですが、
    米国政府機関向けに限って言えば、
    経緯はともかく非常に成功した言語と言えるのかもです。

    B777なりF22に利用されているということは、
    少なくともこれから20年位は使い道があるということですし、
    継続して価値を生み出し続ける訳です。

    成功かそうでないかは、
    難しい。というか、奥が深いかもですね。
    --
    -- LightSpeed-J
    • Re:難しいです (スコア:2, すばらしい洞察)

      by firewheel (31280) on 2008年06月01日 12時04分 (#1353981)
      >米国政府機関向けに限って言えば、
      >経緯はともかく非常に成功した言語と言えるのかもです。

      つまり言語そのものの成功だけでなく、
      それを使っている商品の成功が重要だということでしょうか。

      米国の軍事ビジネス/兵器ビジネスが成功しているからAdaが成功している
      と言えるけれど、これが、たとえば日本の兵器にAdaが採用されていたとしても
      日本の軍事ビジネスは風前の灯火ですからAdaが成功したとは言われないでしょう。
      親コメント
      • by quililila (23086) on 2008年06月01日 12時22分 (#1353993) 日記
        Adaは米国向けだけとは限らないですよ。航空/軍事だけとも限らない。
        欧州向けの(以下もごもご)

        # 情報公開されてるんだろうけど、どこまで公開されてるか分からないのでもごもご。
        親コメント
        • by Anonymous Coward on 2008年06月01日 13時49分 (#1354029)
          Adaといえば盲人プログラマが絶賛していた記事が印象的だったが

          NTTも以前使っていたよ
          今でも使っているかどうかは知らない

          #1353954
          > 実世界に存在する他のものと同じように振る舞うプログラムを書きたかったら、

          こういう気分になることは稀なんだけどね
          シミュレーションでも精度やアルゴリズムの効率の問題があるゆえ
          親コメント
    • by Anonymous Coward
      >経緯はともかく非常に成功した言語と言えるのかもです。
      国防省が音頭を取って成立させてしまった以上、(この先陳腐化しようが、問題が出てこようが)嫌でも使わざるおえないっていう事情もあるんでないかなぁ?
      これを成功と言っていいものなのだろうか?
      『無理やり成功させた』と言われたら納得できそうな気もするけどw

      #でも当時は各社の使ってる開発言語がバラバラで保守等でパニック状態だったそうです。
      #それを解消したい(言語統一化したい)って思惑もあったようですから、こうなっても仕方ないといえば仕方ないのかな。
      #たしかにこういう評価って難しい…
  • by Anonymous Coward on 2008年06月01日 9時35分 (#1353922)
    なぜ関連にこれを貼らない

    髭がある程プログラミング言語は繁栄する?
    http://srad.jp/developers/article.pl?sid=08/04/30/0830201 [srad.jp]
    • by Anonymous Coward
      以下、ヒゲガンダム禁止
  • あたしにとっちゃ (スコア:3, おもしろおかしい)

    by Anonymous Coward on 2008年06月01日 22時34分 (#1354198)
    /usr/bin/hogehoge に入ってたら成功 /usr/local/bin/hogehoge ならまだまだだね

  • Groovy (スコア:2, おもしろおかしい)

    by hiro (96) on 2008年06月01日 6時56分 (#1353887) ホームページ
    あれ?Javaは最近Groovy [slideshare.net]って子を産んだって聞いたけどね。
    まだ、よちよち歩きで、赤ちゃんだから顔も少し親に似てないところもあるみたいけど、もう、ご両親と会話しているらしいよ。
    • Re:Groovy (スコア:1, 参考になる)

      by Anonymous Coward on 2008年06月01日 8時00分 (#1353899)
      子を産んでから寿命が尽きるまでの時間が長い生き物(例:人間)は、生物全体のなかでは例外的存在のようです。

      ただ、Groovyが子なのかどうかは微妙だな。どっちかというと子じゃなかったのに後から
      ●実子にみえるように擬態する程度が激しくなった
      ●本家が養子に迎えた
      というような感じがする。

      Groovyはどちらかというと角谷さんとの距離が気になる言語ですね(苦笑)。

      あ。GroovyのGrailsのスキーマ管理 [thinkit.co.jp]なんかはけっこう筋が良いと思う。
      RailsみたいにDBの都合(だけ)考えた方式だと、モデルの属性を宣言的に知る手段が(DBかまして動かすまでは)何処にも無いということになり、ちょっと怖い。
      Railsもプログラム(モデルクラス定義)側からDBへ落としてくふうにすればいいのにな。
      親コメント
      • by Anonymous Coward
        どっちかっていうと子供はRhinoちゃんだと思うな。
        ほら、Java 6で正式にJavaんちの子になったでしょ。

        Groovyくんは・・・
    • Re:Groovy (スコア:1, 興味深い)

      by Anonymous Coward on 2008年06月01日 9時30分 (#1353920)
      近年のJVM上の言語の多様化は興味深いです。
      理論的にはできる、といわれていたものを、Jythonが実際にできるということを証明し、
      JRuby、Rhino、Groobyなどが続いた、と。
      Microsoftの.NET Frameworkは最初から多言語指向なわけですが、これからの言語は、
      2大VM上での実行ができるか、というのも成功のキーポイントになりそうな。

      Perl6/Parrotは、いまさら感が。言い出したのは早かったんですけどね。
      親コメント
      • by Anonymous Coward
        JavaScript実装のRuby [accelart.jp]みたいなのもあるようですから、Javascriptも入れて3大VMかもしれませんね。

        # Pythonではネイティブスレッドにならないということに最近ようやく気づいてJythonを使ってみたが、Pythonで1スレッドのほうが速くて、結局Cで書き直してしまった悲しい体験
  • by ots556556 (34248) on 2008年06月01日 15時06分 (#1354053)
    求人広告が一番多い言語というのも、ひとつの基準になるかと。
    前に、引く手あまたのプログラミング言語は? って記事がありました。
    http://srad.jp/developers/article.pl?sid=08/04/06/2313251 [srad.jp]

    # 個人的には、ググればすぐにフリーのコンパイラと分かりやすい解説サイトがひっかかるのが成功した言語。
  • by ksh2ksk4 (11188) on 2008年06月01日 7時58分 (#1353898)
    二人以上いれば「成功」でいいのでは.これなら会話が成り立つし.

    多くなればなるほど「良い」言語ということでどうでしょう.
    • by Choro-Chan (31768) on 2008年06月01日 8時06分 (#1353901)
      元締めがしっかりしていないと話せる人が多くなればなるほど
      勝手に拡張したりして方言が増えるなんて言うのがある気がしますが
      いかがでしょう?
      COBOLなんかは方言いっぱいですし。
      親コメント
      • Re:話せる人が (スコア:1, おもしろおかしい)

        by Anonymous Coward on 2008年06月01日 8時54分 (#1353909)
        するとC言語なんて方言だらけだから駄目駄目だってことですね(^^;;

        そういえば、「良い」と「成功」とは微妙にベクトルが違いますね。
        悪い言語でも「成功」してるといえば例えばVBなんかが思いつきますが。
        親コメント
  • Joe: 我々が暮らすこの世界は並列に動いている。
    実世界に存在する他のものと同じように振る舞うプログラムを書きたかったら、プログラムも並行構造になることだろう。
    にちょっと感動して、世の中がそういう潮流になっていけば「成功」と言えるような気がしました。
  • by Anonymous Coward on 2008年06月01日 15時46分 (#1354063)
    が、成功(≒広く普及)するポイントではないかな・・・と。決して「書ける」のが「プログラムとして正しく動作させられる」わけじゃないのがポイントだけど。

    「プログラムとしての信頼性よりも豊富な機能が満載」が最大の市場価値を持つ(と、ベンダーが勝手に誤解してる)昨今のマーケットでは、少数の上級技術者より単純な実装を繰り返しやってくれる大量の人手が必要なわけで、そこにある「プログラマを安く使って使い捨てる」というビジネスモデル維持のためには「バカでも書ける」ことが絶対条件だ。

    だいたい、業界のシェアNo.1が「信頼性は低くてもリリースすることに意味がある」を体現しているので、疑いの余地がない。

    今となっては低級言語になったCにしたって、当時の開発環境の水準では非常に高級な言語なわけで、バカでもそれなりに書ける言語なのでユーザを拡大していけた面が大きいんじゃないかなと思う。それ以降生まれた言語は少なからずCの影響を受けた言語なので、Cほど成功した言語はない。(まぁ、高級言語がCとその派生言語が少数しかなかった頃は、それなりに素養がある層以外は業界に入ってこなかったので、「バカ」より「優秀な人材が煩雑な手続きから解放される手段」としての功績が大きいと思うけど)

    ただ、Javaに関してはオブジェクト指向という新しい概念を強制したことで超バカによる脊髄反射実装をフィルターした反面、一部の天才も理解に苦しむという変な状況を作り出したことは興味深い。そのJavaも、Javaの影響を受けたバカ向けスクリプト系オブジェクト指向言語に少なからず影響を与えたので、Java単独では微妙でも言語グループとしては成功なんじゃないかなと。

    言葉は乱暴だったけど、実際そんなもんじゃなかろーかと。
    • by Anonymous Coward on 2008年06月01日 22時33分 (#1354197)
      >Javaに関してはオブジェクト指向という新しい概念を強制したことで超バカによる脊髄反射実装をフィルターした反面、一部の天才も理解に苦しむという変な状況を作り出した

      それはなんか違うだろ。

      ●Javaでもクラスをたった1つしか作らず、かつstaticメソッドのみにすることで、Cとほぼ同じ(ただしマクロなし)書き方にできる。良くも悪くも。よって「馬鹿を排除」は出来ていない。実際そういう馬鹿は時折居る。

      ●上記と全く同じ意味で、非OOP的に(staticメソッドしか使わないんだったらそれは「オブジェクト」指向ではありません)書けるんだから、天才だって迷わないじゃないか?

      そもそもJava程度で「OOを強制」できてるわけがない。RubyどころかSmalltalkですらそういう意味では強制は出来ない。「OOしやすさ」が有るだけだ。あとは敢えて言えば文化が有るだけ。
      親コメント
  • by cork (23590) on 2008年06月01日 15時53分 (#1354066)
    Computer Languages History [levenez.com]

    後継の言語が作られるか、その特徴が受け継がれた新しい言語が生まれれば概ね成功と言えるのではないでしょうか。
    歴史の長いFortranやCobolだって不変じゃないし。

    # 知名度が重要?
    --
    愚かさによって説明できるものを悪意のせいにしてはならない
    • by paichi (3389) on 2008年06月02日 0時36分 (#1354252)
      1985〜1995くらいまでがごちゃごちゃと入り組んでるのに、2000年以降がシンプルになってきてますね。
      ErlangとかD言語もないようですし、若手(?)がまだその表にのってないだけなのか分かりませんけど。
      ネット普及でコミュニティがまとまりやすくなって、それぞれに集約されてきたとか?

      #後が出てこなかったSNOBOLとか、(OS環境との関係もありそうだけど)打ち捨てられたalefとかは...
      親コメント
  • by Anonymous Coward on 2008年06月01日 15時58分 (#1354068)
    というのもありまして
    後世の言語設計に影響を与えた=成功、と見なしていいね

    ここは視野の広い人が多いからわかるよねwww
    • by epn (32606) on 2008年06月01日 23時27分 (#1354227)
      LispやSmalltalkとかがその例に入りそうですね。あと、MLとか関数型言語系全般。関数が多言語で生み出されて取り入れられてる考え方は多いですし。(最近だとクロージャ、型推論など)

      個人的にはPerlが後のスクリプト言語に与えた影響は大きいと考えています。アカデミックにと言われるとちょっと疑問もありますがw

      みなさんは、どんな言語が影響があったと思いますか?
      親コメント
    • by paichi (3389) on 2008年06月01日 23時30分 (#1354228)
      ここまで"人気の言語を作るには [practical-scheme.net]"への記述なし..?

      視野が狭いのでALGOLとかSimulaなのかな〜と思ったです。Smalltalkはふつうに成功してますしね。
      prologはそういう意味では成功したのかしてないのか。

      不謹慎ながらまつもとさんが以前書かれていたコメント [srad.jp]を思い出すとrubyはSimulaの後に続くものだと考えると『Simulaうしろ〜Simulaうしろ〜』とか思うのでAC

      親コメント
    • プログラミング言語としてはほとんどお目にかからないけど、VMの実装モデルには大きな影響を残したFORTHなんてのも。
      PostScriptもFlash(ActionScript)もjavaもスタックマシンだしねぇ。(CLRはどうなのか知らない)
      --
      うじゃうじゃ
      親コメント
  • by Anonymous Coward on 2008年06月01日 17時53分 (#1354105)
    コア開発者やその取り巻きといったキモい連中の顔や名前が即座に浮かんでくるうちは、言語として成功とはいえない。

    開発者やコミュニティが増え、個人の色が薄まって、思想やしゅーきょー的な匂いが感じられなくなってようやく成功。
  • by Anonymous Coward on 2008年06月01日 11時29分 (#1353961)
    Objective Cは良い言語だと思いますが、成功しているとは言えないのではないかと。

    もっとも、Macの開発言語として存在するだけ、成功している方なのかもしれませんが。

    • LISPは? (スコア:2, 興味深い)

      by SteppingWind (2654) on 2008年06月01日 12時18分 (#1353990)

      Objective CよりもLISPをまな板に乗せたほうが議論が発散しそう.

      同様にしてラテン語やエスペラント語が成功したかどうかも議論できそうですけど.

      親コメント
      • Re:LISPは? (スコア:1, 興味深い)

        by Anonymous Coward on 2008年06月01日 12時39分 (#1353998)
        ラテン語は成功したでしょ。過去形で。
        英語もフランス語もドイツ語も全てラテン語の子孫なんだし。
        親コメント
        • Re:LISPは? (スコア:2, 興味深い)

          by ken_non_sum (19466) on 2008年06月01日 17時16分 (#1354094) 日記
          オフトピな上に野暮かも知れませんがひとこと。

          確かにヨーロッパの多くの言語は、
          特に語彙においてラテン語(やギリシア語)の影響を強く受けているのは間違いありません。
          しかしラテン語の直接の子孫と言えるのはフランス語やイタリア語、
          スペイン語などのいわゆる「ロマンス諸語」と呼ばれるものに限られます。

          これに対して英語やドイツ語などはゲルマン語派の西ゲルマン語群に属し
          (ラテン語、ロマンス諸語はイタリック語派)、
          ラテン語とは共通の祖先である印欧祖語を介した遠戚関係にあるというのが現在の定説です。
          そのため、良く似た語があるからといって、それが親子関係にあるとは簡単に断定できないそうです。

          それにしてもプログラミング言語を自然言語からどこまで類比して考えることが許されるものなのか、
          ちょっと私には判断しかねるものがあります。

          ;;;興味がおありでしたら「インド・ヨーロッパ語族」等で検索してみてください。
          ;;;上記の用語法の詳細も検索して出てきたWikipedia の記事 [wikipedia.org]に負っております。
          親コメント
          • by nim (10479) on 2008年06月02日 11時39分 (#1354483)
            特に英語は、イングランド国王がフランス人だったり、
            外交官の公用語がフランス語だったり、いろいろいわく因縁があるせいで、
            ラテン語だけでなくフランス語の影響をきわめて強く受けているので、
            ゲルマン系の中では特にラテン系の言語に似て感じられるでしょうね。

            余談ですが、英語は仏語からの借用語が多いので、日本で利用するときには
            発音をどっちかに統一しろと思うときがあります。
            「『コンシェルジュ』に『ボン・ボヤージ』と言われたり」するのが気持ち悪いです。
            「いちごミルクパフェ」とか、「抹茶ラテのプチケーキ」とかは、
            もうどうにでもしてくれというかんじです。
            親コメント
        • Re:LISPは? (スコア:1, すばらしい洞察)

          by Anonymous Coward on 2008年06月01日 14時16分 (#1354036)
          全く同様の理屈で、Lispも、その要素の断片は後世の多くの言語に受け継がれてますよね。「関数」しかり、ローカル変数しかり、ガベコレしかり。最近だとクロージャとか。

          で、表面的な最大の特徴である「読みにくい」って点は、もしかしてラテン語にも通じるんでしょうか?私はラテン語は(どっかの魔法漫画で出てくる奴以外)知らないんですが…
          親コメント
        • by kappatottaotoko (32670) on 2008年06月22日 9時11分 (#1368292) 日記
          どこにぶら下げるか迷いましたが、

          ラテン語というと実質、
          現在の欧米の知識階級が覚えている古典ラテン語を指します。
          欧米の新聞なんかを読んでいるとラテン語が引用されることが多々あります。
          学術誌にも論文をラテン語でしか受け付けないものがあるそうです。
          また、アカデミックな人は、外国人と会話に使ったりもするそうです。
          (日本と中国で漢文で筆談したみたいなものです)

          ちなみにラテン語は屈折語で活用形がかなりあります(40くらいだったかな)
          テニヲハにあたる助詞がない(全部語尾変化であらわします)
          その代わり語順は自由できます。
          興味があれば、新ラテン文法(東洋出版)をどうぞ。

          ラテン語がいろんな言語を生み出したのだから・・・というであれば、
          再帰、ガベージコレクションその他を
          他の言語に採用されたLispも成功したことになるような気がするのですが。

          ラテン語とLispってやっぱ似てるなぁ。
          親コメント
        • by Anonymous Coward
          英語も?
typodupeerror

最初のバージョンは常に打ち捨てられる。

読み込み中...