読者です 読者をやめる 読者になる 読者になる

歩いたら休め

If the implementation is easy to explain, it may be a good idea.

【愚痴】Lispを勉強することで感性が磨かれる

本・論文

今月のSoftwareDesignが関数型特集だったので買ってみました。LispとかScalaで遊んでいます。

ソフトウェアデザイン 2015年 08 月号 [雑誌]
 

Scalaってけっこう便利そうですね。英文中に含まれる単語数をカウントするメソッドが例示されていたのですが、めちゃめちゃシンプルでわかりやすいです。PythonのリストにもgroupByとかメソッド用意してくれないかしら。

text.split(" ").groupBy(identity).mapValues(_.size)

 

ここで突然愚痴を始めるのですが、会社の人は目的意識がハッキリしている人が多く、プログラミング言語を「それって何の役に立つの?」って訊かれることがよくあります。プログラミング自体はツールであり、手段にあまり拘っていてはいけないと考えているようです(私自身もそれには同意するのですが)。

しかし、Rでちょっとした前処理をする際にfor文使いまくってたり(関数型の考え方を使ったほうが楽なはずなのですが)、ネストの深い読みづらいコードを書いてるのを見ると、なんだかなあと感じることもあります。また、よりインフラに近い部分の知識も足りてない人も多く、裏側を担当している方に負担をかけてしまっている気がします(でも、自分自身にも知識が足りてないので何も言えねえ‥)。

 

もう少し、プログラミングやエンジニアリング自体を楽しんでもいいんじゃないかと思っています。私は傲慢な言語が好きなので、他人に見せて恥ずかしくない(自慢できる)コードを書きたいというモチベーションを理解して欲しいと思ってます。

blog.8arrow.org

自分はDJする際に「DJは音楽を組み合わせて表現するので、音源を集めることを躊躇してはいけない」と教わっていて、それはプログラマーでも同じだと思っています。