2009/10/13

リトライSICP:第1章読了

これから読み始める人へ

  • 第1章についてはSchemeへの入門が済んでいれば読まなくても良さそう
  • Schemeへの入門が済んでいなければ済ませてから読み始めるが吉

 

ここで言う「入門が済んでいる」という状態は

  • Schemeの簡単なコードを読み書きできる
  • Schemeで違和感なく再帰手続きが書ける
  • Schemeで高階関数を書ける

とかそのくらいであればサクサク読める内容(数学的な部分を除いて)。


別の基準で言えばSchemeプログラマのレベル10でレベル3~4以上の人はザッと目を通して問題を解いてみる程度で良いと思う。

 

これらに当てはまらない人がいきなり読み始めるのはツライかも。別途Schemeの入門書なり入門サイトなりで一通り勉強することをオススメしたい。
The Little Schemerなんかを読んでいれば散々書いたことのある内容。

  • 手続き定義
  • 変数束縛
  • すべて式、すべてリスト
  • 再帰、末尾再帰
  • ローカル手続き定義
  • 局所変数
  • 無名関数
  • 高階関数

その辺。

 

感想

リトライ開始から1週間。今のところ思ったよりスムーズに読み進んでいる。SICP購入及び即挫折から1年近く経ったわけだけど、その間に他のScheme本を読んだことがちゃんと力になっているんだなーと思えてうれしい。

この調子で読了できたら良いけど、できなかったらできなかったでその時はまたリトライすれば良いかな。

 

計算機プログラムの構造と解釈

計算機プログラムの構造と解釈

posted with amazlet at 09.03.17

ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 123513

おすすめ度の平均: 3.0

1 訳が酷い
4 紙と鉛筆と計算機と
1 内容最高。翻訳最低。
5 食わず嫌いでした。
5 プログラマにとって必読の本です

Amazon.co.jp で詳細を見る

The Little Schemer

The Little Schemer

posted with amazlet at 09.03.30

Daniel P. Friedman Matthias Felleisen
Mit Pr
売り上げランキング: 16078

おすすめ度の平均: 5.0

5 小さなScheme処理系で学ぶ数学基礎理論
5 Schemeが好きになります
5 英語であるのが苦痛にならない楽しさ
5 面白いスタイル

Amazon.co.jp で詳細を見る

2009/10/09

PostScript - PDF,Web まとめ

 

PDF

 

Webサイト

 

 

PostScript(R) Language Tutorial and Cookbook (APL)

PostScript(R) Language Tutorial and Cookbook (APL)

posted with amazlet at 09.10.07

Adobe Systems Inc.
Addison-Wesley Professional
売り上げランキング: 235737

おすすめ度の平均: 5.0

5 まず最初に読むべき入門書
5 効率の良いPostScript書くなら…

Amazon.co.jp で詳細を見る

C# - 例外

ただのメモ

 

catch句

catch (ArgumentOutOfRangeException aex)

ではなく

catch (ArgumentOutOfRangeException)

とも書ける

 

だからどうというわけではなく、へぇーと思ったもんで。

リトライSICP

計算機プログラムの構造と解釈

本を読むにあたって"いついつまでに読了する"という目標は大事だと思う。なくてもいいけど、だいたいどのくらいの期間で読み終えたいなーという目標はあっても良いと思う。

 

けれども俯瞰だか逆算だかなんだか知らないがページ数を期間で割って、1日○ページは必ず読む、なんてことになると少し話が違うんじゃないかと思う。特にSICPみたいな本においてはなおの事ではないかと思う。"読み終えるため"に読み進めるなんてとんでもなくもったいない本なのではないか。第一、尻を決めるのは仕事だけで十分だ。せっかく楽しい趣味のプログラミングをわざわざツライ作業にする必要なんてない。

 

SICPは本来すごく楽しい本のはずだ。楽しんで読まれるべき本だと思いたい。楽しんで読めないうちはまだ読む時ではないのではないか。途中でつまずく事は少なくないと思うけどそれはそういう気分でないか、またはたいていの場合技術不足であるとかそういう理由によるのだと思う。

 

途中で挫折しても良いと思う。リトライすれば良いだけの話じゃないか。何度リトライしたってかまわないわけだし。ノルマを課して"頑張って"読むより随分健康的に思える。時間をかけるだけの価値のある本なんてそんなにたくさんないんだし、むしろ世の中には読む価値すらない本であふれてる中、あきらかに読む価値のある本をしつこく何度も読み返した方がよっぽど有意義じゃないか。

 

ただ間が開いてしまってフェードアウト積読になるのは避けたいので「毎日必ず読む」ということだけは継続したいところではある。気分が乗らない時や疲れている時もあると思う。そんな時は1パラグラフだって良いし、以前読んで楽しかったところやお気に入りのところを読み直したり、索引や目次に目を通すことでも良いんじゃないか。それでも無理なようであればおとなしく積んでしまえば良い。たぶんまたリトライするだろうし。

 

ということで昨日だか一昨日だかからSICPにリトライ中。今のところとても楽しく読んでいる。問題はシャーペンで直に書いて解いている(笑)まだ手書きでいける。もちろん手書きはすぐに行き詰るはずなので風呂で読み進めるのを辞めよう。

 

だいたいの目標としては今年度中に読み終えたらたいしたもんかな。

 

はなから2周するつもりで1周目を「点検読書(本を読む本 (講談社学術文庫))」としてササーっと目を通した方がいいのかな・・・。ササーっと目を通せる気がしないけど。

 

深夜に書いた文章なので明朝読み直して恥ずかしがろう。

 

計算機プログラムの構造と解釈

計算機プログラムの構造と解釈

posted with amazlet at 09.03.17

ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 123513

