TypeScriptとCoffeeScriptを比較

    「TypeScript」と「CoffeeScript」の概要

    「TypeScript」と「CoffeeScript」はJavaScriptベースのプログラミング言語です。両方とも、JavaScriptよりも効率的な開発が行えるように設計されています。

    ■「TypeScript」とは

    TypeScriptは、JavaScriptを拡張したプログラミング言語です。Microsoftによって開発された言語で、「静的型付け」「クラスベースオブジェクト指向」などの特徴があります。

    大規模アプリケーション開発/汎用的用途を想定して、JavaScriptの弱点や使いにくい点を改善しています。

    ■「CoffeeScript」とは

    CoffeeScriptはJavaScriptベースのプログラミング言語です。

    簡単な方法でJavaScriptの良い部分を公開しようとする試みとして開発されており、CoffeeScriptで作成したコードはJavaScriptコードにコンパイルされます。

    言語開発目標比較

    ■TypeScript

    TypeScriptは「動的」かつ「高機能」なプログラミング言語を目指して開発されています。

    ■CoffeeScript

    CoffeeScriptは、JavaScript言語をサポートする軽量プログラミング言語として開発されています。

    影響を受けたプログラミング言語比較

    ■TypeScript

    TypeScriptは「C」「C#」「Java」「JavaScript」などの言語に影響を受けて設計されています。

    ■CoffeeScript

    CoffeeScriptは「Ruby」「Python」「JavaScript」「Haskell」「Scheme」などの言語に影響を受けて設計されています。

    そのため、RubyやPythonに慣れている開発者は導入しやすい傾向があります。

    言語パラダイム比較

    ■TypeScript

    Typescriptは「オブジェクト指向プログラミング」「関数型プログラミング」「命令型プログラミング」をサポートしています。

    ■CoffeeScript

    CoffeeScriptは「オブジェクト指向プログラミング」のみをサポートしています。

     

    参考元サイト
    EDUCBA →TypeScript vs CoffeeScript
    ByteScout →JAVASCRIPT VS COFFEESCRIPT VS TYPESCRIPT

    ※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

    基本情報

    概要

    TypeScript(タイプスクリプト)とは、JavaScriptを拡張したプログラミング言語です。Microsoftによって開発された言語で、「静的型付け」「クラスベースオブジェクト指向」などの特徴があります。

    基本説明

    TypeScriptは、大規模アプリケーション開発/汎用的用途を想定して、JavaScriptの弱点や使いにくい点を改善しています。

    Java/C#に近い感覚のプログラミング言語で「JavaScriptのコードをより書きやすくし、厳密さを向上させたもの」といえます。

    経緯

    C#のリードアーキテクトであるアンダース・ヘルスバーグ氏が開発に関わっています。

    2012年ごろ、開発開始
    2014年4月、バージョン1.0リリース

    TOPに戻る

    主な特徴

    JavaScript上位互換

    TypeScriptは、JavaScriptに対する上位互換性があります。TypeScriptで書かれたソースコードをコンパイルすると、JavaScriptのソースコードを出力します。つまり、TypeScriptで書かれたコードは、JavaScriptコードが動作するすべての環境で動作します。

    基本的な制御構文/文法は、ほぼJavaScriptと同一です。

    型定義ファイルのサポートにより、既存のJavaScriptライブラリを利用できます。メジャーなライブラリについては型情報ファイルが用意されています。

    言語仕様特徴

    ・静的型付け
    ・クラスベースのオブジェクト指向
    ・既存の外部のライブラリ(jQueryなど)もそのまま使える
    ・1つの関数定義で異なるデータ型の引数を処理できる
    ・文字列によるオーバーロード(引数の文字列によって異なる関数を実行できる)
    ・JavaScript標準「ECMA標準」に準拠

    「静的型付け」のメリット

    「JavaScriptが動的型付け」であるのに対して「TypeScriptは静的型付け」であることが最大の特色です。静的型情報があることにより、IDE(統合開発環境)/エディタのサポートを受けやすく、型によるバグを大幅に縮小できます。

    JavaScriptとの互換性の関係により、動的型付けも使用できます。

    主な言語拡張

    ・型注釈(変数/引数/戻り値など)の型宣言
    ・コンパイル時型チェック
    ・型推論
    ・インターフェイス
    ・列挙型
    ・Mixin
    ・ジェネリック
    ・名前空間
    ・タプル
    ・共用体型
    ・型エイリアス

    コンパイラ「tsc」

    コマンドラインツール型コンパイラ「tsc」が用意されています。各種JavaScriptエンジン上で動作します。

    コンパイラ設定により、「ECMAScript 3」「ECMAScript 5」「ECMAScript 6」など、出力コード種別の切り替えを行えます。

    TypeScriptに対応している主な開発環境

    IDE
    ・Microsoft Visual Studio
    ・Visual Studio Code
    ・WebMatrix
    ・IntelliJ IDEA
    ・WebStorm
    ・Eclipse
    ・NetBeans
    ・WebStorm

    テキストエディタ
    ・Sublime Text
    ・Emacs
    ・Vim
    ・Atom

    クラウド型IDE
    ・Cloud9 IDE
    ・Codenvy
    ・Codeanywhere

    TOPに戻る

    同様製品

    同様な機能を提供する製品として、次のようなものがあります。

    オープンソース製品:「Node.js」「JXCore」など。

    TOPに戻る

    導入事例

    Googleが主導するWebフレームワーク「AngularJS 2」の開発言語として採用されています。

    TOPに戻る

    ライセンス情報

    TypeScriptのライセンスは「Apache License 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

    TOPに戻る

    ダウンロード

    ダウンロードページ

    TOPに戻る

    ※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。


    「CoffeeScript」基本情報

    ■概要

    CoffeeScript(コーヒースクリプト)とは、JavaScriptベースのプログラミング言語です。簡単な方法でJavaScriptの良い部分を公開しようとする試みとして開発されており、CoffeeScriptで作成したコードはJavaScriptコードにコンパイルされます。

    ■基本説明

    CoffeeScriptは「Ruby」「Python」「Haskell」などのプログラミング言語から影響を受けたシンタックスシュガーの導入により、JavaScriptと比較して簡潔さと可読性を向上させている言語です。

    「配列内包(Array comprehensions)機能」や「パターンマッチング機能」などの機能が追加されています。

    ■主要開発元

    「CoffeeScript」はJeremy Ashkenas氏を中心として開発されています。

    Jeremy Ashkenas氏は、CoffeeScriptの他に、以下の開発者としても知られています。
    ・プログラミング言語「LiveScript」
    ・JavaScriptフレームワーク「Backbone.js」
    ・JavaScriptライブラリ「Underscore.js」

    ■経緯

    ・2009年:初版リリース
    ・2017年:バージョン2.0.0リリース---CoffeeScriptのシンプル構文を維持しつつJavaScript互換性強化

    ■ユースケース

    CoffeeScriptは「短期開発」「小規模開発」のような開発プロジェクトに向いています。

    ■オフィシャルサイト情報

    オフィシャルサイト

    →CoffeeScript(coffeescript.org)

    ライセンス情報

    CoffeeScriptのライセンスは「MIT License」です。

    詳細について、こちらを参照ください。
    →GitHub →jashkenas/coffeescript →LICENSE

    ダウンロード

    →CoffeeScript →Installation

    ■同様製品

    同様な機能を提供する製品として、次のようなものがあります。

    オープンソース製品:「TypeScript」など。

    「CoffeeScript」の主な特徴

    ■JavaScriptにコンパイル

    CoffeeScriptのコードは1対1で同等のJavaScriptにコンパイルされます。

    コンパイルされた出力は読みやすく整えられます。

    ■コード行数削減

    CoffeeScriptは、JavaScriptと比較して、より短いコードでプログラムを記述できます。

    JavaScriptに比べ1/3程度の行数を削減できます。

    ■動作パフォーマンス

    CoffeeScriptは、同等の手書きのJavaScriptと比較して、パフォーマンスを下げることなく動作でき、より高速に動作するケースもあります。

    ■JavaScriptライブラリの使用

    CoffeeScriptから既存JavaScriptライブラリをシームレスに使用できます。

    その逆も可能です。

    定義ファイルがなくとも既存JavaScriptライブラリがそのまま使えるため、マイナーライブラリや自作ライブラリとの共存も可能です。

    ■Node.jsでの動作

    CoffeeScriptがサポートする最新のJavaScript機能のほとんどは「Node.js 7.6」以降でネイティブに実行できます。

    つまり、Node.jsはそれ以上の処理を必要とせずにCoffeeScriptの出力を実行できます。

     

    参考元サイト

    ※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。