プログラミング言語たち

目次

FORTRUN

新世代のFORTRUNはfortrunと書くらしい。

OKITACのガイドとレファレンスで独学。レファレンスを辞書とは知らずわからないまま読んだ。

ルンゲクッタで数値計算をした。

プログラムをカードで読み込ませる時代。

変数名に制限があったり、制御機能はIF,FOR,CALLぐらい。データ構造は配列のみ。私が知らなかっただけかもしれないが、部品とその使い方を覚えるのは簡単。どう組み合わせるかが問題。

BASIC

NEC, Sharp, 富士通, 東芝, 日立などがPCを出し、スイッチONでROMのBASICが使えるようになった。OSと一体のもの。

私が手にしたのはN88-BASIC。作成したプログラムは

成績処理

マークリーダ採点

MS-DOSになり、BACICコンパイラを使う。

Windows95になり、F-BACICコンパイラ(富士通)を使う。

BASICの最大の特徴はINPUT$()

PASCAL

ボーランドのTurbo Pascal(DOS上)を購入。

2.5を四捨五入をすると2.0になる。二進で計算しているので仕方がないという販売社と手紙で議論。

最近接偶数への丸めを30年後に知る。JIS Z 8401で規則A なのになぜか学校教育で教えない

BASICの次の言語にできなかった。

UNIXシェルスクリプト

DOSのバッチファイルはこれの不完全な真似

UNIXのコマンドを並べてバッチ(順次実行)させるもの。if, for などの制御構造が入ってプログラミング言語としての体裁がある。もともとUNIXの制御が目的なので汎用の言語とは言えない。

sh、bash、csh、ksh、tcsh、zshなど種類があり、文法も異なる。shbangはもともとどの文法で書いたかを示すもの。

Linuxの世の中になってシェルスクリプトといえばほぼbash。ときどきcshとなっている。

for f in *.jpg;do convert $f -resize 120x120 ${f%.jpg}s.jpg;done

USP(ユニバーサル・シェル・プログラミング)友の会

awk,sed

UNIXシェルで使われるコマンドだが、文字列の加工に特化した言語といえなくもない。

onion.txtの内容
onion 50
carrot 226
carrot 315
eggplant 30
....
$ awk '{sum[$1]+=$2} END {for(name in sum)print name,sum[name]}' onion.txt 
radish 397
eggplant 83
carrot 1673
onion 345

詳しくは連想配列に感動した昔

perl

種類が多く、制約の多いシェルスクリプトよりも、分かりやすかったので好んで使った。

メール再配布プログラムを作った。

サーバープログラムやプロセスのフォークについて経験を積んだ

Object思考でなかったver.4系の時代

Ruby

写真から、exifを使ってウェブページに仕立てるプログラムを作成。

その後あまり触っていない。

Python

RubyでなくPythonを選択していたらと、ちょっと後悔

初歩の勉強はしたが、スクリプト的な使用にとどまり、経験不足。

Javascript

DOMを学んでから積極的に使うようになった

授業のテキストをhtmlにした関係で、多用。

授業で使ったプログラム

PHP

校内インフラとして整備

住所録、委員・部活名簿、入学者チェック

データベースとの組み合わせは一件だけ(postgresql)。USP友の会の影響。

Java

BASICの成績処理を移植

素人に勧められる言語

無料で使える

環境に依らず動作する