SlideShare uma empresa Scribd logo
1 de 9
プログラミング言語の比較1
  表. 代表的な手続き型・オブジェクト指向プログラミング言語
     (*) C言語は関数ポインタを引数や戻り値として渡せる
言語                手続き型(P)    静的(S) /          クラス   引数の      戻り値      クロー
                  / 宣言型(D)   動的(D)型付け         と継承   関数       の関数      ジャー
Pascal            P          S                No    No       Yes      No
COBOL85           P          S                No    No       No       No
Fortan90          P          S                No    Yes      Yes      No
C99               P          S                No    Yes(*)   Yes(*)   No
C++11             P          S                Yes   Yes      Yes      Yes
C# 4.0            P          S                Yes   Yes      Yes      Yes
D 2.0             P          S                Yes   Yes      Yes      Yes
Objective-C 2.0   P          S                Yes   Yes      Yes      Yes
Java 7            P          S                Yes   No       No       No

      2012/12/3                  博士論文 予備公聴会                            1
プログラミング言語の比較2
                表. 代表的なスクリプト言語
(*) JavaScriptはプロトタイプを用いてクラスや継承を表現可能
言語             手続き型(P)    静的(S) /      クラス      引数の   戻り値   クロー
               / 宣言型(D)   動的(D)型付け     と継承      関数    の関数   ジャー
JavaScript     P          D            Yes(*)   Yes   Yes   Yes
CoffeeScript   P          D            Yes      Yes   Yes   Yes
TypeScript     P          S            Yes      Yes   Yes   Yes
Perl           P          D            Yes      Yes   Yes   Yes
PHP 5.3        P          D            Yes      Yes   Yes   Yes
Python         P          D            Yes      Yes   Yes   Yes
Ruby           P          D            Yes      Yes   Yes   Yes
Lua            P          D            No       Yes   Yes   Yes
Groovy         P          D            Yes      Yes   Yes   Yes

 2012/12/3                    博士論文 予備公聴会                          2
プログラミング言語の比較3
            表. 代表的な関数型・宣言型プログラミング言語
言語           手続き型(P)    静的(S) /     クラス   引数の   戻り値   クロー
             / 宣言型(D)   動的(D)型付け    と継承   関数    の関数   ジャー
Lisp         P          D           No    Yes   Yes   Yes
Scheme       P          D           No    Yes   Yes   Yes
ML           P          S           No    Yes   Yes   Yes
Scala        P          S           Yes   Yes   Yes   Yes
Kotlin       P          S           Yes   Yes   Yes   Yes
Nemerle      P          S           Yes   Yes   Yes   Yes
Haskell      D          S           No    Yes   Yes   Yes
SQL          D          S           No    No    No    No
Prolog       D          D           No    No    No    No


2012/12/3                   博士論文 予備公聴会                      3
他言語と連携可能な言語一覧1
 The Next Big
JVM 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
他言語と連携可能な言語一覧2
               表. .NET Framework上で動作する言語
             (*) JSILやSharpKitを用いて部分的にJavaScriptへ変換可能
言語                  JVM      .NET Framework JavaScript 互換性の
                    上で動作 上で動作               への変換       高い言語
C#               No      Yes                Yes(*)
F#               No      Yes                No
Visual Basic     No      Yes                No
C++/CLI          No      Yes                No
Nemerle          No      Yes                Yes
IronPython       No      Yes                No       Python
IronRuby         No      Yes                No       Ruby
IronScheme       No      Yes                No       Scheme
プロデル             No      Yes                No
クロガネ             No      Yes                No

2012/12/3                      博士論文 予備公聴会                     5
他言語と連携可能な言語一覧3
                  表. JavaScriptに変換可能な言語
               *) HaxeはC++, PHP, C#など様々な言語へ変換可能
言語               JVM    .NET Framework     JavaScript   互換性の
                 上で動作   上で動作               への変換         高い言語
CoffeeScript     No     No                 Yes
TypeScript       No     No                 Yes
Dart             No     No                 Yes
Haxe(*)          Yes    Yes                Yes          ActionScript
JSX              No     No                 Yes


