Windows / Mac / UNIX すべてで 20 年動くプログラムはどう書くべきか

ウインドウズ マック ユニックス スベテ デ ニジュウネン ウゴク プログ

一度書けばどこでも、ずっと使えるプログラムを待ち望

Windows / Mac / UNIX すべてで 20 年動くプログラムはどう書くべきかの表紙
OS
著者:
松浦智之 / ユニバーサル・シェル・プログラミング研究(マツウラ, トモユキ / ユニバーサル シェル プログラミング ケンキュウジ)
出版社:
シーアンドアール研究所
出版日:
2016年11月
ISBN:
9784863542099
在庫:
在庫あり
3(2 件 / 楽天ブックス)
中級者向け
UNIXOSMacintoshWindowsプログラミングPOSIXクロスプラットフォームシステムプログラミングコンピュータアーキテクチャソフトウェア開発

なぜ注目されているか

言及数
905位
総合1584位 ↑ 1 ランクアップ 言及 3 件・うち記事 2 件を掲載

書籍紹介

「いつでも、どこでも、すぐおいしい」を実現する POSIX 原理主義解説書。

技書の森解説

Windows、Mac、UNIX のどれでも同じシェルスクリプトを動かすための書き方を、POSIX の規格の範囲に絞って解説した本です。『Windows / Mac / UNIX すべてで 20 年動くプログラムはどう書くべきか』は松浦智之 著、USP 研究所 監修で、C&R 研究所 (シーアンドアール研究所) から 2016 年 11 月に刊行されました。副題は「一度書けばどこでも、ずっと使えるプログラムを待ち望んでいた人々へ贈る[シェルスクリプトレシピ集]」です。

Windows 10 の WSL と POSIX 原理主義の考え方

版元の紹介文は、2016 年 8 月 2 日の Windows 10 Anniversary Update で「Bash on Ubuntu on Windows (Windows Subsystem for Linux)」がリリースされ、UNIX、Mac、Windows でそのまま動くプログラムが書けるようになったという出来事から書き起こされています。POSIX は、UNIX 系の OS の間でプログラムの移植性を確保するために IEEE が定めた規格群で、シェルの文法と、awk や sed、grep といった基本的なコマンドの振る舞いも規定しています。本書が序章の題に掲げる「POSIX 原理主義」は、この規格で保証された範囲の文法とコマンドだけでプログラムを組む立場を指します。

序章から第 7 章と付録までの構成

目次は、序章「POSIX 原理主義: その本質と可能性、実践方法を理解する」に続き、第 1 章から第 3 章が「どの環境でも使えるシェルスクリプトを書く」の文法 / 変数編、正規表現編、コマンド編です。第 4 章「Hors d'oeuvre:ちょっとうれしいレシピ」、第 5 章「POSIX 原理主義テクニック」、第 6 章「POSIX 原理主義テクニック …… Web 編」、第 7 章「知らないとハマるさまざまな落とし穴」と続き、付録「レシピを駆使した調理例」で締めくくられます。版元は要点を 3 つ挙げています。速い書き方を知れば C 言語並の処理速度が出せること、何が方言で何が共通語かを見分ければ互換性が高まること、乱数発生やファイルロックといった基本機能から、セッション管理、Cookie、Ajax、JSON の読み書きまでレシピで扱えることです。紹介文によれば、最終的には Twitter アプリの制作と郵便番号住所検索の Web アプリを紹介し、Windows や Mac の利用者に向けたシェル・プログラミングの開発環境の準備手順も記述しています。

方言を避けて書くシェルスクリプトの前提と向く使い方

シェルスクリプト は OS に最初から入っているシェルとコマンドだけで動くため、言語処理系やライブラリを別に入れずに済みます。その一方で、OS ごとのコマンドの実装の違いに当たりやすい書き方でもあります。たとえば GNU 版の sed と macOS に入っている BSD 系の sed では、ファイルをその場で書き換える -i オプションの引数の扱いが異なります。Bash の配列や二重角括弧の条件式も POSIX の規格には含まれない拡張です。こうした方言を把握したうえで共通の書き方に寄せるのが本書の方針で、配布先の OS を選ばない道具を作りたい人に向きます。

刊行時の版元の著者紹介では、松浦智之は 2007 年にフリーランスとなり、2010 年に USP 研究所と知り合って同社の雑誌 (著者紹介の表記では現シェルスクリプトマガジン) の創刊に携わったとされています。依存する処理系を増やさずに保守の手間を抑えたい人、ひとつのスクリプトを複数の OS で長く使い回したい人に合う一冊です。

言及した記事 (2 件)

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: