プログラミング言語の比較表

3,905
-1

Published on

D論の副産物です.

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,905
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

プログラミング言語の比較表

  1. 1. プログラミング言語の比較1 表. 代表的な手続き型・オブジェクト指向プログラミング言語 (*) C言語は関数ポインタを引数や戻り値として渡せる言語 手続き型(P) 静的(S) / クラス 引数の 戻り値 クロー / 宣言型(D) 動的(D)型付け と継承 関数 の関数 ジャーPascal P S No No Yes NoCOBOL85 P S No No No NoFortan90 P S No Yes Yes NoC99 P S No Yes(*) Yes(*) NoC++11 P S Yes Yes Yes YesC# 4.0 P S Yes Yes Yes YesD 2.0 P S Yes Yes Yes YesObjective-C 2.0 P S Yes Yes Yes YesJava 7 P S Yes No No No 2012/12/3 博士論文 予備公聴会 1
  2. 2. プログラミング言語の比較2 表. 代表的なスクリプト言語(*) JavaScriptはプロトタイプを用いてクラスや継承を表現可能言語 手続き型(P) 静的(S) / クラス 引数の 戻り値 クロー / 宣言型(D) 動的(D)型付け と継承 関数 の関数 ジャーJavaScript P D Yes(*) Yes Yes YesCoffeeScript P D Yes Yes Yes YesTypeScript P S Yes Yes Yes YesPerl P D Yes Yes Yes YesPHP 5.3 P D Yes Yes Yes YesPython P D Yes Yes Yes YesRuby P D Yes Yes Yes YesLua P D No Yes Yes YesGroovy P D Yes Yes Yes Yes 2012/12/3 博士論文 予備公聴会 2
  3. 3. プログラミング言語の比較3 表. 代表的な関数型・宣言型プログラミング言語言語 手続き型(P) 静的(S) / クラス 引数の 戻り値 クロー / 宣言型(D) 動的(D)型付け と継承 関数 の関数 ジャーLisp P D No Yes Yes YesScheme P D No Yes Yes YesML P S No Yes Yes YesScala P S Yes Yes Yes YesKotlin P S Yes Yes Yes YesNemerle P S Yes Yes Yes YesHaskell D S No Yes Yes YesSQL D S No No No NoProlog D D No No No No2012/12/3 博士論文 予備公聴会 3
  4. 4. 他言語と連携可能な言語一覧1 The Next BigJVM Language 表. JVM上で動作する言語 (*) Google Web Toolkitを用いて部分的にJavaScriptへ変換可能 言語 JVM .NET Framework JavaScript 互換性の 上で動作 上で動作 への変換 高い言語 Java Yes No Yes(*) Scala Yes Yes No Kotlin Yes Planned Yes Xtend Yes No No Ceylon Yes No Yes Fantom Yes Yes Yes Gosu Yes No No Clojure Yes No No Lisp Jython Yes No No Python JRuby Yes No No Ruby 2012/12/3 博士論文 予備公聴会 4
  5. 5. 他言語と連携可能な言語一覧2 表. .NET Framework上で動作する言語 (*) JSILやSharpKitを用いて部分的にJavaScriptへ変換可能言語 JVM .NET Framework JavaScript 互換性の 上で動作 上で動作 への変換 高い言語C# No Yes Yes(*)F# No Yes NoVisual Basic No Yes NoC++/CLI No Yes NoNemerle No Yes YesIronPython No Yes No PythonIronRuby No Yes No RubyIronScheme No Yes No Schemeプロデル No Yes Noクロガネ No Yes No2012/12/3 博士論文 予備公聴会 5
  6. 6. 他言語と連携可能な言語一覧3 表. JavaScriptに変換可能な言語 *) HaxeはC++, PHP, C#など様々な言語へ変換可能言語 JVM .NET Framework JavaScript 互換性の 上で動作 上で動作 への変換 高い言語CoffeeScript No No YesTypeScript No No YesDart No No YesHaxe(*) Yes Yes Yes ActionScriptJSX No No Yes万が一間違いがあったら @exKAZUuまでご一報下さい m(__)m 2012/12/3 博士論文 予備公聴会 6
  7. 7. テストカバレッジ測定ツールの比較ツール 測定の 階層的 無償 命令 分岐 条件 分岐条件 対応言語 仕組み 表示 網羅 網羅 網羅 網羅Cobertura Binary Yes Yes Yes Yes No No JavaEMMA Binary Yes Yes Yes Yes No No Java Java,JCover Code Yes No Yes Yes No No GroovyClover Code Yes No Yes Yes No No JavaAgitar Binary Yes No Yes Yes No No JavaOpenCover Processor Yes Yes Yes Yes No No C#NCover Source Yes No Yes Yes No No C#dotCover Binary Yes No Yes No No No C#gcov Compiler No Yes Yes Yes No No C++COVTOOL Code No Yes Yes No No No C++Bullseye Code Yes No Yes Yes Yes Yes C++ 2012/12/3 博士論文 予備公聴会 7
  8. 8. テストカバレッジ測定ツールの比較ツール 測定の 階層的 無償 命令 分岐 条件 分岐 対応言語 仕組み 表示 網羅 網羅 網羅 条件 網羅Intel Code Compiler Yes No Yes No No No JavaCoverage ToolSquish Coco Code Yes No Yes Yes Yes Yes Java C++,TCAT Code Yes No No Yes No No Java C++, C#Parasoft Test Code Yes No Yes Yes Yes Yes Java C++, C#PurifyPlus Binary Yes No Yes Yes Yes Yes JavaSemantic C++, C# Code Yes No Yes Yes No NoDesigns Java などCoverage C++, C# Code Yes No Yes Yes No NoValidator Java など 2012/12/3 博士論文 予備公聴会 8
  9. 9. テストカバレッジ測定ツールの比較ツール 測定の 階層的 無償 命令 分岐 条件 分岐 対応言語 仕組み 表示 網羅 網羅 網羅 条件 網羅ScriptCover Code No Yes Yes No No No JavaScriptCoverage.py Processor No Yes Yes Yes No No Pythonrcov Processor Yes Yes Yes No No No RubySimpleCov Processor Yes Yes Yes No No No RubyDevel::Cover Processor Yes Yes Yes Yes Yes No Perlxdebug Code Yes Yes Yes No No No PHPLuaCov Processor No Yes Yes No No No Lua • ツール間に測定基準・対応言語の差異 • メトリクス測定では測定基準の差異が問題に(*)*) Rüdiger Lincke, Jonas Lundberg and Welf Löwe: “Comparing Software Metrics Tools,” ISSTA 08 Proceedingsof the 2008 international symposium on Software testing and analysis, pp. 131-142, 2008. 2012/12/3 博士論文 予備公聴会 9
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×