ほとんどの人が知らない!
2016年8月2日,コンピューター史に残る革命が起きた事実を
この日,Windows 10 Anniversary UpdateによってBash on Ubuntu on Windows(Windows Subsystem for Linux)がリリースされたが,これにより,今世界で発売されているPCのほぼ100%(UNIX,Mac,そしてWindows)でそのまま動くプログラムが書ける時代が到来したのだ.しかもそのプログラムには,10年,20年もの長期間の寿命を持たせることができる.つまり,OSも,時代も超えたプログラムが書けるようになったということだ.
“Write once, run anywhere, run FOR GOOD”
(一度書けば,どこでも動き,ずっと動く)
本書は,この静かに起こされた革命を,WindowsやMacの開発者に知らせるために書かれた本である.
なぜ皆,この革命に気づかないのか?
それはこの,OSも時代も超えたプログラムを書くための言語がシェルスクリプトだからである.
Windowsネイティブの人は,そもそも馴染みのない言語であるため,何ができるかイメージが湧かない人が多い.MacやUNIXネイティブの人は,「シェルスクリプトなんて,記述が古臭い,開発言語としてはほとんど何もできない,遅い,機種依存が激しい」というイメージを抱いている人が多い.
結果,どちらの人々からもシェルスクリプトがもたらす革命は見過ごされてしまっているのだ.
Bash on Ubuntu on Windowsの登場で,シェア90%を誇るWindowsが折角シェルスクリプトに公式対応するようになったのに…….
OSも時代も超えたプログラミングができる理由 ― POSIX
OSも時代も超えたプログラミングがなぜ可能なのか?それはPOSIXというUNIX系OSが最低限満たすべき規格の範囲内で極力プログラミングを行うからである.
POSIXは,UNIX系とされるOSのほとんどがその仕様を満たしている.それらOSは,バージョンアップをする時でもPOSIXの仕様にだけは極力準拠しようと努めている.しかもPOSIXは,今どきの言語やライブラリーのように仕様をコロコロ変えたりはしない.だから,POSIXに準拠させればOSも時代も超えられるのだ.
しかしこれだけではまだ納得は得られない.「POSIXの範囲でできることなど,たかが知れてるんじゃないの?」と.
シェルスクリプトを強力な開発言語に変える「POSIX原理主義」
そこで本書は,シェルスクリプトを強力な開発言語に変えるための具体的なノウハウを余すことなく記した.
主なポイントは次の3つ.
■シェルスクリプト,実は速い!
シェルスクリプトが遅いのは速い書き方を知らないからで,実はC言語並の処理速度が出せる.その方法を解説.
■シェルスクリプト,実は互換性が高い!
機種依存が激しいのは,一部でしか通用しない文法やコマンドを,そうとは知らず使うから.そこで.何が方言で,何が共通語なのかを徹底解説.
■シェルスクリプト,実は多機能!
POSIXにはチューリング完全コマンドがあるので,理論上何でもできる.本書では,乱数発生やファイルロック等の基本機能から,セッション管理,Cookie,Ajax,JSON読み書きといったWeb時代のプログラミングを行うレシピまで解説し,最終的にはTwitterアプリ制作や,郵便番号住所検索Webアプリを紹介.
※ さらに初版になかった内容として,Windows/Macユーザーに向けたシェル・プログラミング開発環境の準備手順も記した.
シェル・プログラミングは「ブルーオーシャン」だ!OSも時代も超えられる言語は他にはなく,ろくな競争相手もまだいない.
本書を読んで,是非この新しい価値で満たされた大海原に乗り出してもらいたい.
本書の実用性を疑う人が見るべきデモ
「シェルスクリプトで,しかもPOSIX原理主義でマトモなアプリなんて作れるわけないだろ.寝言は寝て言え!」と思っている人は次のアプリ(デモ)を見てもらいたい.
- シェルスクリプト製Twitterクライアント「恐怖!小鳥男」
- WindowsでもMacでも各種UNIXでも、そのまま動くプログラムの制作例
Ajaxで時計を更新するデモ
- HTTPセッション管理をするデモ
- 郵便番号から住所を引くデモ
- 日本郵便が提供しているCSVデータをシェルスクリプトでパース
- データは全部で約14万レコードだが,果たして何秒で答えを出すか?
- 東京メトロ車両位置情報表示プログラム「メトロパイパー」
- Web APIからJSONで渡ってくる車両位置情報をパース
- HTMLをプログラムから分離,Webデザイナーとの協業を実現
- 侵略型ショッピングカート「シェルショッカー1号男」
実用性はいかがだろうか.本書の中でももちろん紹介&解説.
▲トップに戻る |