プログラミング言語 注意) コンピュータとは数値計算以外にもあらゆる情報処理を行えるものであるのに対し、アナログ計算機はそうではないので、以下、「コンピュータ」という表現と「計算機」という表現が混用されるが、意図的なものである。 ディジタル計算機とアナログ計算機という分類もあるが、アナログ計算機は現代ではほとんどマイナーな存在となったことから、単にコンピュータという表現でディジタルコンピュータを指すことが多い。

Similar presentations


Presentation on theme: "プログラミング言語 注意) コンピュータとは数値計算以外にもあらゆる情報処理を行えるものであるのに対し、アナログ計算機はそうではないので、以下、「コンピュータ」という表現と「計算機」という表現が混用されるが、意図的なものである。 ディジタル計算機とアナログ計算機という分類もあるが、アナログ計算機は現代ではほとんどマイナーな存在となったことから、単にコンピュータという表現でディジタルコンピュータを指すことが多い。"— Presentation transcript:

1 プログラミング言語 注意) コンピュータとは数値計算以外にもあらゆる情報処理を行えるものであるのに対し、アナログ計算機はそうではないので、以下、「コンピュータ」という表現と「計算機」という表現が混用されるが、意図的なものである。 ディジタル計算機とアナログ計算機という分類もあるが、アナログ計算機は現代ではほとんどマイナーな存在となったことから、単にコンピュータという表現でディジタルコンピュータを指すことが多い。

2 コンピュータの歴史 解析機関(Analytical Engine) パンチカード 階差機関 解析機関のプログラム用パンチカード
手前「演算カード」 奥「可変カード」 チャールズ・バベッジ(1791‐1871) イギリスの数学者。分析哲学者、計算機科学者。 「コンピュータの父」と言われることもある。 階差機関 一連の数値を自動的に生成するもの。有限差分法を使うことで、乗除算を使わずに関数の値を計算できる。 1834年に統計学会 創立に尽力 1801年ジャガード織機が発明 布に織り込む模様に対応した上げ下げの対応がそのまま厚紙の穴になったもの ※コンピュータプログラムと見るのは無理があるが「プログラマブルな装置」の一種である。 蒸気機関で動く はずだった 機械式計算機械 現在未完成 2021年までに完成させることを目標としている。 バベッジは 解析機関(Analytical Engine) と呼んで設計を開始した。 パンチカードのループで計算機構を制御し、前の計算結果に基づいて次の計算を行うことができる。逐次制御、分岐、ループといった現代のコンピュータのような特徴すら、いくつかを備えている。 画像参考:サイエンス・ミュージアム  イギリスのロンドンにある国立科学産業博物館

3 電子式コンピュータの歴史 第三世代・・・集積回路式コンピュータ 第一世代・・・真空管式コンピュータ 第二世代・・・トランジスタ式コンピュータ
真空管とは、内部を高度に真空にし、電極を封入した中空の管(管球)のことである。陰極から陽極に流れる電子流を制御することによって増幅、検波、整流、発振などを行うことができる。 集積回路とは、複雑な回路を小さな1枚の「チップ」にまとめて作り込む技術の成果のことである。 ジャック・キルビーとロバート・ノイスがそれぞれ独自に集積回路を発明する。1970年代には、MOS型集積回路により、インテルのテッド・ホフやフェデリコ・ファジンらによってマイクロプロセッサが発明される。 ナス管(1930年代まで) ST管(1930年代 年代) GT管(1940年代 年代) mT管(1950年代 - 末期) マイクロプロセッサの登場によってマイクロコンピュータと呼ばれる小型で低価格なコンピュータが登場し、コンピュータを個人で所有できる時代が到来。1970年代に登場したマイクロコンピュータは、1980年代にはパーソナルコンピュータと呼ばれるようになり、広く普及することになる。 第二世代・・・トランジスタ式コンピュータ トランジスタは、増幅、またはスイッチ動作をさせる半導体素子で、近代の電子工学における主力素子である。transfer(伝達)とresistor(抵抗)を組み合わせた混成語である。 1974年12月アメリカ Micro Instrumentation and Telemetry Systems社(MITS) 世界初のパーソナル・ コンピューター とも呼ばれる。 1976年7月アップルが最初期に製作したマイクロコンピュータ 1947年、バイポーラトランジスタが発明され、1955年ごろからコンピュータの素子は真空管からトランジスタに移っていった