おすすめ度の平均: 3.0

1 訳が酷い
4 紙と鉛筆と計算機と
1 内容最高。翻訳最低。
5 食わず嫌いでした。
5 プログラマにとって必読の本です

Amazon.co.jp で詳細を見る

本を読む本 (講談社学術文庫)
モーティマー・J. アドラー C.V. ドーレン
講談社
売り上げランキング: 788
おすすめ度の平均: 4.5
4 スロー・リーディングの原点
4 簡単に実行できそうにないが、正統的な読書の仕方を学んでおくことはとにかく有益だろう
4 非常に良い本で
5 本と真剣に向き合うために
1 .

2009/10/08

PostScript入門(1)

appolonain_net
画像はもちろん私が描画したものではありません。こちらのもの。

テキスト

当エントリ最下の青本を読みながら学習を行ってその経過を書いていきたい。

開発環境

Emacs(Meadow)に同梱されているps-modeでコードを書く
WS0810 上記画像のpsファイルを開いている様子

ビューワはGhostScriptのGSviewを使う
WS0811 Emacsでコードを修正しつつViewすることができる

こちらの方はインストールすると.psファイルをPDFに変換してViewしてくれる

Emacsの方でインタラクティブに評価できるともっといいのだけれど・・・。というかたぶんできるはずだろうと思うが調査中。GhostScriptのShellみたいなやつをEmacsで叩いてゴニョゴニョすればいいのだと推測。

描画してみる

3.1-DrawingLines
とりあえず線を引いてみるところから・・・

newpath            
    144 72 moveto             
    144 432 lineto             
    100 144 lineto             
    144 72 lineto             
stroke             
showpage
結果:
3.1-DrawingLines-2

newpath            
    72 360 moveto             
    144 72 rlineto             
    144 432 moveto             
    0 -216 rlineto             
stroke             
showpage
3.1-DrawingLines-3


newpath            
    72 360 moveto             
    144 72 rlineto             
    144 432 moveto             
    0 -216 rlineto 
    72 360 moveto            
    144 72 lineto             
    144 432 moveto             
    0 -216 lineto             
stroke             
showpage
3.1-DrawingLines-5


newpath            
    72 360 moveto             
    144 72 rlineto             
    144 432 moveto             
    0 -216 rlineto 
    72 360 moveto            
    144 72 lineto             
    144 432 moveto             
    0 -216 lineto 
    172 360 moveto            
    244 72 rlineto             
    244 432 moveto             
    100 -216 rlineto             
stroke             
showpage
3.1-DrawingLines-6


linetoとrlinetoがどうちがうのか、というかrlinetoの挙動がよくわからないので↓のようなコードで描画してみた。けど良くわからない。青本に沿って進めてるけど英語がうまいこと読めない\(^o^)/
newpath            
    144 10 moveto             
    144 200 lineto 
    144 10 moveto            
    144 200 rlineto             
stroke             
showpage
3.1-DrawingLines-7

書籍

PostScript(R) Language Tutorial and Cookbook (APL)
PostScript(R) Language Tutorial and Cookbook (APL)
posted with amazlet at 09.10.07
Adobe Systems Inc.
Addison-Wesley Professional
売り上げランキング: 235737
おすすめ度の平均: 5.0
5 まず最初に読むべき入門書
5 効率の良いPostScript書くなら…
Amazon.co.jp で詳細を見る

TFS - チームプロジェクトを削除する

TFS : Team Foundation Server

開発の超力強い味方。

 

使い始めた頃に安易にチームプロジェクトを作りまくって削除方法がわからず困ったのでメモ。

  1. Microsoft Visual Studio 9.0\Common7\IDE\TFSDeleteProject.exe を叩く。以上。

 

GUIでの削除はできない。Batを作っておくと便利。

@Rem -------------------------------------------------------------
@Rem --- TeamProject delete bat
@Rem --- 2009/07/02 Defined By hoge
@Rem -------------------------------------------------------------

@CD C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE
@Set /p s="server name : "
@Set /p p="project name : "
@TFSDeleteProject.exe /server:%s% %p%

@Pause >nul

@Set s=""
@Set p=""





C# - TraceListener

WS000025

画像はTrace Viewer。最近TraceListenerを扱うことが多いのでメモ。

 

TraceListenerとは

この「TraceListener」の存在をもっと早く知っていたら、ログ実装処理に手間かけなくて済んだのに・・・

「TraceListener」を知らないでログ出力処理なんか書くと、コード量は増えるし、後で知った時のショックが大きいです。

私もこれを知ったときはショックでした。C#を始めたころから読んでいるC#プログラミングレッスンで知りました。

 

TraceListenerの種類

画像のTrace Viewerで開いているのはXmlWriterTraceListenerでとったWCFサンプルのログ(.svclogファイル)

 

参考になる資料

C#プログラミングレッスン

個人的には下手にC#の本買うよりこのメルマガを通読する方が2兆倍勉強になると思っています。

 

 

ところでこの↓の本、読み始めた頃は「結構いいかも」と感じたけど微妙な空気になってきた・・・。出版前にコードのチェックしてあるんだろうか。ステップバイステップの各ステップのチェックはしてあるんだろうか。怪しい。あまりにも、その、間違いが・・・。もう少しちゃんとチェックしないと読者も著者も出版社もみんな不幸になるのでは・・・。

これからはじめるWCFプログラミング

これからはじめるWCFプログラミング

posted with amazlet at 09.10.07

鄭 立 小森谷 良明 加藤 誠司 飯田 洋介
秀和システム
売り上げランキング: 225303

おすすめ度の平均: 3.0

5 これぞWCFの教科書!!
1 DCOMとの対比での説明は正しいやり方とは思えない

Amazon.co.jp で詳細を見る