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のサポート、それに活発なコミュニティなどを評価しているという。
どういうこと? (スコア:1)
for (let employee of Google.GetAllEmployees()) {
employee.youAreFired();
}
Re:どういうこと? (スコア:2)
それは、トランプの番組見すぎ。
#当然見たことないけど。
Re: (スコア:0)
> それは、トランプの番組見すぎ。
種も仕掛けもないのにトランプが次々に出てくる番組は大好物です。
#最近見てないなー
Re: (スコア:0)
請う解説
Re: (スコア:0)
これなら従業員データが入ってるデータベースごと消せばいいんじゃね
Re: (スコア:0)
何が?
Re: (スコア:0)
そんな、イトーさん!
クビだなんて!
Re: (スコア:0)
constで通る。
社内標準言語・・・ (スコア:1)
Googleは会話すらプログラミング言語なんだ!すごい!どんな会議なんだろう!と思って本文見たら…
>標準プログラミング言語として採用した
まぁそうだよね…
Re: (スコア:0)
社内標準で使っていないとは言っていないので、例えば英語圏のエンジニアと
非英語圏のエンジニアが英語よりもType Scriptを使っている可能性はある
#null
Re: (スコア:0)
使用する言語はPHP
PHPファイルの中身は
Good Morningみたいな。
要はただのテキストファイル。
静的型の利点がよくわからない (スコア:0)
TypeScriptはよく知らないんですが例えば
(ちょっともう無茶苦茶な文法になってると思うけども)
#------------------------------
class Foo {
function boo() { }
# function qoo() { } # 不要なので消したら・・・
}
function fn(foo: Foo) {
foo.qoo(); # ここのせいでコンパイルができない・・昨日まではコンパイルできたのに!
}
#------------------------------
となるって事ですよね?
コンパイルできない以上はテストも実行できないわけだけど、物凄く不便じゃない?
# こういう時の自分は、重大な勘違いをしているw
Re:静的型の利点がよくわからない (スコア:1)
不要だから消したFoo.qoo()が実行できる利点がよくわからない...
Re:静的型の利点がよくわからない (スコア:1)
いや、コンパイル出来ない = 文法エラー = 実行前にエラーとなる箇所がわかる訳で…それが静的型付け言語の利点ですよね
「コンパイルできない以上はテストも実行できない」と言いますが、そもそもコンパイルを通らないコードの時点でテストする価値は無いです
Re: (スコア:0)
IDEのサポートを評価って書いてあるし大丈夫じゃね
そもそもいきなり消したりしないでobsoleteにでもすべきでは
Re: (スコア:0)
コンパイルが、整合性確認テストだと思えばいいんでは?
IDE のサポートって意味では Visual Studio とかだと、まさに書いてる途中の未完成なコードでもバックグラウンドで単体テスト走らせてくれますよ。
まさに「書いてる途中」でも、その直前のところまでで、キー入力が少し中断されるたびに単体テストが走って、リアルタイムにどの行でエラーが出てるか教えてくれます。
なので、今時はコンパイル言語だからコンパイルできないとテストもできないなんて事もないです。
Re: (スコア:0)
qooが不要ならfnも不要だから一緒に消せばいいじゃん。
消すべきところが分かって便利でしょ。
Re: (スコア:0)
テストが出来たとして、
・テストが通った→という事は、テスト中にfnが実行されていない→カバレッジが100%ではない→テストがクソ
で、そんな状況は考慮に値しないわけで、
・テスト中にfnが実行されて、Foo.qooが消された事によるエラーが報告される
正しくはこうなる。それがコンパイル時に事前に分かるようになるだけ。
Re: (スコア:0)
テストを実行するまでもなく、ビルド(IDEのプリコンパイル)時点でエラーが分かるって見方をすると物凄く便利です。
Re: (スコア:0)
何という動的言語脳……。
コンパイル通らないからエラーがあるってわかるんでしょ。
テストの目的は何?
エラーを探すことでしょ。
つまり、テストを通すまでもなくエラーが発見できるわけだけど、何が不満?
Re: (スコア:0)
流石にこれは笑った。
本末転倒過ぎる。
テストを通すのが目的なんでしょう。
Re: (スコア:0)
本気でこれを不便だと思っているのか、例が不適切で意図が上手く伝わってないのか、物凄く気になる。
fnは既に機能不全を起こしているのだから、当然テストは失敗して欲しいわけだが・・・
MS と Google (スコア:0)
二社が握ったら、JavaScriptなんて葬り去れますわな。
JSは、Netscape開発者がたった数週間で設計した間に合わせの言語だから、レガシーリプレースされていったほうがいいのかも。
Re:MS と Google (スコア:1)
JavaScriptは滅びないと思いますねぇ…。
書いてそのまま動くという点で、サポート環境の広さはプログラム言語界随一。
レガシーとは言いますが、ECMAScriptは標準化されていて新しい技術も導入されていますし。
※そういう意味では、レガシーJavaScriptはECMAScriptによりほぼ駆逐済。
TypeScriptは最終生成物がJavaScriptのコードだし、DartもJavaScriptを吐くようだし。
いずれ中間言語的な扱いになることはあっても、JavaScriptの実行環境は当面無くならないと思います。
※初心者が最初に学ぶ言語としても、JavaScriptはお勧めなんだけど、あまり賛同は得られない模様w
Re: (スコア:0)
勝手に型変換するような言語が初心者にお勧めって、本気で言ってますか?
Re: (スコア:0)
はい、その通りです。
罠には早い内にハマってくれた方がいいですよ。
型を意識する必要性が学べるでしょう。
というか、職業プログラマの本気学習には勧めないですよ。本当の初学者向け。
メモ帳とブラウザがあればどこでも使えるので、開始のハードルが低い点がお勧めポイント。
要するにとっかかり用の言語ですね。
初学者には環境揃えるだけで一大事ですから。
Re: (スコア:0)
学校で初心者にPHPを教えています。いろいろまずい点があるのは承知してますが、簡単なことを簡単に書けるという利点は初心者にとってはとても大きい。
VeryVeryLongClass veryVeryLongClass = new VeryVeryLongClass(...) なんて書き方をする言語はそれだけで拒否されます。
型推論が効く言語は嬉しいのですが、推論に任せられる場合と明示的に書く必要がある場合との区別が難しく、それならPHPでいいやと割り切りました。
Re: (スコア:0)
教える側のレベル
Re: (スコア:0)
初心者と言うか入門用ならJSですよ。環境構築をすっとばせるから。
Re:MS と Google (スコア:1)
えぇぇっ、JSの環境構築こそ最低最悪じゃないか。
npm入れてbebel入れてwebpack入れてってかなり簡略化されたけれどさ。
ひと昔前なばらgruntだ、gulpだとか、別のもの入れて別の言語覚えないと真面な環境作れなくてさ。
挙句にコードを書こうにもMSがVScode出してくれたからいいようなもの、ろくな環境がなくて、素のテキストエディタでごりごり・・・
ブラウザによる実行環境依存は相変わらずだし、結局トランスパイルしなきゃやってらんないし、するならするで上記の有様。
もうね、まさに愚かな働き者の状況。そしてそれが礼賛されてるんだからもう・・・orz
だいぶましになったけれど、まだそんなのが幅きかせてる状況だよ、Javascript界隈は。
とても入門者向けとはいえん。
Re:MS と Google (スコア:1)
初心者に何やらせる気なんですか‥
Re: (スコア:0)
WebAssembly の出現によってどうなるかわからない
LLVM がWebAssenbly をターゲットにコンパイルできるようにしてるから
Window 8 のサポート終了によって一気に使われるようになると思う
Re: (スコア:0)
学習言語として生き残るって、業務ではもはや化石になるということのような。
Smalltalkみたいに。
Re:MS と Google (スコア:1)
TypeScriptはJavaScriptを葬り去るための言語ではないよ
TypeScript自体がJavaScriptのスーパーセット(つまりあらゆるjsなコードはtsとしてもvalid)で、コンパイルするとJavaScriptを出力する
文法がJavaScriptを踏襲しているためコンパイル後のコードも手でJavaScriptを書いたのと遜色ない速度で走るのが利点
要するにJavaScriptを葬ることはどう考えてもできないから、せめてJavaScriptをもうちょいマシな方法で書きたい、ってのがコンセプト
語弊を恐れず言うならCに対するcppみたいなもんだよ
Re: (スコア:0)
asm.jsみたいなもん?
Re: (スコア:0)
Re: (スコア:0)
asm.jsはちょっと違うでしょう
あれは実行速度を上げるのがテーマだったわけで…
ロード時の処理重いよね→そや事前にバイナリにコンパイルしてしまえ→WebAssembly爆誕
Re: (スコア:0)
コンパイルしてjavascriptが出てくるのに、何がどう葬り去ってるんだ?
ブラウザー上で無限のjavascriptの資産もあるのに、なぜ2社だけでそれを葬り去れるのか。
Re: (スコア:0)
TypeScriptはJavaScriptよりも良い言語(ベターJavaScript的な意味で)なので、
巨人の二社が支持すれば業界丸ごとその色に染める事も夢ではないでしょうね。
これは必ずしもJavaScriptが最悪な言語であることを意味するわけではありません。
生のJavaScriptを使用する限り環境依存の問題がありますから、先進的な開発者は何かしらその問題を吸収する手段を用いている筈です。
つまり、それらの開発者は生のJavaScriptそのものを扱ってはいません。
そういう意味では生のJavaScriptはある意味死んでいる訳で、「葬り去られる」もそれなりに妥当な解釈と言う事ができると思います。
TypeScriptとかどうでもいいよ (スコア:0)
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のサポート」とかいう、取ってつけたような理由。
Re:TypeScriptとかどうでもいいよ (スコア:1)
まぁ君子豹変すってことでしょう
一度決めたことにこだわりすぎたり、
逆に「前と言う事が違う!!!」とか延々と揉めたりするよりもいいんじゃないでしょうか
TypeScriptが標準言語になっても、Dartのことは忘れてません (スコア:0)
TypeScriptが標準言語になっても、Dartのことは忘れてませんよとGoogle担当者がフォロー [publickey1.jp]
…で、それは分かったから、今後どうなるの?とかツッコまれている模様。
Re: (スコア:0)
FlutterなAndromeda=Fuchsia次第じゃないですかねー
Re: (スコア:0)
火消し文書って感じだなあ。
Typescriptのプレゼンテーションで紹介された標準言語の中にDartが含まれていない時点で察しろよってことじゃないの?
使われている対象みると、一部チームというか偉い人がゴリ押ししているだけのようにも見える。
邪推を重ねるなら「制限されることなく」ってのも、最終的にJSとするなら使って構わないレベルな気が。
Re: (スコア:0)
Dartってクローズドソースなの?
熱狂してるなら余計なお世話だろ
Re: (スコア:0)
その唯一の存在価値があったはずなのに DartVMを載せないっていう発表の時点で、存在価値は無くなったわけですよ。
すでに引導渡されてるってのが大方の認識だと思うのだけど、いまだに生きてる言語の一つに含めてる人がいるほうが意外だ。
黒歴史にしたいっていうか、すでに黒歴史だよね。扱われかたとして無かったことにされてるんだし。
Anguler が TypeScript を採用した理由と、Google がTypeScript を社内標準の一つにしたのは、別の理由でも問題ないでしょ。
Re: (スコア:0)
>絶賛されまくったDartの人気が落ちたのは、Google自らAngulerをTypeScriptで開発すると公言した頃からであり。
>その人気がようやくまた去年くらいから盛り返して来た
お、おう。
TypeScriptがなんだかわかってない書き込みが多いね (スコア:0)
とりあえずTypeScriptはまだまだ認知されていないということは分かる
Re: (スコア:0)
そうは思いませんが、
ちなみにあなたの認識されているTypeScriptとは如何なるものですか?
Re: (スコア:0)
# あるいは一般に知られている TypeScript とは違うあなただけが知っている秘密の TypeScriptの話してる?