【IT】大規模開発に適した言語、TypeScriptとは何か

1ノチラ ★2017/12/08(金) 04:00:27.03ID:CAP_USER
 TypeScriptは、JavaScriptの代替言語の1つだ。その生みの親は、Turbo PascalやC#の考案者でもあるAnders Hejlsberg氏。同氏が率いる形で米Microsoftが立ち上げた重要なプロジェクトは、すでに恩恵をもたらし、今後に向けて着実に前進している。

21世紀にJavaScriptが主流のプログラミング言語の1つとして台頭したことについて、歴史家が回顧するとしたら、米国のDonald Rumsfeld元国防長官の言葉を引用することになるかもしれない。「戦争を始める時は現有戦力で向かう。あればいいのにと思う戦力ではない」という言葉だ。

 ますます多くのプログラマが、JavaScriptという現有戦力で戦いに挑んでいる。だが、クライアントサイドとサーバーサイドの両方で、これまで以上に野心的な戦いに臨むための一軍を送り込んでいるはずなのに、気が付けばJavaScriptそのものと格闘している。

 チームで大規模なプログラムを開発して、内部モジュールと外部ライブラリの複雑な連携を高度なツールで管理するような用途は、JavaScriptが元来意図していたものではない。こうしたチーム開発では、JavaやC#のような強い型付け言語が以前から好まれていたが、これらの言語の仮想マシンは、ブラウザに居場所を見つけられなかった。JavaScriptの代替言語や拡張言語が、至る所に存在するJavaScript仮想マシンをターゲットにすることは、当然の流れだった。

 TypeScriptは、JavaScriptの代替言語の1つだ。その生みの親は、Turbo PascalやC#の考案者でもあるAnders Hejlsberg氏。同氏が率いる形で米Microsoftが立ち上げた重要なプロジェクトは、すでに恩恵をもたらし、今後に向けて着実に前進している。

 TypeScriptは、JavaScriptのスーパーセットであり、型付けが可能なJavaScriptだ。既存のJavaScriptのコードはTypeScriptとしても有効なので、TypeScriptのコンパイラやTypeScript対応ツールを使い始めるには、ファイル名の拡張子を「.js」から「.ts」に変えるだけでよい。

 これは第一歩を踏み出す良い方法となる。自分のコードに型アノテーションを一切加えていない段階でも、TypeScriptは直ちに効果を発揮し得る。その時に役立つのが、型定義の情報を集約しているDefinitelyTyped(definitelytyped.org)だ。ここには、jQuery、Angular、Bootstrapをはじめ、数々のJavaScriptライブラリの型定義ファイルが集められている。TypeScriptに対応したツールは、こうした型定義ファイルを使って、当該のライブラリをインポートするTypeScriptプログラムに型認識を適用する。

 同じような型認識は、JavaScriptのコアライブラリやブラウザのDOM(Document Object Model)に対しても、可搬性がある形で利用できる。可搬性がある理由は、TypeScriptはTypeScriptで作成されていること、あらゆるプラットフォームのJavaScript仮想マシンをターゲットにしていること、コンパイラだけでなく、コード補完などのインテリジェント機能をサポートする言語サービスを提供していることだ。

 こうした言語サービスを利用しているツールには、Visual Studioのほか、WebStorm、Eclipse、Sublime Textなどがある。また、「TypeScript Playground」というインタラクティブなWebページには、入力補完、パラメータとその型の入力要求、型エラーの警告などの機能がある。
http://itpro.nikkeibp.co.jp/atcl/idg/17/112000091/112000001/

2名刺は切らしておりまして2017/12/08(金) 04:39:00.91ID:C3UfnzRY
次々出てくる...。

3名刺は切らしておりまして2017/12/08(金) 04:46:18.18ID:69DCyVlV
まぁまぁ使いやすかった。
でも個人開発ならエディタとブラウザできる方が手軽。

4名刺は切らしておりまして2017/12/08(金) 04:49:32.26ID:C3UfnzRY
>>3
スマホアプリでTypeScript使えますか?

5名刺は切らしておりまして2017/12/08(金) 06:42:26.41ID:aYOwEgM0
Androidで動かそうとしたけど
ダメだったw
Angularインストールで失敗したw

