pf-14. さまざまなプログラミ
ング言語
(Python 入門)
URL: https://www.kkaneko.jp/pro/pf/index.html
1
金子邦彦
2
• プログラミング言語は多種多様
• それぞれの言語に,特性と利用シー
ンがある
• プログラミングの基本理念と基礎知
識を理解することが重要.
• 一つのプログラミング言語で基本を
身につけることで、他の言語への適
応もスムーズに進むでしょう
プログラミングを学ぶときに気を付けること
3
さまざまな
プログラミング言語
x = 100
if (x > 20):
print("big")
else:
print("small")
s = 0
for i in [1, 2, 3, 4, 5]:
s = s + i
print(s)
public class Main {
public static void main(String[] args) throws Exception
{
int x = 100;
if (x > 20) {
System.out.printf("big¥n");
} else {
System.out.printf("small¥n");
}
int s = 0;
for(int i = 1; i <= 5; i++) {
s = s + i;
}
System.out.printf("%d¥n", s);
}
}
#include <stdio.h>
int main(void){
int x, s, i;
x = 100;
if (x > 20) {
printf("big¥n");
} else {
printf("small¥n");
}
s = 0;
for(i = 1; i <= 5; i++) {
s = s + i;
}
printf("%d¥n", s);
return;
}
Python
Java C
さまざまなプログラミング言語
• Python
• C
• Java
• JavaScript
• R
• Octave
• Scheme
など
4
ここで行う作業
1.20 より大きければ「big」,
さもなければ「small」と表示
2.0 + 1 + 2 + 3 + 4 + 5 を求める
なぜプログラミング言語は
たくさんあるのでしょうか?
5
それぞれ
特徴があ
る
Java
どのコン
ピュータ
でも同じ
プログラ
ムが実行
可能
Python
シンプル
で,実行
も簡単.
初心者に
とって学
びやすい.
C / C++
コン
ピュータ
の性能を
最大限引
き出すた
めに適す
る.
R
データ処
理に特化
したコマ
ンド言語
SQL
データ
ベースに
特化した
コマンド
言語
MATLAB /
Octave
数値計算,
信号処理
などに特
化したコ
マンド言
語
Python プログラム見本
x = 100
if (x > 20):
print("big")
else:
print("small")
s = 0
for i in [1, 2, 3, 4, 5]:
s = s + i
print(s)
6
• シンプルで,実行も簡単.初
心者にとって学びやすい.
• 多種多様なパッケージを利用
することで、初心者でも容易
に強力な機能を追加できる.
Java プログラム見本
public class Main {
public static void main(String[] args) throws Exception {
int x = 100;
if (x > 20) {
System.out.printf("big¥n");
} else {
System.out.printf("small¥n");
}
int s = 0;
for(int i = 1; i <= 5; i++) {
s = s + i;
}
System.out.printf("%d¥n", s);
}
}
7
• Javaはどのコンピュータ
でも同じプログラムが実行
可能
• Windows、Linux、そして
Androidアプリなど、異な
る環境でも同じソースコー
ドで動作
• このように,Java は互換
性が高く,広範なアプリ
ケーション開発に適する
C プログラム見本
#include <stdio.h>
int main(void){
int x, s, i;
x = 100;
if (x > 20) {
printf("big¥n");
} else {
printf("small¥n");
}
s = 0;
for(i = 1; i <= 5; i++) {
s = s + i;
}
printf("%d¥n", s);
return;
}
8
• CとC++はコンピュータの
性能を最大限引き出すため
に適する
• 細かな制御や高速な実行に
向いている
• チューニングにより最適化
できる.高度なプログラミ
ングやパフォーマンス重視
のアプリケーション開発に
適する
R プログラム見本
x <- 100
if (x > 20) {
print("big")
} else {
print("small")
}
s <- 0
for (i in c(1,2,3,4,5)) {
s <- s + i
}
print(s)
9
• Rはデータ処理に特化したコ
マンド言語
• データ専門家にも適する
• Rは豊富な統計やデータ解析
の機能を提供
• データの可視化やモデリン
グなどの作業を効率的に行
うことが可能
Octave プログラム見本
x = 100
if (x > 20)
printf("big¥n")
else
printf("small¥n")
endif
s = 0
for i = [1 2 3 4 5]
s = s + i
endfor
printf("%d", s)
10
• 数値計算や信号処理などに特化
したコマンド言語
• 行列計算や信号処理などの科学
技術計算に向いている
• 高度な数値演算やデータ解析が
容易に行える
JavaScript プログラム見本
process.stdin.resume();
process.stdin.setEncoding('utf8');
var util = require('util');
var x = 100;
if (x > 20) {
process.stdout.write('big¥n');
} else {
process.stdout.write('small¥n')
}
var s = 0;
for(var i = 1; i <= 5; i++) {
s = s + i;
}
process.stdout.write(util.format('%d¥n', s));
11
• インタラクティブな
ウェブページの作成に
適する
• そのとき,ユーザーと
のリアルタイムな対話,
動的なコンテンツの表
示が可能
• 幅広い種類の OS でサ
ポートされている
(define (decide x)
(cond
((> x 20) "big")
(else "small")))
(define (sum n)
(cond
((= n 0) 0)
(else (+ (sum (- n 1)) n))))
(begin
(print (decide 100))
(print (sum 5)))
Scheme プログラム見本
12
• シンプルで明確な構文を
持つ
• 関数型プログラミング言
語
• 強力な再帰処理や高階関
数の活用が簡単にできる
さまざな種類のプログラミング言語
• プログラミングの基本理念と基礎知識を理解していくこと
が重要
• 一つの言語で基礎を身につけることで,他の言語への適応
もスムーズに進む
なぜプログラミング言語はたくさんあるのか?
• 異なるニーズや目的に対応
• 広範な用途に適するもの(Python, Java, JavaScript など)も
あれば,特定の領域でより強力な機能を提供するものも
• 自分の目標や学びたいことに応じて言語を選ぶことが重要.
複数の言語を使い分けることもある.
13