万が一間違いがあったら @exKAZUu
までご一報下さい m(__)m
 2012/12/3                    博士論文 予備公聴会                               6
テストカバレッジ測定ツールの比較
ツール            測定の         階層的   無償    命令     分岐    条件    分岐条件   対応言語
               仕組み         表示          網羅     網羅    網羅    網羅
Cobertura      Binary      Yes   Yes   Yes    Yes   No    No     Java
EMMA           Binary      Yes   Yes   Yes    Yes   No    No     Java
                                                                 Java,
JCover         Code        Yes   No    Yes    Yes   No    No
                                                                 Groovy
Clover         Code        Yes   No    Yes    Yes   No    No     Java
Agitar         Binary      Yes   No    Yes    Yes   No    No     Java
OpenCover      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
テストカバレッジ測定ツールの比較
ツール             測定の        階層的     無償   命令    分岐    条件    分岐    対応言語
                仕組み        表示           網羅    網羅    網羅    条件
                                                          網羅
Intel Code
                Compiler   Yes     No   Yes   No    No    No    Java
Coverage Tool
Squish 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
                                                                Java
Semantic                                                        C++, C#
                Code       Yes     No   Yes   Yes   No    No
Designs                                                         Java など
Coverage                                                        C++, C#
                Code       Yes     No   Yes   Yes   No    No
Validator                                                       Java など
   2012/12/3                     博士論文 予備公聴会                            8
テストカバレッジ測定ツールの比較
ツール                   測定の             階層的         無償      命令       分岐       条件      分岐       対応言語
                      仕組み             表示                  網羅       網羅       網羅      条件
                                                                                    網羅
ScriptCover           Code            No          Yes     Yes      No       No      No       JavaScript
Coverage.py           Processor       No          Yes     Yes      Yes      No      No       Python
rcov                  Processor       Yes         Yes     Yes      No       No      No       Ruby
SimpleCov             Processor       Yes         Yes     Yes      No       No      No       Ruby
Devel::Cover          Processor       Yes         Yes     Yes      Yes      Yes     No       Perl
xdebug                Code            Yes         Yes     Yes      No       No      No       PHP
LuaCov                Processor       No          Yes     Yes      No       No      No       Lua

     • ツール間に測定基準・対応言語の差異
     • メトリクス測定では測定基準の差異が問題に(*)
*) Rüdiger Lincke, Jonas Lundberg and Welf Löwe: “Comparing Software Metrics Tools,” ISSTA '08 Proceedings
of the 2008 international symposium on Software testing and analysis, pp. 131-142, 2008.

     2012/12/3                               博士論文 予備公聴会                                              9

Mais conteúdo relacionado

Mais procurados

ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
Tadayoshi Sato
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita
 

Mais procurados (20)

ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
 
俺のTerraform CI/CD ライフサイクル
俺のTerraform CI/CD ライフサイクル俺のTerraform CI/CD ライフサイクル
俺のTerraform CI/CD ライフサイクル
 
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 
設計してますか?
設計してますか?設計してますか?
設計してますか?
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
 
世界最強のソフトウェアアーキテクト
世界最強のソフトウェアアーキテクト世界最強のソフトウェアアーキテクト
世界最強のソフトウェアアーキテクト
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
 
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
 
OpenAI FineTuning を試してみる
OpenAI FineTuning を試してみるOpenAI FineTuning を試してみる
OpenAI FineTuning を試してみる
 
Azure Media Services 大全
Azure Media Services 大全Azure Media Services 大全
Azure Media Services 大全
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計
 
Splunk 7.0の概要及び新機能
Splunk 7.0の概要及び新機能Splunk 7.0の概要及び新機能
Splunk 7.0の概要及び新機能
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
 
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 

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

Rのコードをキレイに見せたい
Rのコードをキレイに見せたいRのコードをキレイに見せたい
Rのコードをキレイに見せたい
mangantempy
 
プログラミング言語Cyanの紹介
プログラミング言語Cyanの紹介プログラミング言語Cyanの紹介
プログラミング言語Cyanの紹介
baban ba-n
 
