多種多様なプログラミング言語 チーム名 まほうびん 情報数学5 まほうびん 2019/04/08
1.はじめに 情報数学5 まほうびん 2019/04/08
十人十色 表現方法は異なるが、 どれも伝えたいことは同じ! 世界にはすごくたくさんの言語があります! 「こんにちは」(日本語) 十人十色 世界にはすごくたくさんの言語があります! 「こんにちは」(日本語) 「Hello!」(英語) 「ニーハオ」(中国語) 「グーテンターク」(ドイツ語) 「アンニョンハセヨ」(韓国語) 表現方法は異なるが、 どれも伝えたいことは同じ! 情報数学5 まほうびん 2019/04/08
十人十色 echo(‘Hello, World!’);←「PHP」 十人十色 人間の言語と同じようにコンピュータプログラミングの 世界でも、同じことを実現する場合でも、言語によっ て表現が異なります。 例えば・・・ 「Hello, World!」と表す時 print ‘Hello, World!’←「Perl」 printf(‘Hello, World!’);←「C」 System.out.println(‘Hello, World!’); ←「Java」 echo(‘Hello, World!’);←「PHP」 情報数学5 まほうびん 2019/04/08
プログラミング言語の数 なんと、約150種類!! しかも1つ1つ特徴や機能が異なっている! 実際にいくつか見てみましょう! プログラミング言語の数 みなさんはどのくらいのプログラミング言語があるか 知っていますか? なんと、約150種類!! しかも1つ1つ特徴や機能が異なっている! 実際にいくつか見てみましょう! 情報数学5 まほうびん 2019/04/08
2.プログラミング言語の起源 情報数学5 まほうびん 2019/04/08
プログラミング言語の起源 機械が扱うことができるのは、特有の機械語のみ。 ←機械語は人間にとって理解するのが難しい プログラミング言語の起源 機械が扱うことができるのは、特有の機械語のみ。 ←機械語は人間にとって理解するのが難しい 人間の使う言葉で、コンピュータに指示を与える手段 がほしい!! つまり「人間の言葉」→「機械語」 の変換を行い指示をコンピュータに与える手 段として「プログラミング言語」が誕生し た! 情報数学5 まほうびん 2019/04/08
3.プログラミング言語の分類 情報数学5 まほうびん 2019/04/08
言語の分類 手続き型言語≒命令型言語 完全に分類する手段はなし! その1「言語の特性(パラダイム)に注目」 手続き型言語 命令型言語 言語の分類 完全に分類する手段はなし! その1「言語の特性(パラダイム)に注目」 手続き型言語 「手続き呼び出し」の概念に基づく言語 →「手続き」=実行すべき一連の計算のス テップを持つもの 命令型言語 コンピュータが実行すべき命令で構成 手続き型言語≒命令型言語 情報数学5 まほうびん 2019/04/08
言語の分類 オブジェクト指向言語 関数型言語 宣言型言語 その他たくさんの分類がある! 複数のパラダイムを対応した言語もあり、 言語の分類 オブジェクト指向言語 相互にメッセージを送りあうオブジェクトの集まりとしてプロ グラムを構成する 関数型言語 すべての計算が関数の評価により行われる言語 宣言型言語 処理方法ではなく、対象の性質などを宣言することで、プ ログラムする。 その他たくさんの分類がある! 複数のパラダイムを対応した言語もあり、 これを「マルチパラダイム言語」という。 情報数学5 まほうびん 2019/04/08
言語の分類 その2「型付け」 静的型付け 動的型付け 変数や関数があらかじめ定められたデータ型の対象のみ を処理する命令型言語 言語の分類 その2「型付け」 静的型付け 変数や関数があらかじめ定められたデータ型の対象のみ を処理する命令型言語 動的型付け 定義上では型の限定を行わず、実行時に合致するデータ が渡されると期待する、または合致するデータであるかを 判定し、必要なら適切な変換を施したり別の機能に委譲す るような立場 対義語 情報数学5 まほうびん 2019/04/08
4.言語の紹介 情報数学5 まほうびん 2019/04/08
①C言語 1973年に誕生 手続き型言語 愛用者がとても多い <特徴> 表現方式が簡単 演算子・データ構造などが豊富 プログラミングの書式にほとんど制約がない (自由度がかなり高い!) など (コンピュータ・エージ社 基本情報技術者テキスト システム開発と運用 より) ※C++はCをオブジェクト指向化したもの 情報数学5 まほうびん 2019/04/08
②Java 1994年に誕生 構文等は、CやC++から多く受け継いでいる。 命令型言語・オブジェクト指向 静的型付け 汎用性、効率性、プラットフォーム間での移植性、お よび安全性に優れた言語 情報数学5 まほうびん 2019/04/08
②Java Javaが使われているもの 8 億台以上の PC 21 億台以上の携帯電話とその他の携帯デバイス (情報提 供: Ovum) 35 億枚以上のスマートカード セットトップボックス、プリンタ、Web カメラ、ゲーム、カーナ ビゲーションシステム、宝くじ端末、医療機器、駐車料金支 払機などその他多数 ( http://java.com/ja/ 、Java公式Webサイトより) 情報数学5 まほうびん 2019/04/08
③Perl(パール) 1987年に誕生 「Pratical Extraction and Report Language」 →和訳すると「実用データ取得レポート作成言語」 手続き型、オブジェクト指向 無料で環境が手に入る→誰でも使える! テキスト処理に長けている (参考:初めてのPerl、オライリー社) 情報数学5 まほうびん 2019/04/08
④なでしこ なんと、日本語のプログラミング言語がある!! 名前の由来は「なでしこジャパン」 言語「ひまわり」の後継言語 <特徴> ④なでしこ なんと、日本語のプログラミング言語がある!! 名前の由来は「なでしこジャパン」 言語「ひまわり」の後継言語 <特徴> 自然な日本語を使ってプログラムが作れる。 文法が単純で敷居が低くプログラミング入門に最適。 ほんの数行のプログラムでメール送信やファイルの圧縮な ど本格的な仕事がこなせる。 情報数学5 まほうびん 2019/04/08
④なでしこ とってもカンタン!! 日本語のプログラムを見たことありますか? <例> 恋人の誕生日までのカウントダウン ファイル圧縮 ④なでしこ 日本語のプログラムを見たことありますか? <例> 恋人の誕生日までのカウントダウン 恋人の誕生日は「{今年}/12/24」。 今日から恋人の誕生日までの日数差を表示。 ファイル圧縮 マイドキュメントを「backup.lzh」へ圧縮。 とってもカンタン!! (参考:http://nadesi.com/、なでしこ公式HP) 情報数学5 まほうびん 2019/04/08
実生活への応用 ゲーム →パソコンゲームはC言語 →ケータイゲームはJava 家電 電子レンジ 洗濯機 などなど 情報数学5 まほうびん 実生活への応用 ゲーム →パソコンゲームはC言語 →ケータイゲームはJava 家電 電子レンジ 洗濯機 などなど 情報数学5 まほうびん 2019/04/08
5.まとめ 情報数学5 まほうびん 2019/04/08
1位はJava! 人気No.1は? それぞれ一長一短はあるものの、使用人数に差があ る。 さて、利用者1位は?? (http://journal.mycom.co.jp/photo/news/2010/01/12/022/images/002l.jpg、 TIOBE Programming Community Index for January 2010の結果) 情報数学5 まほうびん 2019/04/08
まとめ 言語によって、一長一短であるが、1つ1つの言語の 特徴を活かして、生活に応用されている(使われ方が 違う) まとめ 言語によって、一長一短であるが、1つ1つの言語の 特徴を活かして、生活に応用されている(使われ方が 違う) どの言語もわれわれが生活を送る上で大事な役割を 担っているので、不要な言語などないはず!! 情報数学5 まほうびん 2019/04/08
御清聴ありがとうございました 情報数学5 まほうびん 2019/04/08