次の人生にやりたい事は大体決まった。IT分野の仕事をしたいではなく、プログラムを組みたい。残りの人生は楽しんで好きな事をやりたい。残り3年で定年だ。がそれまで今の会社で無駄な時間を過ごしたくない。と最近猛烈にWebアプリ等のIT環境を調べている。
しかし現実は甘くない。際限なく知らない言葉が出てくる。さまざまな用語が氾濫している。と言うか私が知らないだけなのだろうが・・・。
- オンプレミス???自社運用(型)とも訳される (英語 on-premises)
- PaaS(Platform as a Service)クラウド開発環境と実行環境を提供するレンタルサーバーサービスとの認識だったが、これをサースと呼ぶらしい。
・Google App Engine
・Windows Azure
・CloudBees
等・・・ - SaaS(Software as a Service)
以前アプリケーションをWeb上で使用できる物にASP(アプリケーションサービスプロバイダー)と言うのがあったが、単純に言うとこれの発展型と言うか同じ物。従ってASPとSaaSプロバイダーは同様に扱われる事が多いようだ。具体的には、有料の電子メールサービス、グループウェア、各種の検索サービス、オンラインゲームなど。 - IaaS(Infrastructure as a Service)
と少しわかってきた。そしてクラウドも・・・。
そして少し前と違って、自前でサービスを開発する事もそれを運用する事も(起業する事)、そしてそれらを利用する事も限りなく簡単にしかも安く開始できる事がわかった。当社で、今自前のWindowsサーバーを4台運用しているが、これらはいずれ自前で運用する事もなくなるのだろうと痛切に感じる。
さて、実際にWebアプリを開発する点で言えば、その開発環境つまり開発言語とIDE(総合開発環境)の選択が非常に重要だと考えている。そして一旦、Webアプリケーションの開発言語としてPythonを勉強する事にしたが、その後Ruby(on Rails)も候補に入れた。その為に仮想化ソフトウェアVMware Player4.02を使ってみる事にした。Windows環境では、そのパフォーマンスが出ない為に。
そして昨年爆発しそうな勢いのnode.jsも調べる事にした。そうすると
◇node.js(サーバーサイドJavaScript)
・1スレッド、マルチプロセス、サーバーの効率的な運営、ノンブロッキングI/O
・リアルタイム(WebSocket)等
◇jQuery(JavaScriptライブラリー)
・ブラウザーでのJavaScript互換性と圧倒的に少ないコードで記述可能
◇CoffeeScript
・Ruby/Pythonのような簡易言語で記述できるRubyで作成されたJavaScriptへのコンパイラ
◇HTML5
◇WebSocket・・・
と関連する言葉が引っ掛かってくる。ウーン全くわからない。全く知らなかった。名称とそれが何かのイメージが全く分からない。しかしどうも上記がキーワードとなりそうだ。
なぜ、色々考える前に一つの言語に集中して勉強しないのか?と言う疑問が起きるが、それはまだ私の方針が決まっていなかったからだ。しかしJava、PHP、PEARL、Ruby、Python、JavaScriptの言語を考えた場合にその答えは言語仕様ではない事に気づいた。新しい技術が、今までにできない事をWebアプリケーションに与えられるだろうか?そう新しい技術。それが今までできなかった事を解決できるか?それは新しい程良い。
そう言う意味で言えば、上記で上げたnode.jsは確実に、新しい。PythonやRubyもちろんPHPより。しかし、もちろんJavaScriptと言う言語仕様が新し訳ではなくむしろ古い。
と言う事で、他を勉強しないと言う訳ではないが、node.js周りを勉強する事にした。
※コメント投稿者のブログIDはブログ作成者のみに通知されます