Java scriptの進化
Java scriptの進化Java scriptの進化
Java scriptの進化
maruyama097
 
バリデーション駆動開発(仮称)で プロジェクトメンバー全員を幸せにした話
バリデーション駆動開発(仮称)で プロジェクトメンバー全員を幸せにした話バリデーション駆動開発(仮称)で プロジェクトメンバー全員を幸せにした話
バリデーション駆動開発(仮称)で プロジェクトメンバー全員を幸せにした話
Kentarou Takeda
 
第一回社内 Scala 勉強会(一部抜粋)その 2
第一回社内 Scala 勉強会(一部抜粋)その 2第一回社内 Scala 勉強会(一部抜粋)その 2
第一回社内 Scala 勉強会(一部抜粋)その 2
lyrical_logical
 
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼうGraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
Koichi Sakata
 

Semelhante a プログラミング言語の比較表 (20)

Scala Performance Tuning Tips
Scala Performance Tuning TipsScala Performance Tuning Tips
Scala Performance Tuning Tips
 
Cプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧めCプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧め
 
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
 
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
 
Rのコードをキレイに見せたい
Rのコードをキレイに見せたいRのコードをキレイに見せたい
Rのコードをキレイに見せたい
 
プログラミング言語Cyanの紹介
プログラミング言語Cyanの紹介プログラミング言語Cyanの紹介
プログラミング言語Cyanの紹介
 
普段Djangoを使っている人間がruby on railsを勉強してみた話
普段Djangoを使っている人間がruby on railsを勉強してみた話普段Djangoを使っている人間がruby on railsを勉強してみた話
普段Djangoを使っている人間がruby on railsを勉強してみた話
 
Java scriptの進化
Java scriptの進化Java scriptの進化
Java scriptの進化
 
正規表現リテラルは本当に必要なのか?
正規表現リテラルは本当に必要なのか?正規表現リテラルは本当に必要なのか?
正規表現リテラルは本当に必要なのか?
 
バリデーション駆動開発(仮称)で プロジェクトメンバー全員を幸せにした話
バリデーション駆動開発(仮称)で プロジェクトメンバー全員を幸せにした話バリデーション駆動開発(仮称)で プロジェクトメンバー全員を幸せにした話
バリデーション駆動開発(仮称)で プロジェクトメンバー全員を幸せにした話
 
From Java To Clojure
From Java To ClojureFrom Java To Clojure
From Java To Clojure
 
普通のプログラミング言語R
普通のプログラミング言語R普通のプログラミング言語R
普通のプログラミング言語R
 
Phperがgoをさわってみた
PhperがgoをさわってみたPhperがgoをさわってみた
Phperがgoをさわってみた
 
JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)
 
第一回社内 Scala 勉強会(一部抜粋)その 2
第一回社内 Scala 勉強会(一部抜粋)その 2第一回社内 Scala 勉強会(一部抜粋)その 2
第一回社内 Scala 勉強会(一部抜粋)その 2
 
第一回社内 Scala 勉強会(一部抜粋)
第一回社内 Scala 勉強会(一部抜粋)第一回社内 Scala 勉強会(一部抜粋)
第一回社内 Scala 勉強会(一部抜粋)
 
初心者向けGo言語勉強会
初心者向けGo言語勉強会初心者向けGo言語勉強会
初心者向けGo言語勉強会
 
Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流
 
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみるJJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
 
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼうGraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
 

Mais de Kazunori Sakamoto

Mais de Kazunori Sakamoto (12)

AI Challenge @ CODE FESTIVAL 2018 Final Round
AI Challenge @ CODE FESTIVAL 2018 Final RoundAI Challenge @ CODE FESTIVAL 2018 Final Round
AI Challenge @ CODE FESTIVAL 2018 Final Round
 
A.I. Challenge @ CODE FESTIVAL 2014 決勝戦
A.I. Challenge @ CODE FESTIVAL 2014 決勝戦A.I. Challenge @ CODE FESTIVAL 2014 決勝戦
A.I. Challenge @ CODE FESTIVAL 2014 決勝戦
 