6名刺は切らしておりまして2017/12/08(金) 07:21:44.93ID:gm0Lud3W
2chMate 0.8.10.1/EveryPhone/EP171EN/7.0/LR
おはよう Ok Google おはようみんな 音声入力で 世の中らくちん

7名刺は切らしておりまして2017/12/08(金) 07:28:06.86ID:aYOwEgM0
>>6
Google 音声入力 でもできるよ

8名刺は切らしておりまして2017/12/08(金) 07:46:41.43ID:41QuLmoM
>>2
カセットテープよりすごいLカセットというのがあったんだー!

9名刺は切らしておりまして2017/12/08(金) 08:37:07.34ID:spAVz00f
拡張子tsだと、オイラのPT3で録画したTSファイルと被るなぁ

10名刺は切らしておりまして2017/12/08(金) 09:57:51.77ID:+Maiy8Ss
タケノコのように新言語がでてくるな?人工知能でプログラミング不要じゃねーのかよ?

11名刺は切らしておりまして2017/12/08(金) 10:08:47.78ID:69DCyVlV
>>4
cordovaで使える。
Xamarinの方がいいけど。
JavaScriptに変換するからJSでできる事は基本できる。

12名刺は切らしておりまして2017/12/08(金) 12:44:48.86ID:X8zzxeMQ
レガシーを切ると普及しづらい
レガシーを入れると足を引っ張られる

C++みたいな半端な状況になるんじゃ?

13名刺は切らしておりまして2017/12/08(金) 14:48:35.79ID:MNdxQ6dS
この言語は生き残れるのか

14名刺は切らしておりまして2017/12/08(金) 17:32:04.85ID:VA9e2avo
>>10
別に新言語では無い
だいぶ前からある
なかなか普及しないだけ

15名刺は切らしておりまして2017/12/08(金) 19:16:01.34ID:Y5Tro27e
ts使いやすいよな。そういやこの言語開発は日本人関わってるんだったっけ?
支那チョンが日本人の振りしてjs起源主張してたりしてw

16名刺は切らしておりまして2017/12/08(金) 19:21:43.90ID:ZpLINUwP
> その生みの親は、Turbo PascalやC#の考案者でもあるAnders Hejlsberg氏。

こういう言語を開発出来る人って、
やっぱ特殊能力なのかな?

17名刺は切らしておりまして2017/12/08(金) 19:31:24.44ID:iIq4aGsl
Javaと関係ないのに何でJavaScriptなの?

18名刺は切らしておりまして2017/12/08(金) 19:37:28.08ID:Y5Tro27e
>>17
ググればすぐわかるぞ

19名刺は切らしておりまして2017/12/08(金) 19:39:57.89ID:aubC8LYy
タボパを考えたのって、
フィリップカーンじゃないの?

20名刺は切らしておりまして2017/12/08(金) 19:45:34.79ID:Y5Tro27e
ポーランドのC処理系クッソ懐かしい。
いっちゃん最初に触ったわ

21名刺は切らしておりまして2017/12/08(金) 19:48:52.34ID:Y5Tro27e
日本と言えばrubyだけど支那チョンは何かある?



んなんかありましたか?

22名刺は切らしておりまして2017/12/08(金) 19:56:31.07ID:Cg1/JKPP
JavaScriptの言語仕様自体はかなりウンコなんだが、
そんなウンコでも仕方なく使わなきゃいけないという逆境が、あの豊富なライブラリ群を生んだと思う

23名刺は切らしておりまして2017/12/08(金) 20:02:49.08ID:Y5Tro27e
まーたJava厨だよ。
どうせガッチガチの静的型付けじゃないとプログラミング出来ないんやろ。
アホにはjsは使えません

24名刺は切らしておりまして2017/12/08(金) 20:09:11.87ID:mPunBfhW
>>21
自分は何か発明したものがあるの?

25名刺は切らしておりまして2017/12/08(金) 20:24:55.06ID:qHvbsnZ0
>>24
チョン何か開発した言語あるの?

26名刺は切らしておりまして2017/12/12(火) 02:05:19.87ID:M5vtMhxu
マイクロソフトとアドビには関わらない方がいい
windowsとflashでどれだけPCユーザーを困らせたことか

新着レスの表示
レスを投稿する