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

JavaScriptにトランスコンパイルする言語でイケてるのは? 80

ストーリー by hylom
JavaScriptもJavaScriptにトランスコンパイルする時代ですが 部門より

昨今では実装したコードをJavaScriptにトランスコンパイル(トランスパイル)できるような言語が複数登場している。代表的なものとしてはTypeScriptDartがあるが、それ以外にもClojureのような、JavaScriptコードを出力できるコンパイラが用意されている言語もある。その中でもおすすめの言語はどれだろうか。

Anonymous Coward曰く、

タイトルのまんまですが、イケてると思う言語を挙げて欲しい。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • Ratfor (スコア:3, 興味深い)

    by Anonymous Coward on 2020年02月19日 16時10分 (#3765017)

    イケてない言語を直接使いたくないから変換して使おうという戦略はRatforを思い出しますねえ。

    # じじいです

  • https://wy-lang.org/ [wy-lang.org]

    サンプルのソースリストしか見ていませんが,javascriptに変換すると大したことないプログラムでも, まるで古典のような格調を感じるように見えるソースリストが書けそうで,時間があったら遊んでみたいです。

    • by Anonymous Coward

      さらにソースを機械翻訳通すと楽しい

      私は持っている一テクニック。名の言う」A家族ふるい」。欲望OKはいテクニック。マスト最初にゲット一数。言う」A」。ナイOKはいテクニック言う。
              私は持っている一コラム。名の言う」カバー」。のためにはい」A」全体に。チャージ」カバー」にヤンまた。
              を除く」A」に二。名の言う」A半分」。

  • by Anonymous Coward on 2020年02月19日 17時04分 (#3765079)

    SpiderBasic
    https://www.spiderbasic.com/ [spiderbasic.com]
    https://www.spiderbasic.com/documentation/ [spiderbasic.com]

    • by Anonymous Coward

      いっそ行番号付きBasicの方が楽しいかも

  • by Anonymous Coward on 2020年02月19日 18時38分 (#3765177)

    TypeScriptも触った事はあって、まあbetter JSとして良い言語だとは思ったけど
    if for switchが値を返す言語機能が、採用される気配が全然無いし
    パターンマッチングも無いし、モダン言語としては寂しい感じがした。

    それにany型で台無しとか、nullとは別にundefinedがあるとか、
    せっかくinterfaceがあるのに、"obj instanceof Interface"が出来ないとか
    Math.floorの挙動がJSとはちょっと違うとか
    残念な部分も気になる。基本的には良いものなだけに。

    で、Elmに飛びついた。これ最高じゃないの。
    実行時エラーが無くなった。
    テンプレートエンジンも含む。ReactもVueも要らないよ!
    何より、関数型。
    もし、今の時点で生のJSを使っている人が、みんなElmに傾倒したら
    面白い事になるだろうなあ。

    • by Anonymous Coward

      俺もまったく同意なんだけど世の平均的なエンジニアにはその良さがわからんらしいんだよね。
      そんなやつエンジニア向いてないから業界から出てってくれたほうが将来のためなんだけど
      人手不足でそうも言ってられない。

      • by Anonymous Coward

        親コメを読んで興味を惹かれ、それに付いたレスを見てゲロが出る。

  • by Anonymous Coward on 2020年02月19日 15時50分 (#3764986)

    そもそも変換先のJavaScriptが超絶ダサい

    • by Anonymous Coward on 2020年02月19日 16時00分 (#3765003)

      変換先がクソダサい

      かっこいい言語(もしくはせめてもう少しマシな言語)で書きたい

      トランスパイラの乱立

      という流れなんですが…

      とりあえず私はTypeScriptを推すかなあ
      型システムの柔軟さがいい感じで書きやすい

      親コメント
      • by Anonymous Coward

        とりあえずanyにしといて後でちゃんと実装しよう=>するわけがない

    • by Anonymous Coward

      本来「HTMLページに埋め込めるお手軽スクリプト」として意図的にゆるゆるに作られたものにヘビーなことやらせすぎ。
      PHPにも似たようなことがいえる

      • by Anonymous Coward on 2020年02月19日 17時38分 (#3765108)
        ちがうよーJavaScriptってのはその成り立ちからして
        埋め込みスクリプト言語って言えば常識的にlispだよねEmacsとかもそうだし、
        だけどlispのまんまだとみんなカッコに拒否反応示すから、文法だけJavaに似せてみました
        という言語なんだよ
        最初からおよそ他の言語にできてJavaScriptにできることはないというくらいヘビーな用途を想定した言語なんだよ
        親コメント
        • Re:JavaScriptがイケてない (スコア:2, おもしろおかしい)

          by Anonymous Coward on 2020年02月19日 18時03分 (#3765127)

          > 最初からおよそ他の言語にできてJavaScriptにできることはないというくらいヘビーな用途を想定した言語なんだよ

          ええっ...と、つまり何もできない??。それは確かにヘビーだ。

          親コメント
        • by Anonymous Coward

          処理フロー的にはそうだけど、スクリプト系言語だから厳密な型システムは持たずダックタイピング的な使い方だよね。
          それはそれでメリットだけど、ヘビーな使い方をしようとすると型システムのゆるさがネックになるから後付けでクラス定義文法がつかされたり、TypeSctiptが生まれたりしたんじゃないか。

          最初のころのJSがヘビーな用途を想定しながらあんな型システムを採用したのだとしたら、頭悪いなーと思うぞ

          • by Anonymous Coward

            静的型付けやクラスがないと困るようなシステムはJava Appletをご利用ください
            って事だったんでしょ当初の予定では

            • by Anonymous Coward

              そういうのを「ヘビーな用途」と言ってるわけなんだけど…
              だいたい初期のJSってブラウザ以外で動かすこと想定していたの?

              • by Anonymous Coward

                だから「ヘビーな用途」でJSを選ぶのがおかしいって事なのに
                お前らが勝手にJavaを拒否したんでしょ

        • by Anonymous Coward

          thisの一貫していない仕様とかスコープチェーンとかプロトタイプとか、規模が大きくなるとネックになるのが目に見えてる仕組みをわざわざ導入してまで「お手軽に使い捨てスクリプトを組むための言語」にしか見えないんだけど。
          これでヘビーな用途を想定していたって頭沸いてんのかとすら思えるわ。

      • by Anonymous Coward

        型安全、Null安全な方向にゆっくりだけど着実に進んでるだけPHPの方がマシ

        それすら出来てないRubyとかいうクソ言語もあるけど

    • by Anonymous Coward

      AC氏は思った。

      (´-`).。oO(JavaScriptは超絶ダサいのに、手間暇かけてダサいものを最終生成する言語に何の意味があるんだろう

      • by Anonymous Coward

        だって、Dartは結局流行らなかったじゃん?

      • by Anonymous Coward

        さらにわざわざイケてないamd64に変換したりしたあげくに
        μopに変換したりて実行したりしているこの環境

    • by Anonymous Coward

      まあ機械語もダサいけど別にいいんじゃないかな
      アセンブラもダサいけど別にいいんじゃないかな(ムーブでコピーとか)
      変換するのはソフトの仕事だし

    • by Anonymous Coward

      確かに細かいとこ、大きなとこで、それはちょっとどうよってのはある。
      しかしブラウザで動くのはそれしかない。
      いわゆるオタサーの姫的ポジションの言語がJavaScriptではないかと。
       
      今は姫に着せる服はどれがいいかを話してるんだ。
      テニサーにはるかに可愛い子がたくさん居るといわれても俺には関係ないん。

    • by Anonymous Coward

      https://developers.srad.jp/story/16/06/23/1931246/ [developers.srad.jp]
      > それに最近は一周してJavascriptの評価は高まってるでしょ

      あれからさらに半周くらいしたってことなんかな。

    • by Anonymous Coward

      ただしどのあたりが超絶ダサいのかは言えません(笑)

  • by Anonymous Coward on 2020年02月19日 15時58分 (#3764998)

    時期があったような気がするので、趣味として良いかもねえ。

    • by Anonymous Coward

      Rubyすごい → 人事部:言語作れる人はすごい → 応募者:自分用言語作れば就職に有利 → 言語開発がプチブーム

      という流れなんじゃなかろうか。

      実際には言語作れることと、プログラマーのスキルとはそれほど相関はないし、
      就活のために言語作りを目指すのは本末転倒。その点に人事が気づきさえすれば
      ブームが終わるのは時間の問題だったと思うな。

  • by Anonymous Coward on 2020年02月19日 15時59分 (#3765001)

    たとえば、ブラウザ上に「WebVM」みたいな仮想マシンを実行するようにするとか
    ドメインごとに別仮想マシンにしとけばセキュリティも問題なさそう

    • by Anonymous Coward

      WASM…

    • by Anonymous Coward

      そしてIntel CPUの脆弱性がセキュリティーホールになると。

    • by Anonymous Coward

      Javaアプレットの頃はMSがブラウザのOS化に危機感を持ってたけど、今はWebアセンブリの実装をしてるし、方向として実際にそっちに向かってると思う。

      • by Anonymous Coward on 2020年02月19日 23時52分 (#3765495)

        んなこたーない。Microsoftは、ブラウザのOS化(シェル化)をきわめて強力に推進していた。

        もともと、後にAJAX等と呼ばれるブラウザのインタラクティブ化はDynamic HTMLという呼び名でMicrosoftが始めたもので、
        Netscapeに対する優位性として、IEが普及する要因となったものだ。

        同時に、HTMLページをアプリケーションにするという試みはHTML Applicationという名前で実現していた。
        実際に、拡張子を「.hta」にしたHTMLファイルをIEで開くと、ファイルなどのローカルリソースにアクセスできるようになっている。
        さらにIEは多言語化されており、JavaScript以外の言語を利用可能だ。
        例えばVBScriptや、IEで動くRubyであるActiveRubyという実装が存在し、<script>タグの中でこれらの言語を使ってDOMを操作できる。

        また、OSのデスクトップをHTML化するActive Desktopなんていうこともやっていた。

        結局、全部あまり普及しなかったんだけど。
        今GoogleがやっているChrome OSはかつてのMicrosoftの試みを彷彿とさせるものだし、あまり普及していないのも同じだな。

        親コメント
      • by Anonymous Coward

        あまり中身を知らないので印象でしかないんだけど、Sliverlightってブラウザで動く.NETを狙ってたんじゃないかと勝手に思ってる。
        でもあまり相手にされなかったからあきらめてWebAssemblyを推すことにしたとか。

    • by Anonymous Coward

      NaClとかasm.jsとかあったしWebAssemblyもある。
      けどあなたが知らない位の知名度しかない、っていうのは、
      結局は利点が少なくて人気もないってこと。

      正直JavaScriptで十分なんですよ……
      JS嫌ならAltJS使えば良いし……

    • by Anonymous Coward

      過去にもいくつかあるが現状はWASMが標準化されてるしその用途だね。
      JSのチューニングが狂気的に進んでるから思ったほどアドバンテージが無いけど、徐々に増えてるよ。エンジン系には。

    • by Anonymous Coward

      WebAssemblyという概念があってですね…

      C#でクライアント側も実装できるBlazorが超素敵
      https://www.publickey1.jp/blog/18/blazorwebassemblynetwebcnet.html [publickey1.jp]
      https://www.publickey1.jp/blog/19/blazorcnet_core_30web.html [publickey1.jp]

  • by Anonymous Coward on 2020年02月19日 20時29分 (#3765317)

    当然みんなも Lisp 触りたいよね

    • by Anonymous Coward

      括弧いいと思えるか、括弧悪いと思えるかで意見が分かれそう

      • by Anonymous Coward

        近年はC言語系の手続き型言語にラムダ式とか関数型的機能を加えるのがオシャレみたいですね
        個人的にはLisp以上に括弧がぐちゃぐちゃでしんどいと感じるのですが

  • by Anonymous Coward on 2020年02月19日 23時35分 (#3765485)

    なんでみんな諦めちゃったのかなGWT
    AWSの管理コンソールとか結構最後まで使ってくれてたよね
    結構不思議なtechnologyでJavaらしきコードがJavaScriptらしきものになってしまう
    俺好きだったんだけどなGWT…

typodupeerror

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

読み込み中...