ハッカソン形式の実践的IT教育の実施報告
ハッカソン形式の実践的IT教育の実施報告ハッカソン形式の実践的IT教育の実施報告
ハッカソン形式の実践的IT教育の実施報告
 
ACM-ICPC JavaChallenge 2014 Result
ACM-ICPC JavaChallenge 2014 ResultACM-ICPC JavaChallenge 2014 Result
ACM-ICPC JavaChallenge 2014 Result
 
ICSE2014参加報告 (SE勉強会 6/12)
ICSE2014参加報告 (SE勉強会 6/12)ICSE2014参加報告 (SE勉強会 6/12)
ICSE2014参加報告 (SE勉強会 6/12)
 
CEDEC CHALLENGE ゲームAI プログラミングコンテスト 2013 in CEDEC
CEDEC CHALLENGE ゲームAI プログラミングコンテスト 2013 in CEDECCEDEC CHALLENGE ゲームAI プログラミングコンテスト 2013 in CEDEC
CEDEC CHALLENGE ゲームAI プログラミングコンテスト 2013 in CEDEC
 
POGen: A Test Code Generator Based on Template Variable Coverage in Gray-Box ...
POGen: A Test Code Generator Based on Template Variable Coverage in Gray-Box ...POGen: A Test Code Generator Based on Template Variable Coverage in Gray-Box ...
POGen: A Test Code Generator Based on Template Variable Coverage in Gray-Box ...
 
OCCF: A Framework for Developing Test Coverage Measurement Tools Supporting M...
OCCF: A Framework for Developing Test Coverage Measurement Tools Supporting M...OCCF: A Framework for Developing Test Coverage Measurement Tools Supporting M...
OCCF: A Framework for Developing Test Coverage Measurement Tools Supporting M...
 
Webアプリの動的部分に着目したグレーボックス統合テストとテンプレート変数カバレッジの提案
Webアプリの動的部分に着目したグレーボックス統合テストとテンプレート変数カバレッジの提案Webアプリの動的部分に着目したグレーボックス統合テストとテンプレート変数カバレッジの提案
Webアプリの動的部分に着目したグレーボックス統合テストとテンプレート変数カバレッジの提案
 
JavaChallenge 2012 Special League
JavaChallenge 2012 Special LeagueJavaChallenge 2012 Special League
JavaChallenge 2012 Special League
 
JavaChallenge 2012 Result
JavaChallenge 2012 ResultJavaChallenge 2012 Result
JavaChallenge 2012 Result
 
ガイオプライベートセミナー2012秋(坂本)
ガイオプライベートセミナー2012秋(坂本)ガイオプライベートセミナー2012秋(坂本)
ガイオプライベートセミナー2012秋(坂本)
 

Último

