Zanmemo

by esehara

RSS

New Memo

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


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

好きな言語

良い言語


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


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


Random Pickup

苛立ちを鎮める方法について考える。


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

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


その仕事にとって「優秀な人」というのはなんだろう

優れたエンジニアを採用できないワケ」を読んでいて、少々冷汗を書いたりしていた。以下はその理由だ。

傲慢さやだらしなさ、細かいことに対する注意力の欠如などは、すぐに目に付きます。それらに気付いた場合、採用は見送ったほうが賢明でしょう。

ここはモロに当てはまるのだけれど、同様に、「優秀さ」ということについて、深く考えさせられる。技術者にとって「優秀さ」といった場合、「技術的な解決方法に長けている人」であったり、「チームで開発する上において、足並み揃えて仕事が出来る」であったり、あるいは「その物事に対して深く精通している」という意味であるかもしれない。これら三つについて、どれに焦点を絞るのか、ということについて混乱がある気がする。

上の記事は、「自分たちが欲しい人材」、つまり「僕達にとって優秀さということはこういうことですよ」という意味での価値だと思うし、それを提示するのは正しい一方で、多くの人々にとって、そもそも「自分たちにとって優秀なエンジニアとはなにか」ということを具体化せずに「優秀さ」という曖昧な概念を考えているというのがアレなのかもしれないな、とは思う。

とはいえ

何度も面接を落ちている自分がこういうことを書くのは滑稽なのかもしれない。


機能が慎ましくあると使いたくなる

たぶん、「機能があればいい」ということではないんだろうけど、一方で、例えばMarkdownがリアルタイムでrenderされるとつい嬉しくなってこんなのとかこんなの修飾として使いたくなる。つまり、つつましく機能があればいい。

例えばリモコンのボタンは慎ましくなく、騒がしい。ボタンは出っ張っているので主張が激しいことを考えると、機能の慎ましさということを考えたほうがいいのかもしれない。慎ましくないというのは、いわゆる自分が何か出来るということを全面に主張することで、そうでないほうが良い。


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


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

好きな言語

良い言語


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


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


「できない人」と技術について

ある技術において、「できない人」が「できるようになる」ということが目指されているのは間違いないと思う一方で、では現実的に「できない人」のために、何かしようとすると、それを貪欲に吸収するのは「できる人」になるという矛盾がありそう。この考え方自体は非常にナイーヴなものではあるし、「できる人」がよりできるようになるということによって、潜在的に「できなかった人」も底上げされるという側面があることは否定できない。

たぶん、教育的には「できない人」という意味はあまり重要ではなくて、如何にしてモチベーションを上げるのか、ということのほうが問題であることは推測できて、もちろんモチベーションがあればなんとかなるというのは、それはそれで嘘だけれど、しかしそもそもモチベーションが無いところに、学習を持ち込んだりしても意味がない。

とすると、本来ならばそこに「モチベーション」という意味があるわけで、そういう意味で「ゲーミニフィケーション」というのがあるような気がするんだけど(ゲームは「モチベーションを如何にして煽るか」という観点が含まれている)、その辺についてはどういう風に考えられているのか、多少なりとも気になる次第だ。