2018年10月21日日曜日

プログラミング言語

世の中にやたらたくさんあるらしいプログラミング言語のうち,マイクロマウスではC/C++言語が使われるのが通例である.マイコン上で動作するコードに変換できなきゃ意味ないので例外はあるが普通は他に選択肢はない.それで特に問題もない.

一方,PC上でだけ動けばよいソフトウェアを作るときには言語の選択肢があまりにたくさんあって人によっても好みも違うのでなかなか環境を共有できない.

これまでにある程度以上コードを書いたことがある言語と個人的な印象は,

  • Fortran:古い言語に新しい機能を付け加えているので言語仕様がカオス.でも数値計算には使われている.積極的には使いたくない.
  • C/C++:速度を求められるときは最高.使い慣れている.でもpythonの便利なライブラリを触ると物足りない.
  • Python:使いやすいし言語仕様もうまくできている.データ解析等に最近最もよく使う.データベース上の大量のデータをさばくのにも使う.最近ライブラリの充実度がすさまじい.
  • Javascript:言語してはイマイチ.でもブラウザが実行環境になる点はWindowsというプログラム?なにそれ?みたいなOSでも何もインストールすることなく動作するのは良いかも.
  • PHP:あまり慣れてはいないが,Cに似ているのであまり違和感はない.htmlに埋め込んで使えるのでWEB関係では便利だし標準.
  • SQL:他とはくくりが違うがデータベースを操作する上で必要.深入りしなければ普通.
  • MATLAB/Simulink:一見使いやすそうだが,仕様がカオス.Simulinkは直感的に使えるのでプログラムに慣れていない人にも使ってもらうソフトを作るのには良さそうだが,深く使おうとするとやはりカオス.

今年はマウスのコンテスト参加者にMATLAB/Simulinkが無償提供されるというのは驚いたが,最近個人的には距離を置こうかと思っている言語である.(互換性を保つために)古い仕様をひきずっているのと言語そのものについて書かれた良い本がないためか,それなりの時間費やしたが言語仕様を理解できず,カオスな言語という印象なのが一つの理由.また,プログラムを書くとき構文や関数を覚えているわけではないので何かで調べながらになるわけだが,今の世の中最も速いのはGoogle先生に聞くことである.商用ソフトはこれが通用しない点が致命的で,結果書きにくいと感じるのがもう一つの理由.さらに,パッケージ化ができそうでできないような気がするので規模が大きいプログラムを組めない.

というよりも,GVIMで書いてターミナルで実行,が基本パターンになっているので,それにあわない言語は嫌いということかもしれない.統合開発環境嫌いだし.OSもプログラミング言語も道具である以上,便利さよりもストレスのなさが重要である.

2 件のコメント:

Unknown さんのコメント...

The Google translation of your description of MATLAB matches my experience with it exactly. On the surface it looks good. underneath is chaos.

Kojima さんのコメント...

I'm grad that you agree with me. These days, MATLAB is widely used for data analysis and education of programming languages in Japan. I'm concerned about it.

コメントを投稿