1950年代の話
1950年代、Algor(アルゴル)という言語があって、当事肩を並べていた他の言語(Fortran、LISP、COBOLなど)の中では最も成功した言語と言われていたらしい。
具体的にはこんな感じでコードを書いていく。
1 2 3 4 5 6 7 8 |
BEGIN X := 1 ; IF (X > 0) THEN BEGIN : END END |
コードブロックがBEGIN
から始まりEND
で終わるんだよね。
C言語系でいうと、
1 2 3 4 5 6 7 |
{ x = 1; if( x > 0 ) { ; } } |
こんな感じか。
条件分岐のifに関しても、{}
ブレイスを使わないところはVisual Basicなんか経験した人には馴染み深いかもしれない。
Algorに影響を受けた言語Pascal
そう、Pascalはその20年後くらいに生まれた言語。Algorの影響を受けているので、コードもすごく似ているんだよな。
1 2 3 4 5 6 |
if X>0 then begin a := 10; b := 12; end |
似てるでしょ。
Pascalから派生したもの
Pascalはその後Modulaという言語に発展していくんだけど、けっこう途中で頓挫とかして、よくわからなくなる。
ただしModula2はOSを作れるレベルまで発達したそうだ。
それと同じく、Pascalから生まれたのがDelphi(デルファイ)だ。当事はボーランドという企業がDelphiというIDEを出していて、個人的にはあまりの開発し易さにびっくりしたくらい。
個人でお金貯めて一番上のエディション買おうかと思ってた。
Delphiの中身はPascal。色々拡張させているけどPascalであることは間違いない。
そして拡張されたPascalを、Object Pascalと呼ぶ。
そう、教育用に作られた手続き型言語のPascalに、オブジェクトの概念を追加して綺麗にまとめたのがObject Pascalだ。
はっきり言って人気がない
本当に人気が無い。びっくりするくらい人気が無い。
同じくGUIアプリが作れるC言語、Java(SwingとかJavaFXとか)とくらべてみると、こんなだ。
世界中から果てしなく興味すら持ってもらえてないのがわかると思う。
とは言え、世界中には少数派だけど、強烈にPascalを愛してる奴らがいるのも確かだ。
俺はそこまでではないけど、Pascal好きは正統派な変態と言っても良いくらい、研ぎ澄まされているやつが多い。
でもまぁ結局変態ではあるんだけどね。そこだけ俺と共通か。
やってみたいなら直ぐに始められる
Delphiに関しては、Rad Studio 10のベルリンエディション(ベルリンというのはただの名前で、別にドイツ語ってわけじゃない。その前はシアトルだった)ってのが無料でダウンロードできる。
そもそも今のDelphi界隈って、ボーランド社からエンバカデロ社というよくわからない名前の企業の管理下になってしまったりして、しかも1990年代っぽいデザインのクソダサいサイト(フォントサイズが超小さい+ページが重い+仕方がないから作りました的なサイト構成+読む気が失せる日本語ガイド)に登録とかしないといけないんで、はっきりいってこれじゃユーザを遠ざけてるだけだと思う。
営業努力が足りない残念な企業だね。
というわけで、Rad Studioもなんだかよくわからないし、コンパイルでエラーとかでて気持ちが萎えたので、オープンソースのIDEを使うことにする。
そう、Razarus だ。読み方は『ラザロ』だけど『ラザロス』とか『ラザルス』って言ってる人も多いね。
ダウンロードしてインストール
Razarusはオープンソースなので、今直ぐ落として今直ぐ使える。素晴らしい。
Razarusのサイトでダウンロードボタンを押すだけだ。
SourceForgeというオープンソースのソース管理してるサイトに飛ぶので、そのまま待てば良い。
10秒後くらいに勝手にダウンロードが始まる。
俺はWindowsでダウンロードしてインストールした。
ダウンロードしたexeファイルを実行し、後はドンドンボタンを押していくだけだ。
macOSの場合はおそらくライブラリが無いとか色々言われると思う。Free Pascal Compilerってのを予め落として入れておかないといけないんだっけ?
面倒くさいのでmacOSではやらない。
おわり
次回から何か適当に作って遊んでいこうと思う。
この画像は、数年前にWindowsにインストールしたNginXの起動と終了を行うバッチを、コマンドじゃなくてGUIで動かしたくてRazarusで作った。
今はもうWindowsに直接色々入れたりしてないし、そもそもVM使ってるので用無しになってしまったけど、Razarus(Object Pascal)ならこんなのがサクサク作れるようになるんだよ。