HSP 3.1b6新機能 (2006/12/08 - 18:40:57)
#deffunc、#defcfunc命令で定義する命令、関数に対してlocal指定ができるようになった。この機能を利用するとモジュールの内と外、または別モジュール同士であれば、命令(関数)定義時の名前のバッティングを気にする必要がなくなる。代わりに呼び出し時、名前に"@" + (モジュール名)の接尾辞を付加しなければならない。同一モジュール内での呼び出し時にも必要なのが惜しい(接尾辞はコンパイル時に定義部分の名前にも付加される仕組みなのだろう。これはユーザ定義命令(関数)名のスコープが常にグローバルなので、当然といえば当然なのだけど)。
日経ソフトウエア1月号 (2006/12/08 - 18:53:44)
特集1の「フリー言語で真のプログラミングを学ぶ」は毎年恒例の使いまわし記事かと思いきや、そんなことはなかった。特に「Rubyに学ぶ「Ruby on Railsの正体」」が印象に残った。筆者のcase式の解説や、Rubyには「プログラマの意図を読み取るためには八方美人になろうとしても駄目で、思い切ってプログラマの気持ちを決め付けることが大切である」というポリシーを感じるという解釈にはなるほどと感心。
ただし特集2の「Turbo Delphiで始めるWindowsプログラミング」は単にインストール+αの内容で、いくら初級者向けの雑誌とはいえお金取ってる出版物でこれはないだろ、と思った。
HSP 3.1betaのnetsize命令 (2007/03/26 - 20:28:19)
hspinet.dllのnetexec命令を実行したときの受信データサイズを取得するためのnetsize命令が今のところきちんと動作しない。どうしても同じ機能が欲しいときは、受信データを保存しているファイルのサイズをnetexecを実行するごとにチェックすることで代用。
『まるまるC MAGAZINE COMPLETE DVD』30%OFFキャンペーン中 (2007/03/27 - 15:48:45)
Softbankの通販サイトで以前から売られている、既に休刊したプログラミング専門誌『C MAGAZINE』のバックナンバーをすべてまとめた『まるまるC MAGAZINE COMPLETE DVD』が、30%OFFキャンペーン中とやらで\38,500に値下げされていたので、思い切って購入してしまった。
『C MAGAZINE』と言えば、プログラマー&ライターの真紀俊男ことK仲川さんのことを初めて知ったのがこの雑誌だったように思う。仲川さんの文章はいつも内容に対するフォーカスがきちっと合っていて読みやすかったのが印象に残っている。仲川さんが以前『C MAGAZINE』に連載し、その後ウェブで公開されていたCodeWarriorでのMacプログラミングの記事をダウンロードしたものが、今もハードディスクのどこかに眠っているはずだ。もう数年以上ウェブを含むメディアでは名前を見かけなくなってしまったが、仲川さんは今どうされているのだろう。
コンソールアプリケーションに設定される標準入出力ハンドルのデフォルト値 (2007/03/29 - 15:36:33)
コンソールアプリケーションを扱うランチャーを作っている時、リダイレクト機能向けに標準入出力ハンドルをあらかじめ指定してアプリケーションを起動する処理(CreateProcess APIを使用)をテストしたところ、うまくいかないことがあった。標準入出力をリダイレクトする必要がない場合、最初はハンドルを表す引数に0を指定していたのだが、これだと起動したアプリケーションの挙動がおかしくなってしまう。Windows XP上で調べた限りでは、普通に起動されたコンソールアプリケーションに設定される標準入出力ハンドルの値は固定されており、標準入力、標準出力、標準エラー出力はそれぞれ、3、7、11だった。
『lex & yacc 第2版』 - lex & yacc, 2nd Edition
本書はlexとyaccという2つのUNIXユーティリティのプログラム開発における使用法を解説している。これらのツールはもともとコンパイラとインタプリタを構築するためのものだが、活用範囲はそれのみにとどまらない。第2版では、初心者向けのチュートリアル セクションおよび上級者向けのリファレンス セクション共に内容が一新された。全体のボリュームは初版の2倍となり、索引も大幅に増えた。
『裏技シェルスクリプト集』 - Wicked Cool Shell Scripts (2007/04/16 - 16:07:58)
UNIXシェルはすべてのリナックス、Mac OS X、UNIXシステムにおけるメインのスクリプティング環境である。マシンが型落ちのノートPCだろうと100万ドルのメインフレームだろうとそれは変わらない。このクックブックに収録されている実用的でカスタマイズが容易でしかも面白いスクリプトは、リナックス、Mac OS X、UNIX上でよく起こる問題を解決し、コンピュータ環境を自分好みに整えるためのツールである。本書にはインタラクティブな電卓、スペルチェッカー、ディスクバックアップユーティリティ、天気予報表示プログラム、ウェブのログファイル解析ツールなど100を超えるスクリプトが掲載されている。また実用に供するだけでなく、洗練されたシェルスクリプトの書き方を学ぶために、サンプルで使われている構文やテクニックの解説を読むこともできる。サンプルスクリプトはBourne Shell(sh)の構文で書かれている。
『詳説 ウィンドウズ PowerShell』 (2007/04/21 - 18:36:43)
PowerShellという新しいプログラムは、マイクロソフトの長い歴史の中で産み出された製品のうち最もエキサイティングなものの一つだ。PowerShellは新しいスクリプト言語でありコマンドラインシェルである。デモを見た人々が強く印象付けられるのは、管理者が日常の仕事を自動化したりカスタマイズしたりするのに役立つパワーだ。PowerShellはこの先Exchange 2007やVistaが運用され始めるころには、ウィンドウズを管理するためのスクリプティング作業すべての基盤になっているだろう。ITのプロ達は既にPowerShellに関する情報に飢えており、どんなものでも手に入れたいと考えている。
この本はまずPowerShellの基礎に焦点をあて、既存のウィンドウズスクリプティングの慣例との関係や既存の知識をPowerShellでのやり方に翻訳する方法を解説する。次にPowerShellの内部について述べ、書き換えて活用できるスクリプトの例を複数提示する。これらのサンプルによって、PowerShellの使ってWindows Server、Active Directory、Exchange Server 2007などこれまで他の資料では触れられてこなかったプログラムを管理する方法の概略をつかむことができる。
『The Art of Unix Programming』 (2007/06/15 - 16:47:14)
本書には著者が5年の歳月をかけて集めた、ドキュメントになく容易に得ることのできない30年分のソフトウェアエンジニアリングの知恵が凝縮されている。著者のレイモンドは、UNIXを世界で最も優れた革新的なソフトウェアの見本たらしめているその哲学、デザインパターン、ツール、文化、伝統といったものを初めてひとつにまとめ、さらにそれらがLinuxや今日のオープンソース運動にどのように受け継がれているかを記している。そして近年有力なオープンソース・プロジェクトを例に取り、UNIXやLinuxのプログラマがそれらの知恵を活かし、よりエレガントで移植性が高く、より再利用性に優れ寿命の長いソフトウェアを開発する方法を伝授する。
『Pythonクックブック 第2版』 (2007/07/07 - 19:26:02)
オープンソースのオブジェクト指向プログラミング言語Pythonは移植性が高くパワフルで簡単に使えるため、スタンドアローンのプログラム開発にもアプリケーションの組み込みスクリプト機能の開発にも広く使われているが、近年はNASAやグーグルのような大きな組織で利用されることも増えてきている。Python 2.4に合わせて改訂された『Pythonクックブック 第2版』は技術者のみならずすべてのPythonプログラマーにとって実用的なコードを多数収録しており、初版と同様、Pythonプログラマーが日々直面する問題の解決策を提供してくれる。収録レシピの数は200を超え、ディクショナリやリストの内包表記を利用するちょっとした仕事から、ネットワークのモニタリングやテンプレートシステムのような複雑な仕事まで広い範囲をカバーしている。また今回の改訂では時刻、金銭計算、メタプログラミングなどの新しい章も追加された。
以下は本書で扱っているトピックの一部。
テキスト操作
検索とソート
ファイルシステム
オブジェクト指向プログラミング
プロセスとスレッド
データベースとの連係
ユーザインターフェイスの作成
ネットワークおよびウェブプログラミング
XML文書処理
分散プログラミング
デバッグとテスト
加えて特筆すべきは、本書の著者3人がメーリングリストやニュースグループに頻繁に投稿し、Pythonカンファレンスでもしばしば講演を行うような、有名なPythonプログラミングのエキスパートだということだ。実践的なサンプルと有用な舞台裏の情報を豊富に収めている本書は、効率が良く柔軟でスケーラブルかつうまく統合されたシステムを構築するために必要な唯一の書だ。
『実例で学ぶRuby』 (2007/09/20)
プログラミングを学ぶ一番の近道は、おそらく選んだ言語で書かれた実際に使われているプログラムで多用されている書き方を解析することだろう。本書は一連のRubyスクリプトを分析しながら、コードの動作を検証し、スクリプトが含むコンセプトを解説し、必要に応じた修正する方法を示します。著者の挙げるサンプルは継承、カプセル化、高階関数、再帰などのRubyの特長を体感できると同時に、XML解析、バイリンガルプログラム作成、コマンドラインインタフェース作成といった厄介な仕事を片づけられるものになっている。
本書ではインタラクティブRubyシェルで言語の特長を学んだり、RubyGemsパッケージマネージャでRubyを拡張したり、HTMLやXMLなどの文字列を処理するユーティリティ、あるいは数値計算を行うユーティリティを作成したり、純粋な関数型言語やメタプログラミングのテクニックを活用して時間と労力を節約したり、コードの最適化、プロファイリングおよびテストによって、ただ仕事を片づけるだけでなくうまく片づけたり、Railsでウェブアプリケーションを作成したりする方法を学ぶことができる。
Rubyは今日最も成長著しいプログラミング言語であるが、それはエレガントな構文と読みやすいコードが多くのプログラムを楽しく開発することを可能にしているからである。何のとっかかりもなしにそれを理解し実感するのは難しい場合もあるが、本書があれば、実際にRubyを利用する作業を通じてRubyの基本的なコンセプトを学んでいくことができる。
今買いたい本 『プログラミング言語 Ruby』 (2009/03/18)
1章 イントロダクション
Rubyひとめぐり
Rubyを使ってみよう
本書について
Rubyによる数独ソルバ
2章 Rubyプログラムの構造と実行
字句構造
構文構造
ファイル構造
プログラムのエンコーディング
プログラムの実行
3章 データ型とオブジェクト
数値
文字列
配列
ハッシュ
範囲
シンボル
true、false、nil
オブジェクト
4章 式と演算子
リテラルとキーワードリテラル
変数参照
定数参照
メソッド呼び出し
代入
演算子
5章 文と制御構造
条件分岐
繰り返し
イテレータとEnumerableオブジェクト
ブロック
制御フローの変更
例外と例外処理
BEGINとEND
スレッド、ファイバ、継続
6章 メソッド、proc、lambda、クロージャ
単純なメソッドの定義
メソッド名
メソッドとかっこ
メソッド引数
Proc
クロージャ
Methodオブジェクト
関数プログラミング
7章 クラスとモジュール
単純なクラスの定義方法
メソッドの可視性: public、protected、private
サブクラス化と継承
オブジェクトの作成と初期化
モジュール
モジュールのload、require
特異メソッドと特異クラス
メソッドの探索
定数の探索
8章 リフレクションとメタプログラミング
型、クラス、モジュール
文字列とブロックの評価
変数と定数
メソッド
フック
トレーシング
ObjectSpaceとGC
カスタム制御構造
method_missingとconst_missingの活用
メソッドの動的な作成
エリアスチェイン
ドメイン固有言語(DSL)
9章 Rubyプラットフォーム
文字列
正規表現
数値と数学
日付と時刻
コレクション
ファイルとディレクトリ
入出力
ネットワーキング
スレッドと並列処理
10章 Ruby環境
Rubyインタープリタの起動オプション
トップレベル環境
実用的な抽出と報告のためのショートカット
OS呼び出し
セキュリティ