4 電子式コンピュータ(電子式アナログ計算機)の歴史 1940年ごろ
電子式コンピュータ(電子式アナログ計算機)の歴史 1940年ごろ アナログコンピュータは、歯車の位置や動き、あるいは電子部品における電圧や電流といった小規模の物理現象の数学的特性が、例えば弾道運動、慣性運動、共鳴現象、エネルギー伝達といった物理現象の数学的特性と極めてよく似ていることを利用する。つまりアナログ量として電圧や電流といった電気的な量を使い、物理現象をモデル化する。 引用:Chua, Leon O (September 1971), “Memristor—The Missing Circuit Element”, IEEE Transactions on Circuit Theory CT-18 (5): 507–519, doi: /TCT ドイツのコンラート・ツーゼが開発した計算機 Zuse Z1計算機 ドイツの暗号を解読するのに使われたColossus ケンブリッジ大学の微分解析機 (1938年)  ノルデン爆撃照準器 最も多く量産されたアナログコンピュータの1つ 第2次大戦で破壊されたが、1946年資金援助によりIBMが特許使用権を取得 ドイツの暗号機エニグマの解読にはbombeという機械を補助的に使用

5 ノイマン型コンピュータ プログラムを置く直接の記憶装置が、CPUが普通に読む(読み書きする)電子的(ないし電気的)な主記憶か、そうでない補助記憶か、という点は、今日そんなデザインはまずないが、この分類では重視する。 歴史的には、初期のプログラム駆動型の計算機には、主記憶(ROM含む)はデータの置き場としてのみ使い、プログラムは全てパンチカードや鑽孔テープのような補助記憶で与えられ、それを直接読み込みながら実行する、というものがあった。 ジョン・フォン・ノイマン ( 1903年 年) 現在のほとんどのコンピュータの動作原理である「ノイマン型コンピュータ」 ストアドプログラム方式の考案者 プログラム内蔵方式、ストアドプログラム方式は、主記憶に置かれたプログラムを実行する、という、コンピュータ・アーキテクチャの方式の一つである。 EDVAC (Electronic Discrete Variable Automatic Computer)は、ENIAC開発チームが後継機としてつくったコンピュータ。ENIACと異なり二進数を使用しており、プログラム内蔵方式である。 プログラム内蔵方式のアイディアは、ジョン・モークリーとジョン・エッカートによるENIACのプロジェクト中の検討にその芽があった。ノイマンは(理論的な、とされる)助言役として加わり、執筆者はノイマンであった。誰にどのような功績があったかは諸説ある。

