パスワードを忘れた? アカウント作成
13225330 story
Google

Google、社内標準言語の一つとしてTypeScriptを採用 55

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

Microsoftが開発する、JavaScript代替のプログラミング言語「TypeScript」を、Googleが社内の標準プログラミング言語として採用した(Publickey基調講演動画)。

4月5日から開催されていた、同社が開発を主導するJavaScriptライブラリ「Angular」のイベント「ng-conf 2017」において発表されたもの。Googleには社内の標準プログラミング言語が規定されており、これまではC/C++、Java、JavaScript、Python、Goが設定されていたという。AngularはTypeScriptを使って開発されていることも背景にあるようだ(OSDN Magazine)。

GoogleではTypeScriptの利点として、読みやすく書きやすいInline types、高速なコンパイル、Decorators、Closure互換、IDEのサポート、それに活発なコミュニティなどを評価しているという。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2017年04月12日 8時45分 (#3191955)

    for (let employee of Google.GetAllEmployees()) {
            employee.youAreFired();
    }

    • by manmos (29892) on 2017年04月12日 10時06分 (#3191997) 日記

      それは、トランプの番組見すぎ。

      #当然見たことないけど。

      親コメント
      • by Anonymous Coward

        > それは、トランプの番組見すぎ。
        種も仕掛けもないのにトランプが次々に出てくる番組は大好物です。
        #最近見てないなー

    • by Anonymous Coward

      請う解説

      • by Anonymous Coward

        これなら従業員データが入ってるデータベースごと消せばいいんじゃね

    • by Anonymous Coward

      何が?

    • by Anonymous Coward

      そんな、イトーさん!
      クビだなんて!

    • by Anonymous Coward

      constで通る。

  • by Anonymous Coward on 2017年04月12日 12時47分 (#3192117)

    Googleは会話すらプログラミング言語なんだ!すごい!どんな会議なんだろう!と思って本文見たら…
    >標準プログラミング言語として採用した
    まぁそうだよね…

    • by Anonymous Coward

      社内標準で使っていないとは言っていないので、例えば英語圏のエンジニアと
      非英語圏のエンジニアが英語よりもType Scriptを使っている可能性はある

      #null

      • by Anonymous Coward

        使用する言語はPHP
        PHPファイルの中身は
        Good Morningみたいな。
        要はただのテキストファイル。

  • by Anonymous Coward on 2017年04月12日 9時37分 (#3191976)

    TypeScriptはよく知らないんですが例えば
    (ちょっともう無茶苦茶な文法になってると思うけども)

    #------------------------------
    class Foo {
        function boo() { }
        # function qoo() { } # 不要なので消したら・・・
    }

    function fn(foo: Foo) {
        foo.qoo(); # ここのせいでコンパイルができない・・昨日まではコンパイルできたのに!
    }
    #------------------------------

    となるって事ですよね?
    コンパイルできない以上はテストも実行できないわけだけど、物凄く不便じゃない?

    # こういう時の自分は、重大な勘違いをしているw

    • by Anonymous Coward on 2017年04月12日 9時48分 (#3191982)

      不要だから消したFoo.qoo()が実行できる利点がよくわからない...

      親コメント
    • by Anonymous Coward on 2017年04月12日 10時27分 (#3192007)

      いや、コンパイル出来ない = 文法エラー = 実行前にエラーとなる箇所がわかる訳で…それが静的型付け言語の利点ですよね

      「コンパイルできない以上はテストも実行できない」と言いますが、そもそもコンパイルを通らないコードの時点でテストする価値は無いです

      親コメント
    • by Anonymous Coward

      IDEのサポートを評価って書いてあるし大丈夫じゃね
      そもそもいきなり消したりしないでobsoleteにでもすべきでは

    • by Anonymous Coward
      > コンパイルできない以上はテストも実行できない

      コンパイルが、整合性確認テストだと思えばいいんでは?

      IDE のサポートって意味では Visual Studio とかだと、まさに書いてる途中の未完成なコードでもバックグラウンドで単体テスト走らせてくれますよ。
      まさに「書いてる途中」でも、その直前のところまでで、キー入力が少し中断されるたびに単体テストが走って、リアルタイムにどの行でエラーが出てるか教えてくれます。

      なので、今時はコンパイル言語だからコンパイルできないとテストもできないなんて事もないです。
    • by Anonymous Coward

      qooが不要ならfnも不要だから一緒に消せばいいじゃん。
      消すべきところが分かって便利でしょ。

    • by Anonymous Coward

      テストが出来たとして、

      ・テストが通った→という事は、テスト中にfnが実行されていない→カバレッジが100%ではない→テストがクソ

      で、そんな状況は考慮に値しないわけで、

      ・テスト中にfnが実行されて、Foo.qooが消された事によるエラーが報告される

      正しくはこうなる。それがコンパイル時に事前に分かるようになるだけ。

    • by Anonymous Coward

      テストを実行するまでもなく、ビルド(IDEのプリコンパイル)時点でエラーが分かるって見方をすると物凄く便利です。

    • by Anonymous Coward

      何という動的言語脳……。
      コンパイル通らないからエラーがあるってわかるんでしょ。
      テストの目的は何?
      エラーを探すことでしょ。

      つまり、テストを通すまでもなくエラーが発見できるわけだけど、何が不満?

      • by Anonymous Coward

        流石にこれは笑った。
        本末転倒過ぎる。
        テストを通すのが目的なんでしょう。

    • by Anonymous Coward

      本気でこれを不便だと思っているのか、例が不適切で意図が上手く伝わってないのか、物凄く気になる。
      fnは既に機能不全を起こしているのだから、当然テストは失敗して欲しいわけだが・・・

  • by Anonymous Coward on 2017年04月12日 9時51分 (#3191986)

    二社が握ったら、JavaScriptなんて葬り去れますわな。
    JSは、Netscape開発者がたった数週間で設計した間に合わせの言語だから、レガシーリプレースされていったほうがいいのかも。

    • by Anonymous Coward on 2017年04月12日 11時45分 (#3192061)

      JavaScriptは滅びないと思いますねぇ…。

      書いてそのまま動くという点で、サポート環境の広さはプログラム言語界随一。
      レガシーとは言いますが、ECMAScriptは標準化されていて新しい技術も導入されていますし。
      ※そういう意味では、レガシーJavaScriptはECMAScriptによりほぼ駆逐済。

      TypeScriptは最終生成物がJavaScriptのコードだし、DartもJavaScriptを吐くようだし。
      いずれ中間言語的な扱いになることはあっても、JavaScriptの実行環境は当面無くならないと思います。

      ※初心者が最初に学ぶ言語としても、JavaScriptはお勧めなんだけど、あまり賛同は得られない模様w

      親コメント
      • by Anonymous Coward

        勝手に型変換するような言語が初心者にお勧めって、本気で言ってますか?

        • by Anonymous Coward

          はい、その通りです。
          罠には早い内にハマってくれた方がいいですよ。
          型を意識する必要性が学べるでしょう。

          というか、職業プログラマの本気学習には勧めないですよ。本当の初学者向け。
          メモ帳とブラウザがあればどこでも使えるので、開始のハードルが低い点がお勧めポイント。
          要するにとっかかり用の言語ですね。
          初学者には環境揃えるだけで一大事ですから。

        • by Anonymous Coward

          学校で初心者にPHPを教えています。いろいろまずい点があるのは承知してますが、簡単なことを簡単に書けるという利点は初心者にとってはとても大きい。
          VeryVeryLongClass veryVeryLongClass = new VeryVeryLongClass(...) なんて書き方をする言語はそれだけで拒否されます。
          型推論が効く言語は嬉しいのですが、推論に任せられる場合と明示的に書く必要がある場合との区別が難しく、それならPHPでいいやと割り切りました。

        • by Anonymous Coward

          初心者と言うか入門用ならJSですよ。環境構築をすっとばせるから。

          • by Anonymous Coward on 2017年04月13日 0時34分 (#3192560)

            えぇぇっ、JSの環境構築こそ最低最悪じゃないか。
            npm入れてbebel入れてwebpack入れてってかなり簡略化されたけれどさ。
            ひと昔前なばらgruntだ、gulpだとか、別のもの入れて別の言語覚えないと真面な環境作れなくてさ。
            挙句にコードを書こうにもMSがVScode出してくれたからいいようなもの、ろくな環境がなくて、素のテキストエディタでごりごり・・・
            ブラウザによる実行環境依存は相変わらずだし、結局トランスパイルしなきゃやってらんないし、するならするで上記の有様。
            もうね、まさに愚かな働き者の状況。そしてそれが礼賛されてるんだからもう・・・orz
            だいぶましになったけれど、まだそんなのが幅きかせてる状況だよ、Javascript界隈は。
            とても入門者向けとはいえん。

            親コメント
      • by Anonymous Coward

        WebAssembly の出現によってどうなるかわからない
        LLVM がWebAssenbly をターゲットにコンパイルできるようにしてるから
        Window 8 のサポート終了によって一気に使われるようになると思う

      • by Anonymous Coward

        学習言語として生き残るって、業務ではもはや化石になるということのような。
        Smalltalkみたいに。

    • by Anonymous Coward on 2017年04月12日 16時07分 (#3192283)

      TypeScriptはJavaScriptを葬り去るための言語ではないよ
      TypeScript自体がJavaScriptのスーパーセット(つまりあらゆるjsなコードはtsとしてもvalid)で、コンパイルするとJavaScriptを出力する
      文法がJavaScriptを踏襲しているためコンパイル後のコードも手でJavaScriptを書いたのと遜色ない速度で走るのが利点

      要するにJavaScriptを葬ることはどう考えてもできないから、せめてJavaScriptをもうちょいマシな方法で書きたい、ってのがコンセプト
      語弊を恐れず言うならCに対するcppみたいなもんだよ

      親コメント
      • by Anonymous Coward

        asm.jsみたいなもん?

        • by Anonymous Coward
          asm.js は全く違うもの
        • by Anonymous Coward

          asm.jsはちょっと違うでしょう
          あれは実行速度を上げるのがテーマだったわけで…
          ロード時の処理重いよね→そや事前にバイナリにコンパイルしてしまえ→WebAssembly爆誕

    • by Anonymous Coward

      コンパイルしてjavascriptが出てくるのに、何がどう葬り去ってるんだ?

      ブラウザー上で無限のjavascriptの資産もあるのに、なぜ2社だけでそれを葬り去れるのか。

    • by Anonymous Coward

      TypeScriptはJavaScriptよりも良い言語(ベターJavaScript的な意味で)なので、
      巨人の二社が支持すれば業界丸ごとその色に染める事も夢ではないでしょうね。
      これは必ずしもJavaScriptが最悪な言語であることを意味するわけではありません。

      生のJavaScriptを使用する限り環境依存の問題がありますから、先進的な開発者は何かしらその問題を吸収する手段を用いている筈です。
      つまり、それらの開発者は生のJavaScriptそのものを扱ってはいません。
      そういう意味では生のJavaScriptはある意味死んでいる訳で、「葬り去られる」もそれなりに妥当な解釈と言う事ができると思います。

  • by Anonymous Coward on 2017年04月12日 10時29分 (#3192009)

    Angularのイベントなんだから、リップサービスでもなんでもTypeScriptはヨイショするでしょ。
    AngularはGoogleが中心開発しているのだから、自社の標準言語に採用されるのも当然。

    むしろ問題は、出始めの頃はあちこちで絶賛されるほどだったDartの今後の方。
    絶賛されまくったDartの人気が落ちたのは、Google自らAngulerをTypeScriptで開発すると公言した頃からであり。
    その人気がようやくまた去年くらいから盛り返して来た今になって、まるで冷や水を浴びせるかのようなこの仕打ち。

    GoogleはDartを黒歴史化したいということなの?
    「将来的にはJavaScriptを置き換える」などという大言壮語は無かったことにしたいと。
    Dart VMをChromeに乗せないと決めた時点で終わったと。
    そしてこれからは、Angulerの開発言語をTypeScriptに決定した時に公言したように、今でもやっぱり、そこら中に有り余る、現行JavaScriptライブラリ郡と一緒に生きてゆく気持ちは変わらないと。
    こういうこと?
    それならそれで構わないけれど、せめてAngularDart等、Dartに熱狂してる人達に先に引導渡してあげなよ。

    だいたいAngulerがTypeScriptを採用した理由ってこれ [jaxenter.com]じゃなかったの?
    なにその「読みやすく書きやすいInline types、高速なコンパイル、Decorators、Closure互換、IDEのサポート」とかいう、取ってつけたような理由。

    • まぁ君子豹変すってことでしょう

      一度決めたことにこだわりすぎたり、
      逆に「前と言う事が違う!!!」とか延々と揉めたりするよりもいいんじゃないでしょうか

      親コメント
    • TypeScriptが標準言語になっても、Dartのことは忘れてませんよとGoogle担当者がフォロー [publickey1.jp]

      Dartは過去4年以上にわたり、Googleにおいて制限されることなくクライアント開発に使われてきた。DartとAngularDartはAdWords、AdSense、Shoppingなどの大規模プロダクトや、Google CRMのような重要な内部ツールにも使われきた。

      …で、それは分かったから、今後どうなるの?とかツッコまれている模様。

      • by Anonymous Coward

        FlutterなAndromeda=Fuchsia次第じゃないですかねー

      • by Anonymous Coward

        火消し文書って感じだなあ。
        Typescriptのプレゼンテーションで紹介された標準言語の中にDartが含まれていない時点で察しろよってことじゃないの?
        使われている対象みると、一部チームというか偉い人がゴリ押ししているだけのようにも見える。
        邪推を重ねるなら「制限されることなく」ってのも、最終的にJSとするなら使って構わないレベルな気が。

    • by Anonymous Coward

      Dartってクローズドソースなの?
      熱狂してるなら余計なお世話だろ

    • by Anonymous Coward
      Dart って出てきた時点で、言語としてはゴミクソでしかなくて、絶賛されたのは Chrome の上で JavaScript より高速に動く Web用のAssembly言語的の位置付けとしてでしょ。
      その唯一の存在価値があったはずなのに DartVMを載せないっていう発表の時点で、存在価値は無くなったわけですよ。
      すでに引導渡されてるってのが大方の認識だと思うのだけど、いまだに生きてる言語の一つに含めてる人がいるほうが意外だ。
      黒歴史にしたいっていうか、すでに黒歴史だよね。扱われかたとして無かったことにされてるんだし。

      Anguler が TypeScript を採用した理由と、Google がTypeScript を社内標準の一つにしたのは、別の理由でも問題ないでしょ。
    • by Anonymous Coward

      >絶賛されまくったDartの人気が落ちたのは、Google自らAngulerをTypeScriptで開発すると公言した頃からであり。
      >その人気がようやくまた去年くらいから盛り返して来た

      お、おう。

  • by Anonymous Coward on 2017年04月12日 15時17分 (#3192236)

    とりあえずTypeScriptはまだまだ認知されていないということは分かる

    • by Anonymous Coward

      そうは思いませんが、
      ちなみにあなたの認識されているTypeScriptとは如何なるものですか?

    • by Anonymous Coward
      TypeScript が何か知らないかもっていう読み方できるコメントって #3191986 ぐらいだけど多いか?

      # あるいは一般に知られている TypeScript とは違うあなただけが知っている秘密の TypeScriptの話してる?
typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...