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

DeNA、JavaScriptコードに変換して実行する新言語「JSX」を公開 77

ストーリー by hylom
普及なるか 部門より
あるAnonymous Coward 曰く、

DeNAが新しい言語「JSX」を公開した(SourceForge.JP Magazine)。

JSXは厳密な型付け機構を持つオブジェクト指向言語。Javaのようなクラスやインターフェイスを持ち、またJavaScriptのような無名関数やクロージャ機構も備えている。モジュール機構も用意されている。

ライセンスはMITライセンス。開発者の奥一穂氏による発表スライドによると、JavaScriptの生産性が低い、遅い、メモリを食う、といった問題点を解決するものだという。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 基本料無料 (スコア:5, おもしろおかしい)

    by kieru_haim (37792) on 2012年06月01日 8時46分 (#2164668) 日記
    ※実行は1時間に1回まで。もっと使いたい場合は以下のアイテムをご購入下さい。
  • by minet (45149) on 2012年06月01日 7時10分 (#2164639) 日記

    JSFrontではないんだな。
    いずれネイティブ環境ができたらJS++と呼ばれたりはしないんだな。

  • by Anonymous Coward on 2012年06月01日 7時52分 (#2164648)

    Js_of_ocaml [ocsigen.org]でいいや。

    • by Anonymous Coward

      ocamljsだと思ったら本当にJs of ocamlで別モノだった

  • by Anonymous Coward on 2012年06月01日 7時19分 (#2164641)

    FORTRANやBASICをC言語風に拡張するRatforやRatbasといったプリプロセッサ。
    JavaScript用のプリプロセッサは簡単な最適化や難読化するものぐらいしか知らなかったけど、いい所に目をつけたって感じです。
    # 作者は Software Tools の読者なのだろうか?

    • by taka2 (14791) on 2012年06月01日 8時19分 (#2164656) ホームページ 日記

      ブラウザ上のJavaScript実行環境で使える(JavaScriptにトランスレートできる)言語としては、
      機能的にほぼJavaScriptと1対1対応する(という点ではRatforに近い)CoffeeScript [wikipedia.org]とか、
      独自VMもあるけどJavaScriptへの変換もサポートしているGoogleの Dart 言語 [srad.jp]とか、
      先行する言語はいくつかありますね。

      それらと較べて、3番煎じなJSXにどんなメリットがあるのは知りたいところです。

      親コメント
      • by Anonymous Coward

        世界のgeekがN番煎じを作る
        → 「意欲的だなあ」

        日本の技術者がN番煎じを作る
        → 「何の意味があるの?車輪の再発明乙。これだから日本人はだめなんだよ」

        • by firewheel (31280) on 2012年06月01日 9時17分 (#2164683)

          「意欲的」というのと「実用的」というのは別だしね。
          たとえ端から見ている分には面白くても、実用的で無ければ使いたいとは思わない。

          N番煎じで、しかも日本国内限定の(世界的に見れば)知名度の低い会社で作られた言語。
          なにより不安なのが、この後も開発やバグフィックスが続くかどうか。

          有料化すればまだいい方で、業績が傾けば真っ先に切り捨てられるのはこういう部分。
          コミュニティが育っていればコミュニティ任せにするのもありだけど、このままだと鳴かず飛ばずで
          消えていく可能性の方が高いし、そういう言語だからこそコミュニティに参加する人も少なくなると思う。

          親コメント
          • by Anonymous Coward

            自分達が必要としているものを作る、
            と言う企業のオープンソース施策としてはありがちな話なんで、
            無理に難癖を探すほどの興味は湧かないなぁ。

        • by Anonymous Coward

          日本企業なんだから日本語のスライドにしてよ、と思いました。

          • by Anonymous Coward

            このコメントツリーにあるようなネガティブな日本人は、最初からターゲットにしていませんという意思表示だったら、いい皮肉だなあ。
            コミュニティに任せる事ができるのは、コミュニティを作る人とそれに乗る人がいてこそです。
            #同じアホなら…

            こうやって、新規技術が出てきてもケチ付けるだけ付けて使わず、様子見して有名になってから尻馬に乗るかって思ってる人ばかりじゃ、日本から基礎技術やデファクトスタンダードが出てこないって当然の話です。

            • by taka2 (14791) on 2012年06月01日 11時31分 (#2164792) ホームページ 日記

              私の意図としては、大元のコメント [srad.jp]が

              JavaScript用のプリプロセッサは簡単な最適化や難読化するものぐらいしか知らなかったけど、いい所に目をつけたって感じです。

              と、既にそういうアプローチがいくつかあることを知らないような内容だったので、そこにツッコミを入れたかっただけなんですけどね。

              私の書いた [srad.jp]

              3番煎じなJSXにどんなメリットがあるのは知りたいところです。

              という文章にツッコミが入れられてる感じですが、先行する同種のプロダクトがあるなら、それと比較するのは当然のことでしょう。この分に「車輪の再発明乙」みたいなネガティブなつもりは全然ないのに、なぜかネガティブな日本人扱いされちゃうし…

              で、スライド見るとちゃんと既存のシステムとの比較が書いてましたね。適当に和訳すると

              ○Google Web Toolkit(Java からJavaScriptへのトランスレータ)
              ・Javaコードと変換後のJSコードで微妙に挙動が違うのでデバッグしづらい
              ・変換で速度やサイズのオーバーヘッドが発生する
              ・JavaScriptのライブラリと組み合わせるのが難しい。
              →JSXは以上のような問題は発生しない。

              ○Google Closure Compiler (JavaScriptの最適化ツール)
              ・型情報のアノテーションに基づいたJavaScriptの最適化を行う
              ・記述は困難でメンテナンスしづらい
              →JSXは厳密な型付を行うので記述上の問題は発生しない。ClosureCompilerで適用可能な最適化は総てJSXでも可能(初期JSXはClosureCompileで処理できる完全なアノテーション付きのコードを生成できてた)

              ○Dart(Googleによる独自言語。VMもあるし、JavaScriptへのトランスレータもある)
              ・JSに変換したコードは動作が遅い
              ・Chrome以外はネイティブ言語としてサポートされそうにない

              ○ActionScript3(Flashが使ってる言語。JavaScriptに対して、クラスと型が拡張されている)
              ・JavaScriptに変換するのは無理
              ・ネイティブな性能は出せない(型情報に基づいた最適化は、JITのサポートが必須)

              といったところでしょうか。CoffeeScriptとの比較はありません。
              CoffeeScriptはほぼ1対1でJavaScriptに対応するシンタックスシュガーレベルの言語だから比較対象外としたのかな?

              JSXの処理系が最初はClosureCompilerへのトランスレータだったのを、JavaScriptへのトランスレータとして完成させたってことで。
              アプローチとしては、Google Closure Compiler をベースとしてその性能を実現した上で、記述性向上のために独自言語を作った、って感じですかね。
              ちゃんと、先行するプロダクトの問題調査をしている、正しいN番煎じだと思います。

              親コメント
      • by Anonymous Coward

        ドキュメント類が日本語で完備されてるならメリットにならないかなw

  • by Anonymous Coward on 2012年06月01日 7時54分 (#2164649)

    こういうのもいいけど、JavaScript自体をまともな言語にしてほしい・・・

    • じゅうぶん、まともな言語だと思いますよ。class 構文すらいらないのに、強力なオブジェクト指向機能を持つという、シンプルで素晴らしい言語であります。正しい書き方を覚えれば広域変数も汚さず、なんら不自由はありません。唯一の欠点は、インタプリタの高速化が難しいことだと理解してますが、それもコンピューター自体の高速化と、実行エンジンの工夫と努力によって補われつつあります。

      しかも、ブラウザ自体にこれまた強力な JavaScript ビルドインデバッガがあるのに、十分、生産性の高い JavaScript を置き換えてしまおうというのは、筋が悪いように見えます。

      親コメント
      • 「class 構文すらいらないのに、強力なオブジェクト指向機能…」 とのことですが…、JavaScript が採用しているオブジェクト指向を体現するアプローチが、三大アプローチの

        の中のひとつ、「プロトタイプベース」ってことはご存知でしょうか?

        確かに、Java、C++、C# などの主流派の言語では「クラスベース」を採用しているので、クラス機構を持つことがオブジェクト指向言語の必須の要件でもあるかのように誤解されることが多いようですけど…。オブジェクト指向のやり方にも 「TMTOWTDI」 (There's More Than One Way To Do It. [wikipedia.org]:やり方はひとつじゃない)っていう Perl の格言が当てはまるわけですねぇ~

        (゚ω^* )♪

        親コメント
      • by Anonymous Coward

        それなりの品質の技術者をそれなりの値段で使わざるをえない現状では
        正しい書き方に習熟しなくてもそれなりの品質が維持できるのが良い言語なんだよなぁ

    • ていうか、ブラウザでJavaScript以外の別の言語を使えるようにすれば全て解決する話なんじゃ……

      # Perl信者 vs Python信者 vs Ruby信者 の戦いが今はじまる

      --
      1を聞いて0を知れ!
      親コメント
      • >ていうか、ブラウザでJavaScript以外の別の言語を使えるようにすれば全て解決する話なんじゃ……

        趣味でプログラムを書く私個人的には嬉しいですが、Web関連の開発者にとっては単に悩みの種が増えるだけのような気もします。

        # ふとWindowsのActive Scriptingを思い出しました。これって流行ったんでしたっけ?
        --
        DON
        親コメント
      • ブラウザベンダの妥協の産物なんじゃない >> JS

        IEみたいに みたいな感じで:言語拡張ができそうなものはあるけど、非IEユーザとその処理系のインストールが必要だし。
        Silverlightとかも、インストールされていない環境があるし。
        Chrome native clientみたいなのもの Chromeの x86系に限定されるし。
        java appletは動作がアレすぎたし。

        結局の所、標準的に広く使えるようにするのは難しいと思う。
        一時期、 flash の active scriptが良い感じに行き渡っていたけど、iphoneに一蹴されてしまったよね。

        で残ったのが、javascriptぐらいしか広く使える技術がないと残念な結果に。

        思い切って、ブラウザにVMの仕様のせて、
        そのVMに対してコンパイルできれば動作するみたいな、
        軽量のJVMや.NETみたいなものを策定すれば、言語の壁を破れるので、好きな言語でかけてハッピーになれるのかも。
        だが、それが標準で行き渡る頃には、ネットとブラウザはまったく別のものになっていそうだけども。

        --
        by rti.
        親コメント
      • 素朴に思ったのですけど、Java …というか、 Java Bytecode を使えるようにできないのでしょうかねぇ。もちろん、Applet というフレームワークとは完全に別物としてです。

        Java Bytecode が使えれば、Java 言語はもちろん、JavaScript (=Rhino)、Python (=Jython)、Ruby (=JRuby) 、Scala、Haskel (=Jaskel)、Groovy、Clojure、Noop、Kotlin… などなども全部行けたりしませんかねぇ…。

        (b^ー°)

        親コメント
      • IE だと JScript を使わずに VBScript を使うこともできましたね。今も生きてるかしりませんが。
        それ以外には、PerlScript [activestate.com] というものがありましてな……。

        親コメント
      • by Anonymous Coward

        そこにlisp信者とWhitespace信者が参入する

        • by Anonymous Coward

          戦う以前の段階で駆逐されるわw

      • by Anonymous Coward

        VBS: 呼んだ?

      • by Anonymous Coward

        >使えるようにすれば全て解決する話
        全くつまらん冗談だな。ギャグならギャグに徹しろ。

      • by Anonymous Coward

        Rubyはchromeのnacl上で動きそうな気配がしてきましたね。

    • by Anonymous Coward on 2012年06月01日 8時42分 (#2164666)

      あおりとか罵倒とか現状擁護じゃないですよーと前置きしつつ、
      まともになるための具体的な指摘が知りたいです。
      元ACに限らず。

      自分なりにJavascriptのイヤなところを挙げるとgenericityの無さだったり処理costの不透明さだったりするけど、それは別段他のlight weight languageでもかわんないんないからなーと思ってます。(FlexだとArray.みたいに書けるけど、自作クラスでは適用されないステキさだしw)
      OO的な要素の後付け感はいなめないとして、それを再構築してくれたらなーとはおもいます。
      # タイトルに「拡張」ってあるからもしかしてもっと機能が必要とことかしら?(制限する方じゃなくて翼広げる方向?)
      # ところで、もうそろそろECMAScriptってよびませんか?それともE電化?

      親コメント
    • by Anonymous Coward

      DeNA「うちに言われても・・・」

    • by Anonymous Coward

      もともとのWeb2.0ってそういう方向だったはずなんですけどねえ。
      GoogleがAJAXを発表してすべてを吹き飛ばした。

      • AJAX は Dynamic HTML (IE4 辺りで言われてた言葉) の名前を付け替えただけで、xmlHttpRequest もこの頃の IE が持っていたものです。
        まだ AJAX という言葉がなかった頃から利用して、Web 向けのゲームを発表している人とかが国内にもいましたよ。

        当時としては「また MS の独自拡張か」だったわけですが。

        親コメント
        • Dynamic HTML … 懐かしい響きですねぇ。(ノ∀`*)。 たしか Netscape Navigator に導入された独自拡張の一つでしたよね? それで Internet Explorer でも導入されて、第一次ブラウザ戦争(第二次?)になっていたのでした。

          個人的にはまだ、マシンも非力で、ダイヤルアップ接続だったので、スクリプトの仕組みははっきり言ってウザイと感じていた部分も多々ありました。時代が過ぎて、マシンも回線も当時に比べれば遥かに強力になりましたけど、それに比例するかのように Dynamic HTML コンテンツの方も、にデカクなってしまって、なぜかモッサリ感のあるページが多いような…。

          なので、twitter なんかは、モバイル向けページで閲覧していたりします…。Slashdot もモッサリしてるので、モバイル向けページができないかなぁ~?スクリプトで何でもかんでもヤルのは、正直、勘弁してほしいです… (≧ヘ≦)

          親コメント
  • by Anonymous Coward on 2012年06月01日 9時02分 (#2164677)

    JavaScriptに変換して実行するのにどうして遅い、メモリを食う、という問題点が解決するの?

  • by Anonymous Coward on 2012年06月01日 10時26分 (#2164736)

    こんな被りそうな名前にするかな。
    After Effectsかなんかで.jsxって使ってなかった?

typodupeerror

アレゲはアレゲを呼ぶ -- ある傍観者

読み込み中...