非エンジニアの経営者(予備軍)が習得するとよいプログラミング言語
結論から言えば、ベストはJavaScript(Node.js)、次点でPythonとなります。
エンジニアの選択とは異なる
もし、職業エンジニアやそれを目指している場合、エンジニアとしての短期の市場性を最優先に考える必要があります。その観点で言えば、PHPは未だに外せないでしょうし、Rubyもホットかと思われます。
誤解を恐れずに言えば、短期の市場性を捨象するならば、PHPもRubyも優先順位を落とさざるを得ません。また、後述する経営的なニーズに対しては両者ともソフトウェア・ライブラリや動作環境の観点で欠ける部分が出てきます。
企業としての選択とも異なる
前項の裏返しで人材調達の観点から特にPythonは企業としての選択肢とはなりにくいでしょう。
こちらのノートで書いている通り、本シリーズの目的は、非エンジニア経営者(予備軍)が個人として技術的実践力と経営に資する技術に対するメタな視点を習得することを主目的としていますので、この辺りは乖離が生じます。
JavaScript(Node.js)のメリット
網羅的な論理的説明は長くなるので端的に言えば、Amazon Lambdaが使えるという点だけでJavaScript(Node.js)は非エンジニアにとっての価値があります。2016年3月からGoogle App Engineでも使えるようになったことでさらにバリューが増したとも言えます。
Amazon Lambdaが使えると何が便利かという説明もまた難しいのですが、筆者自身の実例を挙げてみます。Amazon Lambdaとはサーバ無しで様々なイベントに基づいて自動で処理を行うことができる環境です。
ある日、市況かぶ全力2階建にも度々登場する某経営者と某株式銘柄について雑談していたところ、ある銘柄群のアービトラージを利用した取引アルゴリズムを思いつきました。
同アルゴリズムについてバックテストを行ったところ(筆者はバックテスト自体にはPython他のツールも用いましたが、Excel等でも可能なので必ずしも必要ではないです)年300%強の投資パフォーマンスを得られたため、早速、Node.jsで各種指標をスクレイプしSlackに投資助言メッセージを送信する処理を実装し、Amazon Lambda上にdeployしました。
雑談から運用までかかった時間は4時間でした。片手間でやっていたため、実質の作業時間は1時間を切ると思います。
現在、毎日、同システムより投資助言がSlackに送られてきており、そちらに基づいて取引を行っていますが、このような仕組みをサーバやデータベースの複雑な設定の必要なく、すぐに開発・運用できる点がAmazon Lambdaの一つの美点です。同サービスを手軽に使えるという点でNode.jsは試してみる価値はあるかと思います。
Pythonのメリット
本シリーズを執筆する前には、Google App EngineがNode.jsのサポートを正式に発表しておりませんでした。Pythonを推す一つの大きな理由としてGoogle App Engineを使えるという点があったのですが、その点はやや薄まったと言わざるを得ません。
一方でPythonは、現在最もホットな分野の一つである人口知能周辺分野の実装を行う上で欠くことのできない言語という側面がありますので、依然、有力な言語といえます。何故、Pythonがそのようなポジションを得ているかという点については以下のノートでも少し言及しています。
やってはいけないこと
地頭でカバーできないこと、それは労働集約的な作業と偶発的な事象です。LAMP環境の構築を初心者向けに勧める事例を未だに見かけますが、サーバ(OS)やデータベースの世話は自動化するにしても極めて煩雑なものですし、相が極めて多岐に渡るため偶発的な事象の発生を抑えこむことは不可能です。
ちょっと技術を試してみたいという非エンジニアが無駄な作業や知識に埋もれていくことは大きな損失かと思いますので、こういった論点での議論が進むことを望むところです。
この記事が気に入ったらサポートをしてみませんか?