パスワードを忘れた? アカウント作成
722260 journal

naifuraの日記: VS.NET and Google APIs

日記 by naifura

VS.NET をインストールした。
Google Web APIs のライセンスキーを取得して、試してみた。

まず C# のサンプルプログラム。ちゃんと動いた。
しかし、日本語キーワードで検索ができない。

今度は Linux + Java でコマンドラインのデモを試した。
InputEncodingをセットしてみたがやはり日本語は不可。

@IT の記事を読んだら「現段階で日本語は使用できない」と書かれていた。
やはりそうなのか。

なんか逃げ方がありそうなものだけど。
ちなみに %93%FA%96%7B のようにしてみたけどこれも不可。

VS.NETは今日は深追いしません。

431355 journal

naifuraの日記: jdb

日記 by naifura
プログラミングは完全に現実逃避の仕事になりつつある。

Vine Linux 2.1.5 + OpenOffice 641d という環境を作ってみた。
日本語フォントが汚いが、OLE も含めて機能はちゃんと使えるし、
MS-Office との互換性も高い(日本語フォント名は変だけど)。
が、問題を見つけてしまった。root でインストールすると一般ユーザで
うまく動かない。一般ユーザでインストールしなおした。かっこわる。

きょうも Relaxer プログラミングの続き。
生成系に使うと new Hoge(), setHoge(), addContent() の羅列。
そういえば昔 C++ で似たようなことをした。
長いだけの単調なコーディング。生成系はしょうがないか。
setContentByString() という逃げ道があるのがいいですね。

先日のリファクタリングの話。
すべてのプログラミングはサンプルコードのリファクタリングである、
と偉そうなことを書いてしまったが、良く考えたら機能をどんどん
変えていくのはリファクタリングとは言わない。

今日見つけた論文:

竹田,大岩:プログラム開発体験に基づくソフトウェア技術者育成カリキュラム,
情報処理学会論文誌, Vol.33, No.7, pp.944-954, July 1992.

「他人のプログラムを使用し、ソースを読んで理解したり、部品を再利用
したり、自分のプロジェクトに合うように変更したりするのも
また重要な技術である」

ということで、これを「漸進的ミニ・プロジェクト」で指導すると良いという
主張なのだが、「サンプルコードのリファクタリング」のような怪しげな
表現でなく、素直に私が言いたかったことはこういうことだったかも。

10年前の論文ですが、ここに書かれたことがちゃんと教育できてない
現場はいまだにたくさんある。

そして、先ほどからふっと気になって jdb をいじっている。
デバッガでステップ実行しないプログラマは怠慢だと
かつて「Writing Solid Code」は言っていた。だから私は gdb を覚えた。
いま Java で JBuilder を使わない人はちゃんとそれを実践できるだろうか?

$ java HelloHoge test.hoge

で動くプログラムは

$ jdb HelloHoge test.hoge
> run

でデバッグできる。だがこれだけでは意味がない。
まず、main() にブレークポイントを設定しましょう。

> stop in HelloHoge.main()
> run

なぜかエラーになる。

> stop at HelloHoge:42
> run

こんどはブレークポイントにヒットした。
ちなみに 42 行目は main() 宣言の次の行。

ステップオーバー:
> next

ステップイン:
> step

ステップアウト:
> step up

ステップ**はマイクロソフト用語かも知れない。。

プログラムが終ると
「アプリケーションが存在します」
と表示して jdb が終了する。意味不明。

> stop in Hoge2Hoge.setHoge
あ、いけた。もしや () は不要だったか?

> run
ブレークポイントヒット。

> print hoge
hoge = null

> next
> next
> print hoge
hoge = instance of java.lang.StringBuffer(id=483)

そりゃねーだろ。中身は表示せんのか?

> print hoge.toString()
hoge.toString() = "<hoge hoge="hoge"/>"

そうか、String じゃないからかあ。。

> quit

$ jdb HelloHoge test.hoge
> stop in HelloHoge.main
> run

こんどはうまくいきました。

いずれにせよ、jdb も最低限のデバッグには使えるということが判明。
431349 journal

naifuraの日記: Relaxer続き

日記 by naifura
昨日の続きを書いたのにうまく登録できなかった。
もう一度書き直すのが面倒なので箇条書きにする。

・すべての探索的プログラミングは
「サンプルコードのリファクタリング」である(仮説)

・RelaxerによるXML開発は,処理系のシンプルさと
 言語体系の柔軟さのトレードオフである。
 get/set で済ませたければ言語の自由度を減らせばよい。

・プレビューではなく保存をしないと,日記を書いたことにならない
431347 journal

naifuraの日記: Relaxer

日記 by naifura

現実逃避としての Relaxer 開発日記。
やろうとしているのは、自作言語の処理系。

今日はスラッシュドット日記を初めて使うので、開発環境だけ書く。

Relaxer Version 0.16 (20020114)

Java(TM) 2 Runtime Environment, Standard Edition
(build 1.4.0-b92)

Kondala MNU/Linux 2.0 (i586)

「未知の技術の探索」と「リファクタリング」のプロセスについて
主に書きたいと思っている。

typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...