読書と日常をプログラミングする

NyaoPress 読書と日常

妄想 技術・科学

プログラミング環境のはなし

投稿日:

僕が最初に出あったプログラミング言語はBASICだった。中学生の頃、電気屋にパソコンともオフコンともつかないようなマシンが展示されはじめた。そこでとりあえず横においてあったマニュアルを片手にBASICのコードを打ち込んでとにかくRUNした。
まだまだ自分用のパソコンを持つなんて夢のまた夢みたいな時期で、とりあえずコンピュータはBASICで動くモノだと思っていた。
そのうちBASICはインタプリタというものであって、対極にコンパイラというものがあるということを知った。コンパイラが出てくればマシン語というものがあるということも知る事になった。
この辺からちょいと僕の言語遍歴は変わってくる。
始めて自分用に手に入れたパソコンは6301というCPUを積んでいた。周りのみんなはどちらかというとZ80とか、いわゆる86系で遊んでいた。6301が気にいったのは当時の8bitCPUの中では珍しく16bitのレジスタを持っており、8bitの掛け算命令を持っていて、将来の16bit化が明確に見えたCPUだったからだ。
このCPUは後に68000系に発展してMacなんかで活躍した。
とりあえず8bitでアセンブラを学び、なんとなく高級言語とハードウエアの間にあるものが分かってきたような気がしたころ、僕はコンパイラ言語としてCとPascalに出会った。プログラムリストの左側がインデントで優雅な曲線を描くPascalは結構好きだったけど、その頃人工知能というのが流行っていて、どちらかというとインタプリタに惹かれていった。それで触っていたのがLISPとPrologだった。たぶんこれらの言語を使ったせいで、本当にコンピュータ上で知識を扱うならインタプリタじゃなきゃダメだという信念が芽生えたような気がする。
このとき憧れていたのがSmalltalkだった。グラフィカルなプログラミング環境を持ち、謎のオブジェクト指向プログラミングができる代物だ。他の言語環境も学校に行かなきゃ使えなかったが、Smalltalkの環境は高価で学校にすら存在しなかった。
今やオブジェクト指向でのプログラミングは当たり前になっているが、そこで違和感を感じるのが「オブジェクト指向プログラミング」というヤツだ。「オブジェクト」をプログラミングするわけではないのである。
「オブジェクト」をプログラミングするならコンパイラはあり得ない。インタプリタでなければならないし、外部のストレージとのやりとりなんて前時代的なことをプログラムするなんてあまりにナンセンスだ。コードもデータも融合された状態で「環境」として存在する。それが僕は理想のプログラミング環境で、それに一番近いのは今でもやっぱりSmalltalkなのではないかと思う。

とまあこんな事を書いてみたのはひさしぶりSqueakでSmalltalkのコードを読んでみたからだ。シンプルなIDEは当初からの完成度が高く、今のIDEにはあまりにも無駄が多いように感じさせるほどだ。複雑なようで覚えなければならない構文は少なく、複雑なクラスもよくできたクラスブラウザで直感的に把握しやすい。
プログラミング環境自体がオブジェクトとして作られているからプログラムの構造を検索する様なプログラムも書ける。
使えるリソースが限られる事で妥協を重ねてきたプログラミング言語とはおさらばしてSmalltalkのようなシームレスなプログラミングの世界に早くならないかなと思う。
本当の意味でのクラウドプログラミングはそういうものではないかと少々妄想気味に考えるのである。







書いた人

nyao

nyao

本を読むのが大好きです。積読本が多数。システムエンジニア経験あり。プログラミング言語はRubyが好きだけどPHPとJavaばかり書いている。最近はJavaScriptも好きになってきた。クラウド使ったお仕事募集中。

プロフィールを表示 →

-妄想, 技術・科学
-,

Copyright© NyaoPress 読書と日常 , 2017 All Rights Reserved.