元々COBOL85やヘタすればCOBOL2を書いていたときがある。そのため、オブジェクト指向を把握出来る様になるまでかなりの時間を要してしまった。
で、自社のメインとなる言語は何が良いか必死に考えた時に色々と出したのが、
- 最も開発者の多いJAVA。Libraryが豊富。でもモダン開発に向くかというと不明。
- 取っ付き易く、開発者も多いphp。でもhtmlの中にかけるので可読性が低い。
- LLのなかでインデントでプログラムの開始位置が判断されるPython。フレームワークがあんまりない。
- 流行りのRuby。書きやすい。Railsはフルスタックフレームワークとして優秀。
と、色々考えたのですが、Frameworkも含めて考えた方が良いよなぁということで、JavaBeansでもJ2EEでも、CakePHPでも、Djangoでもなく、Railsにしようと考えましたが現在はまた違います。
生産性考えると、大量に人掛けられるならJAVA 一択なんですが、そういうわけでもなくphpも構文があんまり好きじゃない、Pythonでも良かったしインデントを綺麗にするのは嫌いじゃなかったのですが、フレームワークがあれじゃなぁとRubyかなと考えた。
やっぱり日本人は日本人が作った物選ぶべきかなというのもあるし、勉強していくと構文自体にあまり迷いがないので、Pythonより楽で良いなというのが感想です。
しかし、最近だとJavaScriptがCORDOVA含めてめちゃくちゃ凄くて、PhoneGapしか知らない人だと”何やねん”なんですが、angularJS とそのフルスタックフレームワークであるYEOMANまで含めて考えるとかなり凄い。あと、最近で試したのはGo+revelですね。こちらもフルスタックフレームワークですが、ActiveRecordが無いのでダイレクトにSQL書かないと動きません。そこは面倒ですね。
Goとか出やる場合はPaaSとかで動かすことを前提としているのかもしれませんね。
ちなみに、修得するならJAVAは複雑すぎて昔諦めたし、COBOLerからのRybyは案が良いかもしれません。サイバーエージェントさんは新人研修でJAVAを教えるらしいですが、それは企業規模が大きくなったからですね。その時は複数人で開発するのでJAVAが非常に適していると思います。エンタープライズになればなるほどJAVAは適しているし、何よりも実績が豊富です。
ちなみに、COBOLはOpenCOBOLが出来るまで有償コンパイラでした。Frameworkも各社の社内用で持っていたり(日立はCanDoと言っていた)とやっぱりメインフレームは偉大だなあと思ったりします。
現在の最新のCOBOLさんはこんな感じです。
COBOL コンソーシアム
最新はCOBOL2002って奴です。富士通さん、NetCOBOLなんて作ったり、COBOL技術者の為のJAVAとか涙ぐましい努力をされています。COBOLはECMAScriptに準拠したCOBOLScriptも実装してますし、オブジェクト指向にも対応していて、英語で書けるというのがすごい!!
というのが売りなんですが、定義の仕方が現在のプログラムとかけ離れている(identification division, enviroment division, data division, procedia division)ため、データの型から定義とか面倒だったりします。
こういうのからするとRubyとか神みたいなプログラムです。定義の定義って何よとか言わなくて済みます。書けば何か動くし、書き方にクセが少ないので、取っ付きやすい。インデントが無いのも嬉しいです。(COBOLにもインデントは無いですが、習った時からインデントにはうるさかった・・・)
とひとしきり感動してましたが、Railsで毎回手を焼いています。単体では動いたのですが、Git経由でアップロード掛けようとしても動きません。多分インストールの手順違いなんでしょうけれども・・・、という時代も過ぎ、普通にRailsチュートリアルを手順通りにやれば動くし、みたいな。
今は先日も書きましたが、AngularJS+Yeomanですからね、やろうとしたの。
ということで、一年前の記事を焼きなおしてみました。