プログラミング言語と自然言語
3年前にプログラミングを始めてからいくつかの異なるパラダイムに属するプログラミング言語にふれてきた。
これをあたりまえというか、驚くべきことというかは人によりけりだと思うが、同パラダイム内では概念をほとんど共有している。ひとつのプログラミング言語を学べば、そこで学んだ概念は異なるプログラミング言語にも適用できる。
例えば、PythonとRubyは少しの文法的差異を埋めればすぐにある程度のプログラムは書けてしまう。
しかし、パラダイムをまたぐと途端にそれは難しくなる。エキスパートなRubyプログラマでも、関数型言語を学んだことがなければHaskellで流暢にプログラム出来るようになるまでにそれなりに時間を要する。
ところで、自然言語でも似たように考えられるのではないかと思う。たとえば、英語と日本語は文法もかなり違い、これをJAVAとHaskellだとすると、日本語と漢字を共有し、英語と文法的に似ているといわれる中国語をScalaだと捉えることは出来ないだろうか。
すなわち、ネイティブ日本語スピーカーであり、英語もそこそこ話せる僕にとっての中国語は、エキスパートJAVAプログラマであり、週末にはHaskellでモナドモナドしてるあなたにとってのScalaでしかないのだ。
したがって中国語は簡単なはずである。どれほど簡単か試しに勉強してみようと思う。まずはfizzbuzzレベルを目指して。
絵心を晒す
3日に一回のペースでスケッチの本の練習をしている。
そこで、現在の絵心を記録する目的で昨日描いてみたワイングラスの絵を晒してみようと思う。数ヶ月後にはうまくなってるかな。
できるだけ毎日練習したいところだ。
理工系大学
私は理工系大学に通っているのだが、やはり教養科目とはあるものである。進学のために毎年二科目程度履修しなければならず、学生には忌み嫌われている。
今学期私はリーダーシップに関する教養科目を履修した。
この科目のテーマは、"リーダーシップとはなにか"であり、その概念から始まっていま自分たちに必要とされるリーダーシップについての考察レポートが最終課題となっている。
授業は講義形式よりも、グループを組んでリーダーシップについてディスカッションをする形で進行していく。
さまざまな人とグループを組んで話してみると、もちろん個人なのでいろんな考え方や話し方があるのだが、それを総じるとどうやらどんどんと理工系学生のステレオタイプに近づいていく。なんとおもしろい!
世間の目もあながち的外れでないようなのだ!
あーーーおもしろいっ!
ここから得られる仮説は、ステレオタイプとは集合に属する個の性質を表すのではなく、その集合全体の性質を表す。ということだ。
デザインとアート
四月から大学院でデザインサイエンスという学問にふれ始め、だんだんと"デザイン"というものの輪郭がつかめてきた気がする。
よくある勘違いなのが、デザインはアートであるということ。これは間違いなく否である。
よりよい感情経験のために、デザインにアート的側面を取り入れることはよくある。しかし、デザイン的に優れていることと、芸術的に優れていることは一致しない。これは僕の理解だが、デザインでより重視されるのは、整理されていることだと思う。
外見の整理、体験の整理、情報の整理。
一方アートはなにを持って優れているとするのかよくわからない。(誰か教えてください)
また、デザインもアートもなにかをつくるという点では一緒だが、アートはなにかの表現が本質であるのに対し、デザインは問題解決がその本質である。
なにか解決すべき課題があることが、よいデザインの条件と言えるかもしれない。
自分の頭のなかを整理するつもりで書き殴ってみたが、まだ結論がない。
もう少し理解が深まったら、また改めて書きたいと思う。