« 4Kテレビを買った | Main | 2016夏アニメ 1話感想 いまさら »

第2言語の重要性

artonさんがElixirの本の紹介で「3つの言語理論」を展開してます。

趣味の人は別とすれば、おれは3種類のプログラミング言語を覚えると良いと思っている。

第1は、仕事で使う主要言語だ。普通の世界ではなんらかのコンパイル言語となるだろう。たとえばおれの場合は、C(と古い使い方でのC++)、Java、C#、Objective-C、(コンパイル言語ではないが)JavaScriptだ(あと必要に応じてVBやCOBOLもあるがぐっと頻度は落ちる)。

第2は、それに対する補助言語だ。Unixであればシェル、sed、awk、find、grep、wc、cut、sort……となるのだろうが、Windowsメインの場合そうはいかないのでどうしてもプログラミング言語が必要となる。というわけでおれの場合はRubyがそれにあたる。解析、分析、ソース生成、ファイル大量操作といったありとあらゆる日常のさまざまな場面で頻繁に利用することになる。

余談だが、素人の職業プログラマーと、玄人の職業プログラマーの差は第2言語を持つか持たないかの違いだとおれは考えざるを得ない。

第3言語は第2言語に飽きたときにちょっと使う補完言語だ。これが微妙で、第2言語と異なり職業的にはなくても済むのだが、あったほうが間違いなく良い。楽しいし発想を転換するためのきっかけになる。発想転換のトリガーとしたいのだから、第1および第2とは完全に異なるほうが良い。

プログラミングElixir/L'eclat des jours - arton

大変ごもっともです。

で、私はどうなのかなというと、今現在は

  • 第1言語:C#/VB.net, Java(大変に自信がない), Ksh(えっ?)
  • 第2言語:Ruby, WSH
  • 第3言語:Excel VBA

という感じかなと思います。Excel VBAはツボにハマるとすげぇ便利ですが、Rangeオブジェクトなど、オブジェクトの扱いが独特過ぎて未だに正解がよくわからない(けど、なんか動く物は作れる)不思議言語ですね。Elixir触ってみようかなあ。

artonさんの言うところの「素人の職業プログラマ」の方が、第2言語をどうしているのかというと、第1言語をそのまま第2言語として使ってしまう(例えば、ちょっとしたツールまでJavaで作ってしまう)か、Excel VBAが第2言語になっているパターンが多い気がします。

前者のタイプの人に、「LLとか使うと早いよ?」というと、「いや、ツールセットについて勉強しているより、書いちゃった方が早いから」という返事が来ます。腕力に自信のあるプログラマタイプに多くて、こういう人は仕事以外でプログラムを書かなくて、「LL何それ美味しいの」状態の人が多い感じがします。

後者のVBA大好き病の人も視野が狭いという点では同じですが、Excel VBAはなんといっても仕事で使うPCには必ずインストールされている点が大きいし、開発環境と実行環境が一体になっているというのはプログラミングの敷居を下げるのは確かで、こういう開発環境がもっとあったらいいのかなあ(それがSmalltalkなんでしょうか。見たこともないのでなんとも言えませんが・・・)と思ったりもします。

あまりプログラミングに接してこなかったけど自力のある若いSEが、必要に迫られてExcelでワークフローシステムや、障害分析システムを組み上げて、「すごく遅くて大変ですけど、このExcelに入れれば完璧です!」と言っているのを見かけることが良くあります。中を見ると、ホントに良く出来ていて苦労の跡もあって涙ぐましいんですが、「アンタ、ここにはRDBもWebアプリケーションサーバもあるんだから、こんなもんつくるぐらいなら、普通にWebアプリ作った方が楽だよ」と言うんですが、「いやいや、僕のスキルではこんなもんが精一杯で・・・」。むう・・・いや、マジなんだけどな。

というわけで、「第2言語を持つ」ということの大事さ・・・というか、ちゃんと便利な物を第2言語として選ぶことの大事さ(Excel VBAやSQLをそれに充てないこと(笑))は、2016年になってもウチの業界(=とってもEnterpriseなSI業界)には広まってないなあという感じ。 もっといえば、開発の現場って第1言語を使わない人(DBAやアーキテクト、テスターやQAer、運用担当者などなどなど)もたくさんいるんですが、そんな人でも第2言語は使うべきなわけで、Excelの使い方と同じぐらい第2言語は大事なんですけど、理解されないですなあ。

となると、第3言語は、まあ趣味ですな(笑)。でも、新しい考え方を得る必要は常にあるよね。

|
|

« 4Kテレビを買った | Main | 2016夏アニメ 1話感想 いまさら »

日記・コラム・つぶやき」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/47905/64077117

Listed below are links to weblogs that reference 第2言語の重要性:

« 4Kテレビを買った | Main | 2016夏アニメ 1話感想 いまさら »