パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

比較的新しい過去のテクノロジーは何?」記事へのコメント

  • by Anonymous Coward on 2014年03月09日 19時53分 (#2559682)

    JavaScriptかな。
    置き換わってくれるならLispでもRubyでもPythonでもPerlでもいいよ(Perlは少し微妙な気分になるけど)。

    • まあ、JavaScript はWebのためのアセンブラ [hanselman.com]になってしまったようだから、生き残っていくと感じている。
      親コメント
    • 確かに、JavaScript は、どのように見ても、まともにメンテできるとは思えない。
      はやいとこRubyかPythonに移ってくれ

      親コメント
    • by Anonymous Coward on 2014年03月09日 20時25分 (#2559697)

      Prologは?

      親コメント
      • by Anonymous Coward

        大学の授業でやりました(。x。)
        ドキュメントが少なすぎて大変苦労した記憶があります・・・

      • by Anonymous Coward

        Prologは?

        どうなんだろうね。 良い処理系がサポートされ続けるのなら、複雑なパターンマッチングの処理などに使えそうな気はするが。(いわゆるビッグデータとか遺伝子情報とか分子解析?とか) 実際にはそういところではどのようなプログラミング言語(あるいは専用システム)を使ってるんだろう?
        人工知能(古い!)はお呼びじゃないことは確かだが。

    • by Anonymous Coward

      Javascriptのようなプロトタイプベースの言語は、Firefoxのアドオンのように既存関数を乗っ取って機能を拡張するのには向いてると断言できますが、
      Web向きかというと、どうなんでしょうかねぇ。無駄に脆弱性を増やしてるだけな気もする。

      個人的に、Javascriptの一番の問題は標準関数が少なくて歪なことにあると感じるので、そこだけ何とかして欲しいところ。

      • by Anonymous Coward

        WebにはDOMという立派な標準APIがあるので、標準巻数の少ないスクリプト言語のほうが向いてると考えるのが普通では?
        もし、Webが発展して各APIが必要とされて出来る前にJSに取り入れようとしていたら、多くが現在負の遺産になっていると思いますよ。
        特にJSは後方互換性を重視しないといけない立場ですからね、巷のサーバサイド言語のように、良さそうなものをどんどん入れて、収集がつかなくなったらメジャーバージョンアップ時に切り捨てるということはできません。

    • by Anonymous Coward

      javascriptの存在が気に入らないとかでなくて、javascriptを書きたくないと言うだけなら、
      最近はコンパイルしてjavascriptを出す系の言語は結構ありますよ。TypeScriptとかCoffieScriptとか。
      LLVMのおかげで既存の言語⇒javascriptも乱立して面白い感じですよ。
      C++でWebフロントエンドを書くなんて言う変態的なものもあったり。

      • >最近はコンパイルしてjavascriptを出す系の言語は結構ありますよ。TypeScriptとかCoffieScriptとか。

        その手の独自拡張言語の問題は、その言語がいつまで持つか分からんこと。
        1~2年で死屍累々となっても、驚くほどのものじゃない。
        サポートの切れたオレオレスクリプトほど厄介な物はないからな。

        あとはドキュメントが少ないとか、参考書が皆無とか、問題が発生しても質問できる
        相手がいないとか、調査し難いとか、etc....

        親コメント
        • by Anonymous Coward on 2014年03月09日 22時02分 (#2559747)

          TypeScriptは大丈夫じゃないかなぁ
          一応Microsoftだし、言語自体のサポートはそれなりに続くはず
          何よりヘジたんのセンスが光る良い言語だからね…

          親コメント
          • by Anonymous Coward on 2014年03月10日 0時07分 (#2559806)

            ドキュメントも解説サイトもサンプルプログラムも幾らでもありますしね。
            きれいな言語だからまともなプログラマーならマニュアルだけで十分ですが。
            TypeScriptの機能の一部はNext-javascriptの草案の先取り実装ですし。

            enumと引数のdefault値がGoogle Closure Compilerの
            最適化と親和性が悪い点だけが不満です。

            # YUI3+TypeScriptでかなり美しいプログラムが書けるようになって
            # Webアプリのフロントエンドを書く不満が無くなりました

            親コメント
          • >一応Microsoftだし、言語自体のサポートはそれなりに続くはず

            VB6なんてなかったんや。

            親コメント
            • by Anonymous Coward

              1998年に出た言語だぞ つVB6
              充分『それなりに』サポートされた部類だと思うけど

              • by Anonymous Coward

                Webコンテンツは10年で十分とは限らないと思う。
                まあTSのいいところは最悪衰退してもコンパイル後のJSが読みやすいのとES.nextを意識した仕様で、JSに切り替えやすいってとこだな。

          • by Anonymous Coward

            TypeScriptの吐き出すJavaScriptはメンテナンスしやすいね。

          • by Anonymous Coward

            ヘジたんのJ++(遠い目

        • by Anonymous Coward

          いやー、TypeScript はかなり筋がよいと思うよ。
          JavaScript はまったく好きになれないけど TypeScript なら許せる。

      • 変数とプロシジャーの区別が無く、
        無名関数と関数閉包が使えるJavaScriptは
        極論すれば
        機能的にはRubyと大して変わらない。

        問題は、機能とか表面的な仕様にあるのではなく、
        内部的な毛深さと罠仕様だ。

        毛深さは
        たとえば汎用的なdeepcopyを実装するのは意外と難しい
        http://nmm.blog.jp/archives/35975582.html [nmm.blog.jp]
        このあたりはプリプロセッサでは払拭できない。

        罠仕様は

        デフォルトで全ての宣言が前方参照となること。

        var x = 1;
        print((function (v) {
            x = v;
            var x = 0;
         

        • by Anonymous Coward

          JavaScriptがこれだけ発展したなら、むしろ今の仕様が正義で受け入れたほうが正解だと思います
          結局JS独自の仕様が罠なのは、JSがマイナーな立ち位置の言語だからですからね
          とは言え、JSでも巻き上げのないブロックスコープ宣言は使えますよ

        • by Anonymous Coward

          JSに汎用的なdeepcopyメソッドが用意されてないのは、そもそもdeepcopyの汎用的な定義が難しいからだよ。

          まず、JavaScriptのオブジェクトはディスクリプタの集合だから、単にvalueをコピーするのとディスクリプタをコピーする場合がある。
          これはまだいいが、valueが関数だった場合どうなるか。
          その関数がネイティブのものだったり、スコープを保持したクロージャである場合どうしたらいいのか。
          これは非常に非常に難しい。

          一応DOMにstructured clone仕様があるがこれは関数を完全無視する。
          結局自分で欲しいものは用意した方がいい。
          それと変数の巻き上げが嫌ならletを使えばいい。

    • by Anonymous Coward

      GoogleのDartはJavaScriptの置き換えを目的に作られた言語だから、ChromeブラウザーやAndroid、ChromeOSに標準装備されれば、一気に普及しそうだけどね。

    • by Anonymous Coward

      ブラウザでもバイナリコードが動いてほしかったな。そうすればバイナリ互換したまま言語のバージョンを簡単に上げられる。
      JavaScriptへのトランスレータもあるけど、下手に編集できるのがよくない。

      Flash/Silverlight/Java、WebのリッチUIはこっちの方が伸びて欲しかった。

      • by Anonymous Coward

        あなたみたいな人は永久にActiveXでも使ってて下さい。

        • by Anonymous Coward

          ばかじゃないの?

          • by Anonymous Coward

            俺は彼はばかじゃないと思う

      • by Anonymous Coward

        JavaScriptでバイナリコード実行エンジン実装すればええやん

    • by Anonymous Coward

      まあ、ブラウザ上で動かす言語ならJavascript以外選択肢がないのも確かだけど、
      サーバ上でJavascriptをうごかすNode.jsはなにがやりたいんだろう。
      非同期IOが必要ならコールバック地獄になるJavascriptじゃなくて、ErlangかHaskellつかえよ。

      • by Anonymous Coward

        Node.js=コールバック地獄 は間違いです
        確かに標準APIがコールバック要求型なのが問題なのは確かで、愚直にかけばそうなりますが
        それはJSのポテンシャルの限界ではなく、ジェネレータやプロミス、またイベントエミッタを使うなど、様々な方法でより良いコーディングが出来ます

      • by Anonymous Coward

        Haskellも考えたけどエンジンをハック出来なかったから諦めたらしいよ
        GoogleのJSエンジンのV8はこれ以上ないくらいC++とのバインディングが凄まじく良く出来てるからね

        あとこれほど普及して大規模になってきて問題視されるようになったコールバックだけど、
        それほど複雑じゃないものなら直感的で簡単ってメリットも有ることを忘れちゃいけない。
        というか殆どの場合ネストが3重を超えることはない。

        そもそもJSは関数が一級市民だから関数を変数に入れて分離すればいいだけ。
        なら何でコーディング地獄が発生するかというと副作用を利用しようとするから、関数の中に関数を入れることになる。
        だからそもそも関数型チックにかけばこの問題は起こらない。

        つまりはフリーダムなJSでこそ起こる贅沢な悩みで、Haskellと比較するのはそもそもおかしい。

ソースを見ろ -- ある4桁UID

処理中...