種類 | 分類 | 言語 | 特徴 | |
---|---|---|---|---|
インタプリタ | Webアプリ | JavaScript | Webブラウザ上で動作(クライアントサイド) | |
vb script(vbs,vba,asp) 1 ) | 1964 開発 キーボードとディスプレイが必要 | |||
AI Webアプリ |
|
ビッグデータ データサイエンス * 、 マテリアルズインフォマティクス *、AI | ||
教育 | Scratch | ビジュアルプログラミング | ||
コンパイル | OS | C 3 ) | ポインタ、構造体 | 汎用 | VB.NET | オブジェクト指向(多重継承なし) | 汎用 | Kotlin | アンドロイドアプリ向け |
OS | C++ | オブジェクト指向 |
ファイルベースのシステムでは、コンパイラ言語は実行可能なファイルを生成し、 インタプリタ言語はそれを生成しないという違いがありました。 しかし、クラウドベースになって、実行ファイルそのものをクライアントにダウンロードしなくなり、 ジャストインコンパイルで実行結果だけを利用するようになると コンパイラ言語とインタプリタ言語の違いは、あまり本質的でなくなりました。
科学技術用の伝統的な言語としては、FORTRANがあります。 FORTRAN系列の言語としては、BASIC、pythonがあります。 統計用言語としてRがあります。
アルゴリズム重視の伝統的な言語としてALGOLがあります。 ALGOLは、Pascal, C, C++, C#,java, javascript, typescript, Kotlinと進化してきました。 juliaはCに迫る計算速度を誇ります。
サーバーサイドで使われてきたPerlや Ruby もクラウドで利用できるようになってきました。
人工知能で伝統的な言語Lispは、F#、 Schemeもクラウドで利用できるようになってきました。
人気 プログラミング言語 は、java script、そしてpython*と続きます。 *
言語 | 例 | 説明 |
---|---|---|
html | <!-- コメント -- > | |
Python (パイソン) |
# 注釈 |
#(クロスハッチ)を使います。 |
Basic (ベーシック) |
REM 注釈 ' 注釈 |
予約語REMを使うか、'(アポストロフィー)を使います。 |
C |
/* 1行コメント */ /* 複数行に渡る コメント */ | |
javascript |
// 1行コメント /* 1行コメント */ /* 複数行に渡る コメント */ |
ほとんどの言語には、注釈機能があります。 人間がよみやすくするためです。 (可読性)
言語 | 記述例 | 説明 | ||
---|---|---|---|---|
Basic | Dim A As Integer | 整数、浮動小数点、文字列、配列 | ||
C | 厳密な型宣言 | |||
Python |
# タプルの配列を円の座標で初期化 t = np.arange(start = 0, stop = 2 * math.pi, step = 0.05) xy = [ (math.sin(p), math.cos(p)) for p in t] |
複素数、リスト、タプル 配列の初期化の記述が柔軟 |
変数には変数名を付けます。 ほとんどの言語では、予約語があり、予約語は変数名に使えません。
変数名の命名規則にはいろいろありますが、スネークキャストがおすすめです。 *
要素 | 数式 | プログラミング言語 | |
---|---|---|---|
C | python | ||
変数 |
public double x; |
||
関数 |
double f(double x); |
||
関数と従属変数 |
double f(double x) { return y; } |
||
定義域 |
|
C では、VBのselect構文のように switch構文では、定義域を指定することはできません。 結局if構文をネストさせることになります。 |
python
では、switch構文はありませんが、
elif構文でネストさせずに定義域を指定できます。
if x == 0: print('0') elif x < 0: print('負') elif x > 1: print('正') else: print('発散') |
和 |
for ( i = 1; i < n; i ++ ) { s += k[i]; } |
for i in range(1, n): s = s + k[i]* |
Phthon (パイソン)は、多様なデータ構造が組み込まれているので、データ処理しやすい言語仕様です。 Anaconda(アナコンダ)や、Google Colaboratoyなどの開発環境があります。 Phthonには、数値計算ライブラリNumPyがあります。 NumPyは、CやふFORTRANで、実装されていて、高速で実行できます。 ほかにも、Matplotlib(グラフ描画ライブラリ) pandas(データ分析ライブラリ) TensorFlow(機械学習ライブラリ) OpenCV(画像処理ライブラリ) など便利なライブラリが多数あります。
応用例 | |||
---|---|---|---|
無作為抽出 |
extracted = random.sample(data, 10) |
||
平均 |
average = statistics.mean(data) average = np.mean(data) |
||
標準偏差 |
std = statistics.stdev(data) std = np.std(data) std = np.std(data, ddof=1) # 標本標準偏差 |
||
散布図 * |
import numpy as np import matplotlib.pyplot as plt # 乱数を生成 x = np.random.rand(100) y = np.random.rand(100) # 散布図を描画 plt.scatter(x, y) |
||
ヒストグラム |
import matplotlib.pyplot as plt ax1 = fig.add_subplot(211) ax1.hist(x1, bins=bins) |
||
画像 (matplotlib) の例: |
|
Phthon (パイソン)は、多様なデータ構造が組み込まれているので、データ処理しやすい 言語です。 Anaconda(アナコンダ)や、 Google Colaboratoy などの開発環境があります。 Phthonには、数値計算ライブラリNumPyがあります。 NumPyは、CやふFORTRANで、実装されていて、高速で実行できます。 ほかにも、Matplotlib(グラフ描画ライブラリ) pandas(データ分析ライブラリ) TensorFlow(機械学習ライブラリ) OpenCV(画像処理ライブラリ) など便利なライブラリが多数あります。
pymatgenライブラリは、まだあまり普及していない。 *
応用例 | |||
---|---|---|---|
注釈 |
// 注釈 |
||
Webアプリ の例: BodeNyquist.asp |
応用例 | |||
---|---|---|---|
無作為抽出 | select top(1) * from contents order by NEWID() | ||
平均 | select AVG(price) from products |
Private Sub GenerateIndex()
Set fs = CreateObject("Scripting.FilesystemObject")
Set a = fs.CreateTextFile("Everyone.html")
a.WriteLine ("<html><body>")
For i = 2 To 76
a.WriteLine ("<a href='" & Cells(i, 5) & "'>" & Cells(i, 3) & "</a><br />")
Next
a.WriteLine ("</body></html>")
a.Close
Set a = Nothing
Set fs = Nothing
End Sub
1900 Excelでさかのぼれる一番古い日 |
1946 エニアック |
紙テープ、パンチカード * |
1971 8'FDD(128kByte) * |
1976 Z80(8bit,2.5MHz,64kByte) |
1976 5.25'FDD(80kByte) |
1978 8086(16bit,5MHz,1MByte) * |
1979 PC8001(8bit, 2.5MHz, 16kByte) * |
1980 3.5'FDD(360kB) *, ** |
1982 PC9801(16bit,5MHz,1MByte) |
1982 CD 16bit,44.1kHz,650MByte |
1987 98互換機 * ,** |
1988 ISDNデジタル回線(64kbps) * |
プロテクト戦争 * |
1999 ADSL(50.5Mbps) |
1999 👨🏫 SVG |
1999 ギガイーサネット(1Gbps) * |
2006 10GBase-T(10Gbps) * |
2008 FTTH |