プログラムとコンピュータをつなぐ

コンピュータサイエンスの基礎概念

Pritesh Patel

Computer Scientist & Data Scientist for over 20 years

人間の指示をコンピュータへ橋渡し

for ループがバイナリにコンパイルされるアニメーション

プログラミング言語

  • 人が書き、バイナリに翻訳されるもの
  • 仲介役

翻訳の種類

  • コンパイル
  • インタプリテーション
コンピュータサイエンスの基礎概念

コンパイル言語:映画制作

コンパイル言語のたとえとして録音スタジオを示す画像

コンパイル言語

  • 実行前にコード全体をバイナリ(機械語)へ翻訳します。
  • 映画制作に相当します。舞台の生上演とは対照的です。
    • 上映前に台本作成・リハーサル・撮影・編集を実施
コンピュータサイエンスの基礎概念

コンパイル言語の例

プログラミング言語 ロゴ
C C プログラミング言語のロゴ
C++ C++ プログラミング言語のロゴ
Java Java プログラミング言語のロゴ
Rust Rust プログラミング言語のロゴ
Go Go プログラミング言語のロゴ

利点

  • 高速に動作

欠点

  • デバッグに時間がかかる
  • バイナリがプラットフォーム依存
コンピュータサイエンスの基礎概念

インタプリタ型言語:ライブ演劇

インタプリタ型言語のたとえとして舞台公演を示す画像

インタプリタ型言語

  • 実行時に行ごとにバイナリ(機械語)へ翻訳します。
  • 台本を舞台で生上演するのに相当します。
    • 即時実行
コンピュータサイエンスの基礎概念

インタプリタ型言語の例

プログラミング言語 ロゴ
Python Python プログラミング言語のロゴ
Javascript JavaScript プログラミング言語のロゴ
Ruby Ruby プログラミング言語のロゴ
php PHP プログラミング言語のロゴ
R R プログラミング言語のロゴ

利点

  • 柔軟で反復が速い

欠点

  • 動作が遅くなる場合がある
コンピュータサイエンスの基礎概念

Lass uns üben!

コンピュータサイエンスの基礎概念

Preparing Video For Download...