Zanmemo

by esehara

RSS

New Memo

いい言語が必ずしも好きな言語であるとは限らない


考えてみれば、前提として「いい言語」が「好きな言語」みたいな風潮があるけれども、決してそういうことでない感じもする。

好きな言語

良い言語


一つの仮説としては、良い言語と思わせる部分としては一貫性があるということに尽きると思う。例えばRubyは基本的にはオブジェクト指向を崩そうとしない部分がある。それは同じようなスクリプト言語であるところのPythonと比較すればわかりやすい。Pythonの場合、どうしても突貫的なオブジェクト指向という側面は避けられない。


場合によっては、一貫性があることと簡潔であるかということはまた別問題のような気がする。本来、一貫性があるということは、ルールができるだけ一意に決まるため、簡潔になる側面がある筈なのだが、どうもそうではない部分も多い気がする。


Random Pickup

参加者前提が、大規模になると必然的に「消費者」と「運営者」に分かれてしまうという現象

厳密に考えないと正直難しいかもしれないけれど、例えばコミックマーケットにしろ、あるいはインターネットにしろ、オープンソースにしろ、あと身じかなところだとKickStarterがある。

その当初は単純なる「善意の参加者」を中心とした相互運用的なものであるように感じるのだけれど、だんだんとそれらが大規模化するにしたがって「消費者」と「運用者」に分かれてしまうのは何だろうなーと考えている。

たぶん、この現象を一番明確に現しやすいのはフリーライダーというのが、言葉としては正しい気がするんだが、フリーライダーというと問題の焦点がズレていて、いわば参加者としてのコミットレイアーが違う、といったほうが正しいだろう。


架空のことわざ 『三分で出来るインスタントも、お湯から沸かせば十分になる』

「俺の塩」を食べていたら、そういう気分になったので、ここにメモしておく。アメリカの若者に流行っている言い回しとするか。あえて、このことわざが言わんとする意味も書き記すと、「確かに実際の作業時間はごく一部かもしれないが、準備時間も含めれば大変な時間になる」ということの言い回しである。


むき出しのテクノロジーと隠蔽されたテクノロジーについて考えてみる


なんでそういう区分をするのかというと、下の記事を見たからだ。

一ヶ月、Rubyを本気で独学した結果(文系向け) - 30ruby記」を読んでいて、自分のスタンスと似ているところがあるなあと思いつつも、何か違うなあという違和感も同時にあってなかなか面白いなあと思いつつある。それは多分、僕が二年、三年目くらいにプログラミングを仕事にしてきた部分での差異でもあって、その差異が邪魔しているんだろうなと思ったりした。

同意する部分

似ている部分としては、割とプログラミングをやろうとしたきっかけというのが、「あ、これからはプログラミングだな」という、割とそういうざっくりとした思いだったというのがあって、そういう意味では、「これが出来れば、現代社会における一割くらいのモノは理解できるのではないか」みたいな、そういうスタンスだったのは否定は出来ないし、そういうスタンスとして始めた自分としては、全体の違和感というのは、僕にとっては「なるほどな」と思ったりする。

あともう一つとしては、自分は学んだりすると、妙にスレて、斜め上からの視点になったりするけれど、本当はそういう風に構えるのはよくなくて、本当はこれくらい「ああ、凄い……凄いぞ……」と思えるスタンスというのは重要だなあ、と思ったりもする。

違和感の部分

たぶんこの熱量の違いみたいなものは、別にRubyじゃなくてもよく、極端なことを言えば、HSPとか、それこそRPGツクールでもいいと思う部分にある気がしている。これは馬鹿にしているかもしれないけれど、でも僕はRPGツクールは、現状で最も成功したゲームフレームワークだと思っている。そして、RPGツクールで作ったゲームを、少なくともインディーズでお小遣いを稼ぐ程度のものとして出している人たちも知っている。

で、それをテクノロジーと考えるか否かというのは、ぶっちゃけどうでもよい。ただ、「これを使えば、簡単に製品が作れるぜ~」という意味での、「魔法を手にした自分への万能感」と、それを「テクノロジーを学べ、お前ら」という部分での差異というのは、割と違っていて、もちろんある種のTechというのが、気軽にモノを作れる為にあることはあるんだけど、ただ、それを「利用すること」と、「その原理を利用すること」というのは、ぶっちゃげ違う部分にあるよなあ、とかそういうところがモニョる部分かもしれない。


自分で使うと改善がはかどる一方で、ソースが目に付かなくなる

なんとか毎日、思いつくところであったり、目につくところを考えながらアップデートしている。

自分で使うと改善が進むのでいいのだけれど、とはいえ従来の怠け癖のためか、じゃあリファクタリングしようか、とかそういう部分に関しては「動いているからいいじゃないの」という感じになってしまうのは良くない気がしている。

そういうことを考えると、そもそもリファクタリングという行動自体が、何らかの強いモチベーションとなっているのだな、ということに気がつかされる。人間は、元々ブロックをAからBに動かすのも面倒くさいという場合もあるのだと思う。

汚さと未熟さ

基本的に、汚く書くのは簡単だ。それは「速さの面」からも言えるけれども、「未熟さの面」からも言えるような気がしている。例えば、自分はRails 4で始めてCoffeeScriptに触った。

もちろん、CoffeeScriptの熟練度なんて無しに近いわけだから、当然のことながら汚い感じになってしまっている。もちろん、CoffeeScriptなんてそんなに書いていないわけだから、汚いということがどういうことなのか、という問題があるが、「たぶんこういう筈じゃないんだよな」というのは、直感として解る。

別段、綺麗に書けというわけではなく、「そこそこに見られるコードを書く」というのは、熟練度の問題でもあるなあということに気がつかされた。そもそも、熟練したら「読めなくはないコード」は書けても、汚いコードは書けなくなる。料理人のまかないがそこそこおいしいのと一緒で、「なんかこんな筈じゃない」と思ったら、少し見直す必要があるのかもしれない。


『ビックバン・ポリシー』雑感

海外にビックバンポリシーというのがある。この番組は、いわ科学者であるところの奇妙な大学教員達が、ナード的な生活を送ったり、周囲に問題を起こしたりする。コメディドラマなのかはしらないけど、恋愛模様が軸になっていて、主人公が謎にモテたりするようなエロゲー体質であって、それなりに細かいネタもなかなか気が利いていていい。ただ、同時に『げんしけん』みたいな、ある種のユートピアみたいなところもあって、嫌なところはありつつも、それなりに楽しそうだなと思わせてくれるのが面白いなと思う。


いい言語が必ずしも好きな言語であるとは限らない


考えてみれば、前提として「いい言語」が「好きな言語」みたいな風潮があるけれども、決してそういうことでない感じもする。

好きな言語

良い言語


一つの仮説としては、良い言語と思わせる部分としては一貫性があるということに尽きると思う。例えばRubyは基本的にはオブジェクト指向を崩そうとしない部分がある。それは同じようなスクリプト言語であるところのPythonと比較すればわかりやすい。Pythonの場合、どうしても突貫的なオブジェクト指向という側面は避けられない。


場合によっては、一貫性があることと簡潔であるかということはまた別問題のような気がする。本来、一貫性があるということは、ルールができるだけ一意に決まるため、簡潔になる側面がある筈なのだが、どうもそうではない部分も多い気がする。