Último (11)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

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

  • 1. プログラミング言語の比較1 表. 代表的な手続き型・オブジェクト指向プログラミング言語 (*) C言語は関数ポインタを引数や戻り値として渡せる 言語 手続き型(P) 静的(S) / クラス 引数の 戻り値 クロー / 宣言型(D) 動的(D)型付け と継承 関数 の関数 ジャー Pascal P S No No Yes No COBOL85 P S No No No No Fortan90 P S No Yes Yes No C99 P S No Yes(*) Yes(*) No C++11 P S Yes Yes Yes Yes C# 4.0 P S Yes Yes Yes Yes D 2.0 P S Yes Yes Yes Yes Objective-C 2.0 P S Yes Yes Yes Yes Java 7 P S Yes No No No 2012/12/3 博士論文 予備公聴会 1
  • 2. プログラミング言語の比較2 表. 代表的なスクリプト言語 (*) JavaScriptはプロトタイプを用いてクラスや継承を表現可能 言語 手続き型(P) 静的(S) / クラス 引数の 戻り値 クロー / 宣言型(D) 動的(D)型付け と継承 関数 の関数 ジャー JavaScript P D Yes(*) Yes Yes Yes CoffeeScript P D Yes Yes Yes Yes TypeScript P S Yes Yes Yes Yes Perl P D Yes Yes Yes Yes PHP 5.3 P D Yes Yes Yes Yes Python P D Yes Yes Yes Yes Ruby P D Yes Yes Yes Yes Lua P D No Yes Yes Yes Groovy P D Yes Yes Yes Yes 2012/12/3 博士論文 予備公聴会 2
  • 3. プログラミング言語の比較3 表. 代表的な関数型・宣言型プログラミング言語 言語 手続き型(P) 静的(S) / クラス 引数の 戻り値 クロー / 宣言型(D) 動的(D)型付け と継承 関数 の関数 ジャー Lisp P D No Yes Yes Yes Scheme P D No Yes Yes Yes ML P S No Yes Yes Yes Scala P S Yes Yes Yes Yes Kotlin P S Yes Yes Yes Yes Nemerle P S Yes Yes Yes Yes Haskell D S No Yes Yes Yes SQL D S No No No No Prolog D D No No No No 2012/12/3 博士論文 予備公聴会 3
  • 4. 他言語と連携可能な言語一覧1 The Next Big JVM 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. 他言語と連携可能な言語一覧2 表. .NET Framework上で動作する言語 (*) JSILやSharpKitを用いて部分的にJavaScriptへ変換可能 言語 JVM .NET Framework JavaScript 互換性の 上で動作 上で動作 への変換 高い言語 C# No Yes Yes(*) F# No Yes No Visual Basic No Yes No C++/CLI No Yes No Nemerle No Yes Yes IronPython No Yes No Python IronRuby No Yes No Ruby IronScheme No Yes No Scheme プロデル No Yes No クロガネ No Yes No 2012/12/3 博士論文 予備公聴会 5
  • 6. 他言語と連携可能な言語一覧3 表. JavaScriptに変換可能な言語 *) HaxeはC++, PHP, C#など様々な言語へ変換可能 言語 JVM .NET Framework JavaScript 互換性の 上で動作 上で動作 への変換 高い言語 CoffeeScript No No Yes TypeScript No No Yes Dart No No Yes Haxe(*) Yes Yes Yes ActionScript JSX No No Yes 万が一間違いがあったら @exKAZUu までご一報下さい m(__)m 2012/12/3 博士論文 予備公聴会 6
  • 7. テストカバレッジ測定ツールの比較 ツール 測定の 階層的 無償 命令 分岐 条件 分岐条件 対応言語 仕組み 表示 網羅 網羅 網羅 網羅 Cobertura Binary Yes Yes Yes Yes No No Java EMMA Binary Yes Yes Yes Yes No No Java Java, JCover Code Yes No Yes Yes No No Groovy Clover Code Yes No Yes Yes No No Java Agitar Binary Yes No Yes Yes No No Java OpenCover 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. テストカバレッジ測定ツールの比較 ツール 測定の 階層的 無償 命令 分岐 条件 分岐 対応言語 仕組み 表示 網羅 網羅 網羅 条件 網羅 Intel Code Compiler Yes No Yes No No No Java Coverage Tool Squish 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 Java Semantic C++, C# Code Yes No Yes Yes No No Designs Java など Coverage C++, C# Code Yes No Yes Yes No No Validator Java など 2012/12/3 博士論文 予備公聴会 8
  • 9. テストカバレッジ測定ツールの比較 ツール 測定の 階層的 無償 命令 分岐 条件 分岐 対応言語 仕組み 表示 網羅 網羅 網羅 条件 網羅 ScriptCover Code No Yes Yes No No No JavaScript Coverage.py Processor No Yes Yes Yes No No Python rcov Processor Yes Yes Yes No No No Ruby SimpleCov Processor Yes Yes Yes No No No Ruby Devel::Cover Processor Yes Yes Yes Yes Yes No Perl xdebug Code Yes Yes Yes No No No PHP LuaCov Processor No Yes Yes No No No Lua • ツール間に測定基準・対応言語の差異 • メトリクス測定では測定基準の差異が問題に(*) *) Rüdiger Lincke, Jonas Lundberg and Welf Löwe: “Comparing Software Metrics Tools,” ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis, pp. 131-142, 2008. 2012/12/3 博士論文 予備公聴会 9