何を書こうか悩んだ末、ロクな話題が浮かばなかったので、最近勉強しているプログラム言語「JavaScript」について書いてみることにする。とは言いつつも、特段スゴイ含蓄があるわけでもなく、何かスゴイものを作っているわけでもない。最近の流行に乗って自由気ままに触っているだけなので、期待はしないでほしい。なお、本投稿文の読者はみな言語オタクであり、C言語やJava言語と激闘を繰り広げる歴戦の勇士であると仮定している。
JavaScriptは、いわゆる「動的型付け言語」である。初めてJavaScriptを書いたときは、「なんでC言語やJavaみたいに厳密にやらないの?わかりづらいよ!」などと考えていたのを覚えている。
しかし、この型に縛られない方式は、慣れると非常に使い勝手が良くなる。
例えばC言語ではポインタやキャストを駆使することでいかなる型であろうとも関係なく扱うことが出来る。Javaではお家芸のポリモフィズムで型を柔軟に扱えるだろう。しかし、ポインタやキャストはきちんと管理をしなければ重大なエラーを引き起こしかねず、ポリモフィズムは精緻な設計の上で真価を発揮する概念だ。どちらも扱いには十分な注意を必要とする。
その点JavaScriptでは型の制限がない分、非常に柔軟に設計することが出来る。オブジェクトに関数を持たせたければ簡単に追加できるし、文字列と整数の相互変換も簡単だ。
近年はNode.jsの台頭によってさらに普及しただろう。何しろブラウザ上で動くものと考えられていたJavaScriptが、Webサーバーになったり、ローカルファイルを簡単に操作出来たりするのだ。Socket通信まで出来てしまうのは素晴らしい。
さらに最近にはnode-webkitなるものも登場している。最近はやりのHTML5で書かれたスマホアプリと同じ考えをPCに持ち込んだもので、Webページを書くようにして画面を持ったPCアプリを作成できる。しかも動作環境にはWebkitだけではなくNode.jsも含まれるため、「PC上で操作したコマンドの結果をどうしてもHTMLを使って画面表示したい!」というようなニッチな要望があったとしても簡単に対応できる。(ツールを使うことで簡単に1ファイルにプログラムとリソースをまとめることが出来る点も好ましい。Exe単体を配布すれば動く。)
もちろん、C言語やJava言語もそれぞれ素晴らしい機能や考えを持っている。今でも画面がなく単純な処理をするプログラムはC言語で書くし、サクッと短時間に画面付きのプログラムを作りたいときはJava言語を使う。
しかし、JavaScriptと関連フレームワークを知っていれば、そのどちらも同じ手軽さで書けるようになるというのは、魅力ではないだろうか。ぜひ、触ってみてもらいたい。
(つ)
monipet
動物病院の犬猫の見守りをサポート
病院を離れる夜間でも安心
ASSE/CORPA
センサー、IoT、ビッグデータを活用して新たな価値を創造
「できたらいいな」を「できる」に
OSGi対応 ECHONET Lite ミドルウェア
短納期HEMS開発をサポート!
GuruPlug
カードサイズ スマートサーバ
株式会社ジェイエスピー
横浜に拠点を置くソフトウェア開発・システム開発・
製品開発(monipet)、それに農業も手がけるIT企業
JavaScriptは、いわゆる「動的型付け言語」である。初めてJavaScriptを書いたときは、「なんでC言語やJavaみたいに厳密にやらないの?わかりづらいよ!」などと考えていたのを覚えている。
しかし、この型に縛られない方式は、慣れると非常に使い勝手が良くなる。
例えばC言語ではポインタやキャストを駆使することでいかなる型であろうとも関係なく扱うことが出来る。Javaではお家芸のポリモフィズムで型を柔軟に扱えるだろう。しかし、ポインタやキャストはきちんと管理をしなければ重大なエラーを引き起こしかねず、ポリモフィズムは精緻な設計の上で真価を発揮する概念だ。どちらも扱いには十分な注意を必要とする。
その点JavaScriptでは型の制限がない分、非常に柔軟に設計することが出来る。オブジェクトに関数を持たせたければ簡単に追加できるし、文字列と整数の相互変換も簡単だ。
近年はNode.jsの台頭によってさらに普及しただろう。何しろブラウザ上で動くものと考えられていたJavaScriptが、Webサーバーになったり、ローカルファイルを簡単に操作出来たりするのだ。Socket通信まで出来てしまうのは素晴らしい。
さらに最近にはnode-webkitなるものも登場している。最近はやりのHTML5で書かれたスマホアプリと同じ考えをPCに持ち込んだもので、Webページを書くようにして画面を持ったPCアプリを作成できる。しかも動作環境にはWebkitだけではなくNode.jsも含まれるため、「PC上で操作したコマンドの結果をどうしてもHTMLを使って画面表示したい!」というようなニッチな要望があったとしても簡単に対応できる。(ツールを使うことで簡単に1ファイルにプログラムとリソースをまとめることが出来る点も好ましい。Exe単体を配布すれば動く。)
もちろん、C言語やJava言語もそれぞれ素晴らしい機能や考えを持っている。今でも画面がなく単純な処理をするプログラムはC言語で書くし、サクッと短時間に画面付きのプログラムを作りたいときはJava言語を使う。
しかし、JavaScriptと関連フレームワークを知っていれば、そのどちらも同じ手軽さで書けるようになるというのは、魅力ではないだろうか。ぜひ、触ってみてもらいたい。
(つ)
monipet
動物病院の犬猫の見守りをサポート
病院を離れる夜間でも安心
ASSE/CORPA
センサー、IoT、ビッグデータを活用して新たな価値を創造
「できたらいいな」を「できる」に
OSGi対応 ECHONET Lite ミドルウェア
短納期HEMS開発をサポート!
GuruPlug
カードサイズ スマートサーバ
株式会社ジェイエスピー
横浜に拠点を置くソフトウェア開発・システム開発・
製品開発(monipet)、それに農業も手がけるIT企業