6 ANSI標準・・・米国国家規格協会  ISO標準・・・国際標準化機構
プログラミング言語年表              参考 1970年頃 B言語【アメリカ・ベル研究所】 1972年 C言語【アメリカ・ベル研究所】 ※ミニコンピュータの世界では、1970年代に登場したC言語がUnixとともに広く普及 1972年 Prolog【フランス,マルセイユ大学】 ※人工知能研究とエキスパートシステム 1970年代前半 Smalltalk【アメリカ,XEROX・パロアルト研究所】 ※「オブジェクト指向」という言葉を最初に定義した言語 1974年 ML【イギリス,スコットランド,エディンバラ大学】 1977年 awk【アメリカ・ベル研究所】 ※スクリプト言語の先駆け 1977年 SQL【エドガー・F・コッドとIBM 】 1979年 Ada【アメリカ国防総省主導で開発】 1983年 C++【アメリカ・ベル研究所】 1983年 Objective-C【アメリカ ブラッド・J・コックス】 ※現在では主にアップルのmacOSやiOS上で動作するアプリケーションの開発で利用される。 1984年 PostScript【アメリカ,Adobe Systems Incorporated】 1985年 Eiffel【Interactive Software Engineering 社 (ISE社、後に Eiffel Software 社,バートランド・メイヤー】 1987年 AdaがISO標準(ISO/IEC 8652)となる 1940年代 アセンブリ言語 ※機械語の低水準言語 1943年  プランカルキュール 【ドイツ,ツーゼ】 1943年  ENIAC coding system【アメリカ】 1949年  C-10 1957年  FORTRAN 【IBMアメリカ】 ※世界初の高水準プログラミング言語 1958年  ANGOL58【ヨーロッパで開発】 ※初の構造化プログラミング言語 1959年  RPG【IBMアメリカ】 1960年  COBOL【アメリカ国防総省主導で開発】 1960年  LISP【MITのジョン・マッカーシー】 1964年 BASIC【米ダートマス大学】 ※8ビットパソコン時代 (1970年代後半-1980年代前半)の中心的な言語 1966年  PL/I【IBMアメリカ】 1966年  BCPL【ケンブリッジ大学】 1967年  Simula【ノルウェー計算センター】 1968年  Forth【アメリカ,国立電波天文台1970】 1969年  Pascal【スイス,チューリッヒ大学】

7 ANSI標準・・・米国国家規格協会  ISO標準・・・国際標準化機構
プログラミング言語年表              参考 1987年 Perl【アメリカ,ラリー・ウォール】 1988年 Mathematica【イギリス,スティーブン・ウルフラム,アメリカ・ウルフラム・リサーチ】※数式処理システム 1989年 C言語がANSI標準 1990年 Python【オランダ,グイド・ヴァンロッサム,アメリカ】 ※オブジェクト指向のスクリプト言語 1990年 C言語のANSI標準(1989)をベースとしたISO標準 1990年 Tcl/Tk【アメリカ・カリフォルニア大学】 ※スクリプト言語 Tcl と、その GUIツールキット Tk 1990年 Haskell 1.0【アメリカ,FPCA`87委員会】 1991年 Microsoft Visual Basic【マイクロソフト】 1993年 Ruby【日本島根県,まつもとゆきひろ】 1993年 Lua【リオデジャネイロ・カトリカ大学】 1995年 Delphi【アメリカ,ボーランド】 1995年 Java【サン・マイクロシステムズ】 ※オブジェクト指向言語。サーバ分野で広く使われる。 1995年 PHP/FI【ラスマス・ラードフ】※後のPHP 1996年 SuperCollider【James McCartney】 1997年 JavaScriptの標準仕様としてECMAScriptが標準化 1998年 C++がISO標準となる 1998年 Erlang【エリクソン,スウェーデンの通信機器メーカー】 2002年 C#【マイクロソフト】 2002年 ECMAScriptがISO標準 2003年 Scala【マーティン・オーダスキー,スイス連邦工科大学 】 2007年 D言語1.0【 C言語の置き換え用】 2009年 Go【 Google 】 2010年 Rust【 Mozilla】 2012年 Julia【 MIT】 2014年 Swift【アップル】 2014年 Hack【Facebook】 言語は少なからず他の言語から影響を受けたり、他の言語に影響を与えたりしている。 プログラミング言語の歴史を見える化してみた

8 Major Languages(主要なプログラミング言語) ~Ranking Programming Languages by GitHub Users~
MAU (Monthly Active Users: 月間使用者数) ソーシャルメディアやソーシャルアプリなどで、 適切な利用者数を示す値として使われる指標 JavaScript Python Java C⁺⁺ C言語 C# その他(PHP・Ruby)

9 MAUが増えているプログラミング言語と減っているプログラミング言語
GO TypeScript Kotlin Rust Google PHP Ruby Objective-C Perl Microsoft JetBrains Mozilla・・・Firefox

10 プログラミング言語 紹介ランキング2018 ©TBT
2018年10月18日 Googleでプログラミング言語と 検索 検索結果上位紹介ページ 計2 0ページ 言語ごとに集計 ※言語の紹介がないページに ついてはRedMonkやGitHubなど が発表したデータを転載してい るだけの場合があったため、重 複をさけるために、今回は対象 外とした。 ※計算を記述するのではない言語(HTMLのようなマークアップ言語など)はプログラミング言語ではない

11 結果 ⓵ PHP ⓵ Ruby ⓵ Python 2018年度現在プログラミング言語を始めるなら
             なぜなら 言語にはそれぞれ特徴があり、選択するときには誰がど のような目的でその言語を使うかが重要である。 例えば・・・ PHP・・・Web開発で使用されるスクリプト言語 PHPとJavaScriptの大きな違いはPHPはサーバーサイドでコードを実行します。JavaScriptは、クライア ントサイド(Webサイトを閲覧しているブラウザ)がコードを受け取り、そこで動作します。 スクリプトさえUPすれば、動かすことができる。 Ruby・・・Web開発で使用されるオブジェクト指向スクリプ ト言語 CやJavaといったコンパイラ言語は、プログラムを実行するためにはコンパイルという手続き(人間 が書いたソースコードを機械命令に変換)を介して初めて実行ができます。 チームでひとつのWebアプリケーションをなるべく早く作りたいときに強い。 Python・・・「人工知能(AI)」や「Web開発」などで使用され るオブジェクト指向スクリプト言語 「少ないコード量(文量)で簡単にプログラムがかける」「コードが読みやすい」といったメリット のある言語 ⓵  PHP ⓵  Ruby ⓵  Python ④  JavaScript ④  Java 6  Swift/objective-c 7  C言語 8  C# 9  Scala 9 C++

12 プログラミング言語診断してみよう。

13 まとめ


Download ppt "プログラミング言語 注意) コンピュータとは数値計算以外にもあらゆる情報処理を行えるものであるのに対し、アナログ計算機はそうではないので、以下、「コンピュータ」という表現と「計算機」という表現が混用されるが、意図的なものである。 ディジタル計算機とアナログ計算機という分類もあるが、アナログ計算機は現代ではほとんどマイナーな存在となったことから、単にコンピュータという表現でディジタルコンピュータを指すことが多い。"

Similar presentations


Ads by Google