半空洞男女関係

思ったこととかプログラミングしてるときのメモとか色々かいてます。メールはidそのままgmail

23世紀の言語の話

今日の昼休み、友達の女子高生と話をしていたのでその話を書こうと思います。


========

今日の昼休み、友達とPythonマジアツいよねーでもRubyとかもアツそうだしこれどっちがいいの?みたいな話振られて、やー、それはぶっちゃけ比較出来ないんじゃね?出来ないっしょー。結局は肌に合うかじゃないかなー。シャンプーみたいなもんじゃねー?という話に落ち着いたのだが、ふたりともこんな印象を持っていた。
Ruby:若さというか活気あふれるヤツ
Python:おとなしいが何処かひかれるところがあるヤツ
(ふたりとも出来るヤツなのには変わりない)
なにかうまい例えが無いものかなぁと思っていたのだけど、何かキャラクターで例えるのがよさそうかなぁと思っている。


それで、これからプログラミング言語ってのはどうなっていくんだろうねぇという話をしていて、ひとつ、カジュアルにプログラミングしたり、もっと日常的にプログラミングってのが行われるような時代が来て、そういう時のためにきっと、今よりもっと簡単で、便利なプログラミング言語ができてくるんじゃないかなぁ。という話をした。それで、例としてはProcessingとかScratchとかは簡単に始められていいよねーという話だった。友達の塾の先生はCとJavaを書いていたらしく、環境構築でコケたという話をしていたので、楽にはじめることが出来るこれら2つは本当にクールだなぁみたいな話もしていた。


ただ、それらもできることは限られていて、例えば何かを自動化したいだとか、そういった用途にはなかなか飛び出すことができない。いや、できないというか、やりにくいなぁとの印象だった。もっと皆がプログラミングするにあたって、パソコンでやる操作を自動化したりとか、日常に+1できるようなことが可能になれば、それはそれは面白いだろうねぇ、という話をした。


そこではっとおもいついた。Smalltalkが頭にうかんできた。Smalltalkというか、Squeakなのかもしれないけれど(ちょっとそのあたりの区別がついていない。)。僕もあまりSmalltalkについて知らないけれど、ScratchのウラメニューからSqueakの世界に踏み込み、Smalltalkの本で見たあのウィンドウを見たり、触ったりした限りだと、こんな印象を持った。


・全てがオブジェクト:ひとつひとつがオブジェクトで、それに対して操作ができる
・結構変更可能:そのオブジェクトの中身を自分でいじって、書き換えることができる


Smalltalkがこういうつくりになっているのかなっていないのかについてはとりあえず置いておいて、仮に今のOSが、こういうことが可能になったとしたらどうなんだろうと話をした。ああ、ここのボタン配置イカしてないなぁ、と思ったらちょちょっと書き換えてオレオレアプリにしちゃうとか、このゲーム一周しちゃったから、マップ変えたいなぁ、マップのディレクトリを探して…あった!これだこれ。これを書き換えれば…うしし。みたいなことをしたりとか、そういうのも出来るようになるのかなぁ、みたいな話をした。


たぶん、コレができるとかなりまずくなってしまうことも多くなる気もする。たとえばプロトコルが守られなかったりとか、意図しないことが起きて大変なことになったりすることだと思う。でも、そういった世界を今想像できてるってことは、たぶん実現可能なんだよねぇ。それが普及するにせよ普及しないにせよ。みたいな話をして、予鈴の鐘がなってしまった。つぎは日本史のじかん。