Zanmemo

by esehara

RSS

New Memo

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


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

好きな言語

良い言語


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


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


Random Pickup

架空のことわざ 『歯磨きをしない男とは結婚してはいけない』

これについては、イギリスにありそう。如何にも言いそうな言い回しである。罵倒語として「あいつは歯磨きすらしない男だ」ちという類似罵倒があるということにしたら良いかもしれない。


シンプルは難しい


確かにこのアプリとかは、他のアプリに比べたらシンプルだし、例えばリアルタイムにMarkdownのプレビューが出るところなんかはリッチになっている。でも、これを俺はリッチだとはあまり感じない。これは必要なもので、最小限だなという気がする。

じゃあどこに対してシンプルさを感じるかというと、自分の場合は、「必要な情報しかない」ということに尽きるんだろうな、と思う。現状としては、必要ではない情報が割と多くて、その「必要ではない情報」が俺に対して「ああ、なんてイケてないんだろう」と思わせるのだろうと思う。


本当の意味でのプログラミング初心者がつまづきやすいところってなんだろう


代表的なやつだと、次のようになるかもしれない。

みたいな、それこそ当たり前の前提になっているところから説明したほうがいい可能性が高い。あたかもそれって馬鹿にしているかもしれないけれど、そういうことのほうが大切な気がする。


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

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

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


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

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

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

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

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

とはいえ

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


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


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

好きな言語

良い言語


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


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