[HOME]  [全部表示 会議室風]  [全部表示 保存用]  [HOME]  [リストへもどる]

一括表示


  としきさんの msgview 完璧なツリー - konno 24/01/27-16:28 No.11048
  ┗ Re: としきさんの msgview 完璧なツリー - としき 24/01/28-13:58 No.11053
   ┣ Re^2: としきさんの msgview 完璧なツリー - konno 24/01/28-17:37 No.11054
   ┃┗ Re^3: としきさんの msgview 完璧なツリー - としき 24/01/28-20:01 No.11055
   ┃ ┗ Re^4: としきさんの msgview 完璧なツリー - konno 24/01/28-22:48 No.11057
   ┃  ┗ Re^5: としきさんの msgview 完璧なツリー - としき 24/01/29-01:43 No.11059
   ┃   ┣ Re^6: としきさんの msgview 完璧なツリー - 文太 24/01/29-11:46 No.11061
   ┃   ┃┗ Re^7: としきさんの msgview 完璧なツリー - としき 24/01/30-12:45 No.11066
   ┃   ┃ ┗ Re^8: としきさんの msgview 完璧なツリー - 文太 24/01/31-20:21 No.11074
   ┃   ┃  ┣ 『スタイルブック』 - 文太 24/02/01-11:16 No.11077
   ┃   ┃  ┃┗ Re: 『スタイルブック』 - としき 24/02/05-18:20 No.11079
   ┃   ┃  ┃ ┗ Re^2: 『スタイルブック』 - 文太 24/02/06-17:20 No.11081
   ┃   ┃  ┃  ┗ Re^3: 『スタイルブック』 - としき 24/02/07-02:12 No.11083
   ┃   ┃  ┃   ┗ Re^4: 『スタイルブック』 - 文太 24/02/08-00:27 No.11084
   ┃   ┃  ┃    ┗ Re^5: 『スタイルブック』 - としき 24/02/10-20:45 No.11085
   ┃   ┃  ┃     ┗ Re^6: 『スタイルブック』 - konno 24/02/10-22:48 No.11086
   ┃   ┃  ┃      ┗ Re^7: 『スタイルブック』 - としき 24/02/16-17:00 No.11089
   ┃   ┃  ┃       ┗ Re^8: 『スタイルブック』 - konno 24/02/17-00:43 No.11091
   ┃   ┃  ┃        ┗ Re^9: 『スタイルブック』 - としき 24/02/17-11:33 No.11092
   ┃   ┃  ┃         ┗ Re^10: 『スタイルブック』 - konno 24/02/18-15:10 No.11094
   ┃   ┃  ┗ ハノイを目指して - konno 24/02/05-23:23 No.11080
   ┃   ┃   ┗ Re: ハノイを目指して - konno 24/02/06-23:52 No.11082
   ┃   ┗ Re^6: としきさんの msgview 完璧なツリー - konno 24/01/29-15:41 No.11062
   ┗ Re^2: としきさんの msgview 完璧なツリー - としき 24/03/04-23:32 No.11132
    ┗ Re^3: としきさんの msgview 完璧なツリー - konno 24/03/05-00:07 No.11134
     ┗ Re^4: としきさんの msgview 完璧なツリー - としき 24/03/05-12:06 No.11136
      ┗ Re^5: としきさんの msgview 完璧なツリー - konno 24/03/05-15:24 No.11139
       ┗ Re^6: としきさんの msgview 完璧なツリー - としき 24/03/05-17:24 No.11142
        ┗ Re^7: としきさんの msgview 完璧なツリー - konno 24/03/05-20:04 No.11144
         ┗ Re^8: としきさんの msgview 完璧なツリー - としき 24/03/07-02:17 No.11146
          ┗ Re^9: としきさんの msgview 完璧なツリー - konno 24/03/07-22:04 No.11148
           ┗ Re^10: としきさんの msgview 完璧なツリー - としき 24/03/08-01:08 No.11151
            ┗ Re^11: としきさんの msgview 完璧なツリー - konno 24/03/09-01:38 No.11152
             ┗ Re^12: としきさんの msgview 完璧なツリー - としき 24/03/09-11:17 No.11153
              ┗ Re^13: としきさんの msgview 完璧なツリー - konno 24/03/09-23:45 No.11154
               ┗ Re^14: プログラムの作り方 - としき 24/03/10-13:59 No.11155
                ┗ Re^15: プログラムの作り方 - konno 24/03/11-00:19 No.11157

(11048) 11048としきさんの msgview 完璧なツリー  投稿者:konno   2024/01/27(土) 16:28
   コメント数 1

今までとしきさんに何度も指摘されていた msgview 個別発言のツリーのバグですが
としきさんに私の msgview.cgi を見て頂き、修正していただきました。
おかげさまでツリー表示は完璧になりました。\(^^)/ ヤッタ-

としきさん、ありがとうございました。m(__)m

      - No.11048 -    このTreeへ           [リストへもどる] soft

(11048) 11053Re: としきさんの msgview 完璧なツリー  投稿者:としき   2024/01/28(日) 13:58
参照先:http://toshiki.la.coocan.jp/
    11048 番 konno さんへのコメント    コメント数 2

いやぁ、何とか動いてくれたようで助かりました。
一応、かなり複雑なツリー構造も含め、一通りの動作確認はしていますがね。
何せ、使ったデータが、うちの板塀のデータですから。
どんなチェック漏れがあるやら、想像もつきません。
というか、コードを書いた人が想像できないところにバグが忍び込むわけで。
そのうち、異常なパターンが発覚したら、そのたびに直すしか。
だって私、konnoさんのコードを読みきって修正したわけではなく。
正常な出力のallreadと異常なmsgviewを比較しただけなんで。
どういうロジックでツリーを出力しているのか、いまだによくわかっていない。
ま、動けば正義、というのはあるわけで。
とはいえ、動かないとき、だとか、動かなくなってしまったとき、のことを考えて
プログラミングしておいたほうが、いろいろと楽ができるとは思いますけど。
かつて、20年ぐらい前だったかな、同じ職場にいた人で、この人は楽をしたくない
のかな、わざと難しくなることを好んでいるのかな、マゾっ気があるのか? と
思わせられる人がいたことを思い出したりしました。
      - No.11053 -    このTreeへ    コメント元:11048 へ [リストへもどる] soft

(11048) 11054Re^2: としきさんの msgview 完璧なツリー  投稿者:konno   2024/01/28(日) 17:37
    11053 番 としき さんへのコメント    コメント数 1

としきさん

> いやぁ、何とか動いてくれたようで助かりました。

としきさんのチェックなら間違いないと思っていました。
ありがとうございました。

> 一応、かなり複雑なツリー構造も含め、一通りの動作確認はしていますがね。
> 何せ、使ったデータが、うちの板塀のデータですから。
> どんなチェック漏れがあるやら、想像もつきません。

なるほど、人任せではなく自分でもチェックはした方がいいということですね。
お送りいただいた msgview3.cgi と自分の wforum.cgi で比較してみました。
wforum.cgi
($no,$re,$lx,$sub,$eml,$url,$nam,$dat,$msg,$lt,$ho,$pw,$wrap,$oya,$sml,$com) = split(/<>/);
$j++;
if ($in{'oya'} == $oya) { push(@new,$_);

msgview3.cgi
($no,$re,$lx,$sub,$eml,$url,$nam,$dat,$msg,$lt,$ho,$pw,$wrap,$oya,$sml,$com) = split(/<>/);
if ($in{'oya'} == $oya) { push(@new,$_);
$j++;

うげ、$j++; の位置が分岐前から分岐後になってる!!
他にも $mx=0; が追加されたり "}" の位置が、if の前になったりしていますね。
違いはこのくらいでしょうか。

実は昨日から STIME.EXE のソースを弄っていたのですが、うまく動かなくて・・・
色々調べたら、変数の設定を if 分岐の前にやっていたのが原因でした。(>_<)
どうやら私は分岐で躓く傾向があるようです。

> とはいえ、動かないとき、だとか、動かなくなってしまったとき、のことを考えて
> プログラミングしておいたほうが、いろいろと楽ができるとは思いますけど。

メールで言っていた、インデントや不要なコメントなどですね。
これからは気を付けるようにします。

> かつて、20年ぐらい前だったかな、同じ職場にいた人で、この人は楽をしたくない
> のかな、わざと難しくなることを好んでいるのかな、マゾっ気があるのか? と
> 思わせられる人がいたことを思い出したりしました。

うう、私のソースってそんなふうに見えているのですか・・・ (;_;)

      - No.11054 -    このTreeへ    コメント元:11053 へ [リストへもどる] pre

(11048) 11055Re^3: としきさんの msgview 完璧なツリー  投稿者:としき   2024/01/28(日) 20:01
参照先:http://toshiki.la.coocan.jp/
    11054 番 konno さんへのコメント    コメント数 1

実は私自身、$mxの初期化漏れってそんなに影響があるとは思っていませんでした。
でも、なんかうまく行かなかったので、わりと早い目に追加しました。
そして、$jは配列の添え字。
配列を設定する側で添え字のインクリメントが間違っていたため、配列を読み出す
部分で配列の正しい位置にアクセスしてもデータが取り出せず、未定義の情報で
条件判断するはめになってしまい、"┃"と空白のどちらを出力するかという部分が
うまくいっていなかったのでした。

> メールで言っていた、インデントや不要なコメントなどですね。

不要なコメントの部分、あれはほんと、まるで迷彩のような。
軍事用語でもありますが、私がコードを読んだ第一印象は、マージャン漫画での
この言葉。そして、SFへのマジレスでよくある、透明人間は回りを見ることが
できないとの説から、光学迷彩を放った本人(konnoさん自身)が迷彩にやられて
しまった、という感じも受けました。

インデントのほうはねぇ。こちらはちょっと長くなります。
これは、コーディングスタイルとかいって、スタイル、つまり美学の領域。
美学って確か、文太先生の専門だったような気もする。
それはさておき。
たとえば、最近のkonnoさんのBASICのコード。
最近いじった部分がわかるほうが良い、と思う人なら、昔のコードの部分は行番号
があって大文字、最近いじった部分は行番号無しで小文字にする、とか。一方で
統一感があったほうが美しいと思う人なら、全て大文字で行番号つきに統一、と
いろいろな考え方があるわけです。
でも、どの立場に立とうが、プログラムの論理構造、つまり順次・選択・反復と
いった構造をわかりやすくするためには字下げしかありません。既に30年以上
前から、これは当たり前のこととされています。昭和60年ごろに書かれた本には
「いまや字下げをしないプログラマは・・・」などという記述があったりします。

えぇと、いい機会だから書いてしまおうかな。
上記の本の紹介。#10398でも書いていますね。

林晴比古著「BASICによるプログラミングスタイルブック」
ISBN4-930795-28-1
定価1800円
昭和60年12月25日初版発行

私の持っているのは昭和61年11月の第4刷。
この本が出る2年位前からOh!PCに掲載されていたものがまとめられたのですがね。
この本が出た前後で、Oh!PCに掲載されるサンプルコード、特に学習用の講座などの
コードはみんな、なだれを打って、という感じで、読みやすいコードになりました。
その後、ベーマガのコードはあまり変わったようには見受けられませんでしたが、
ASCIIやI/Oのコードは、数年後には少し変わったかも。


> うう、私のソースってそんなふうに見えているのですか・・・ (;_;)

ま、私がとりわけぐうたら、と言うのもありますが。
プログラムを作るのって、結果が欲しいから作るものだと思っております。
なので、過程は楽をしたい。つまり、デバッグは楽なほうがいいと思っています。
だけど、あのコードは、なんかわざわざデバッグそのものを楽しむためのコードの
ような。
「デバッグ楽しいなぁ〜(;_;)」という経験の多寡でも考え方は変わるかも。
      - No.11055 -    このTreeへ    コメント元:11054 へ [リストへもどる] soft

(11048) 11057Re^4: としきさんの msgview 完璧なツリー  投稿者:konno   2024/01/28(日) 22:48
    11055 番 としき さんへのコメント    コメント数 1

> 実は私自身、$mxの初期化漏れってそんなに影響があるとは思っていませんでした。
> でも、なんかうまく行かなかったので、わりと早い目に追加しました。
> そして、$jは配列の添え字。
> 配列を設定する側で添え字のインクリメントが間違っていたため、配列を読み出す
> 部分で配列の正しい位置にアクセスしてもデータが取り出せず、未定義の情報で
> 条件判断するはめになってしまい、"┃"と空白のどちらを出力するかという部分が
> うまくいっていなかったのでした。

うう、やっぱり基本がわかっていないとこういうミスを出しやすいのですね。
今回 BASICでも同じようなところで躓いて直すのにえらく時間がかかってしまいました。

> 不要なコメントの部分、あれはほんと、まるで迷彩のような。
> 軍事用語でもありますが、私がコードを読んだ第一印象は、マージャン漫画での
> この言葉。そして、SFへのマジレスでよくある、透明人間は回りを見ることが
> できないとの説から、光学迷彩を放った本人(konnoさん自身)が迷彩にやられて
> しまった、という感じも受けました。

私も義体化が進んできたので、バトーのようになるのでしょうか。(違)
BASICではコメントを緑に表示しているので、マジで迷彩服のようになってます。(^^;

> 上記の本の紹介。#10398でも書いていますね。
> 林晴比古著「BASICによるプログラミングスタイルブック」

うう、いまさら聞けないBASIC みたいに微妙な・・・ 見かけたら読んでみたいですね。(^^;

> だけど、あのコードは、なんかわざわざデバッグそのものを楽しむためのコードの
> ような。
> 「デバッグ楽しいなぁ〜(;_;)」という経験の多寡でも考え方は変わるかも。
       ↑     ↑
ククッ、、思わず吹いてしまいました。
まさに私のことを的確に言い当てているような。(^^;

      - No.11057 -    このTreeへ    コメント元:11055 へ [リストへもどる] soft

(11048) 11059Re^5: としきさんの msgview 完璧なツリー  投稿者:としき   2024/01/29(月) 01:43
参照先:http://toshiki.la.coocan.jp/
    11057 番 konno さんへのコメント    コメント数 2

追伸というか。
きちんと理解できていないというのもあって。
もしかしたら、$mxの初期化って、それほど重要ではないかもしれない。
ただ、少なくとも、allreadのほうでは初期化してあったような。
それに、初期化しておいて害になることもないし。

> > 上記の本の紹介。#10398でも書いていますね。
> > 林晴比古著「BASICによるプログラミングスタイルブック」
> うう、いまさら聞けないBASIC みたいに微妙な・・・ 

私には、文体が引っかかるんですよ。
ただ、この時代のコンピュータの本を書く人って、特徴的な文体の人が何人かいて。
もう一人、ナツメ社あたりからアセンブラか何かの本を出していた人で、どうにも
文体が肌に会わなかった人がいたような記憶もある。
さて。
よく見たらタイトルが微妙に違う。
「BASICによるプログラミング・スタイルブック」
と、中黒があるのが正解。
章立ては

STEP1 基本を知る
STEP2 型にはめる
STEP3 サブルーチンの整理
STEP4 視点を変える
STEP5 工夫に、工夫を

となっている。中身に文法解説はほとんどない。
章の中の各節は、抜粋ですがたとえば

1 BASICの能力を見直そう
5 字下げをしよう
9 意味のわかる変数名にしよう
12 ブロック構造にしよう
15 マルチステートメントは上手に使おう
16 空白を入れよう
19 行番号をそろえよう

といった項目が46個あり、各節の中でそれぞれ根拠と共に例示がなされている。
当時の普通科高校生でも十分読める文章でしたから、文章としては今なら中学生
にも理解できると思う。いや、BASICのほうを解説してやらんとダメか。


さて、それでは、ちょっと一休みして。
つぎはいよいよ、konnoさんご希望の、掲示板検索ルーチンに取り掛かってみますか。
って、いつ開始するか全くめどは立っていませんが。

      - No.11059 -    このTreeへ    コメント元:11057 へ [リストへもどる] soft

(11048) 11061Re^6: としきさんの msgview 完璧なツリー  投稿者:文太   2024/01/29(月) 11:46
    11059 番 としき さんへのコメント    コメント数 1

 ククッ、、思わず吹いてしまいました。
 会話の意味がまったく分からない。これが日本語であることは認知して
おりますが。

 それより、おお、そんな会話があったのか、1年ちょっと前。すごい
記憶力 >としきさん。もちろん、検索したのは分かりますが。
 というわけで、 林晴比古著『BASICによるプログラミング・スタイルブック』
を図書館で探してみましょう。(注)

解説:まったく本腰が入ってませんが、僕は BASIC に興味をもっている
のですね。だから、この前のオフ会にも岡田元治さんの BASIC コンパイラの
マニュアル・プリントアウトを持って行ったのです。「ハノイの塔」の
コード・プリントアウトとともに。

 学習は「ハノイの塔」とは何か? から始まる予定。まだ始まらない……。

>小さい円盤の上に大きいものを重ねることはできない。 [補説]フランスの数学者
>リュカによって1883年に考案された。 発売時に、アジアに伝わるパズルという
>架空の設定で宣伝されたため名付けられた。

 という語源だそうです。ベトナムはベトナム戦争の前までフランスの
植民地でした。日本もほぼ瞬間的に植民地化しましたけれど。
 ああ、インパール作戦。

konnoさん、
 konnoさんのお祈りのおかげで、例の地獄の作業、あの日のうちに終わりました。
いまは次の修羅場に備えております。ふらっふらになった記憶は新しいのですが、
そのとき、ちゃんと konnoさんに感謝し、お祈り返しもいたしました。m(__)m

鈴木康弘大先輩、
 お初です! いらっしゃいませ!!! Win7マシンでパーティション切り、DOS
(FAT16)ドライブ!!! やるぅ。
 「Vzマクロほんとの入門」の作者さんですよね!!! お世話になりました。

 江戸地方、今日は晴れです。(う、孝義さんだった。弟さん?)


(注)しかし、こういうのばっかですねぇ、>己。_Software Tools in Pascal_は、
Vz黒本の隣に鎮座している。ここから1メートル以内。

      - No.11061 -    このTreeへ    コメント元:11059 へ [リストへもどる] soft

(11048) 11066Re^7: としきさんの msgview 完璧なツリー  投稿者:としき   2024/01/30(火) 12:45
参照先:http://toshiki.la.coocan.jp/
    11061 番 文太 さんへのコメント    コメント数 1

>  学習は「ハノイの塔」とは何か? から始まる予定。まだ始まらない……。

「ハノイの塔」って、再帰のサンプルとしては非常に有名。
プログラム初心者に再帰を説明するのは「ハノイの塔」かフィボナッチ数列か、
というくらい。再帰を使ったほうがシンプルなものって、実生活ではあまり
見かけませんからね。
また、再帰でできるものは必ずループでもできるらしい。
なので、再帰からループへコードを変更するための題材にも使われるらしい。
で、ループならどうということもないのですが。
8ビットパソコンの時代のBASICでは、再帰というものが使えませんでした。
なので、そこでわざとループを使わず、いかに擬似的な再帰を実現するか、という
のも、ちょっと気取ったプログラマたちの力試しの例題に使われていたりして。
ま、再帰が使えない、という意味ではVzのマクロも同様。
だけど、Vzのマクロでも「ハノイの塔」はしっかりあるわけで。
結局、アルゴリズムなんて、どんな言語で実現しようが大差はないはず。
もちろん、向き不向きはあるでしょうが。

      - No.11066 -    このTreeへ    コメント元:11061 へ [リストへもどる] soft

(11048) 11074Re^8: としきさんの msgview 完璧なツリー  投稿者:文太   2024/01/31(水) 20:21
    11066 番 としき さんへのコメント    コメント数 2

としきさん、

 詳細にありがとうございます。もともと「再帰」を狙ってあのサンプルを
選んだわけではなくて、単に「BASIC って読みやすいね。英語じゃん」という
だけだったのですが、この際ですから、「再帰」と「ループ」がどう違うのか
分かってやろうじゃないの、という気分になっています。
 多謝です。

 とはいえ、もうちょい待って。次々いろいろ起こるのですよねぇ、、、。
とほほ。

 ま、岡田元治さんのコンパイラに通るコードは、構造化もできるし、
「再帰」もできるし、十分にモダンなもの、ということですね。
 あ、マニュアルにね、FortranとかPascalとか出てきて(もちろん、
過去と歴史の話として)、そしてCは出てこなくて、そうですかぁ、よい
ですねぇ、その語り口というものでした。
 まったく無駄話をしない学者肌な方ですが。

 行くぞ、ハノイ! 3月あたり。「ハノイへ行ってみよう!」とかいう
タイトルで、少しは勉強してから、再帰いたします。

 ありがとうございます。

 そうそう、BASIC のユーザ変数に「型」がある、そのトークンがある、
というけっこう前の解説にも感謝していました。重ねてありがとうございます。

 血糖値(糖尿)のあとは、胃がんか? やれやれ。
 長生きするぞ!


      - No.11074 -    このTreeへ    コメント元:11066 へ [リストへもどる] soft

(11048) 11077『スタイルブック』  投稿者:文太   2024/02/01(木) 11:16
    11074 番 文太 さんへのコメント    コメント数 1


 どうでもよい追記です。書くのを忘れていました。少し古い話。
 近場のも都立のも、図書館にはありませんでした。PC関係の古い本って
わりと廃棄される可能性が高いような印象。
 というわけで、いちおう古書店をサーチ。ビンゴ! 送料込み \1220 。
 こうして、書庫の肥やしが、いえ、さらなる幸福コレクションがもう1冊、
本棚に追加される予定です。今日か明日には、着くのではないかしら。
 ま、どうでもよいことですが。


      - No.11077 -    このTreeへ    コメント元:11074 へ [リストへもどる] soft

(11048) 11079Re: 『スタイルブック』  投稿者:としき   2024/02/05(月) 18:20
参照先:http://toshiki.la.coocan.jp/
    11077 番 文太 さんへのコメント    コメント数 1

> 本棚に追加される予定です。今日か明日には、着くのではないかしら。

もう届いていそうですね。
ま、気が向いたら本文を読みましょう。
推理小説でもありませんから、結末から読まなくても大丈夫。
#おいこら
とりあえず、序文と目次くらいは読んでおいてもいいかも。
内容に対する批判はあったかもしれないけど、文体が合わない、というのは私くらい
のものでしょう。あ、でも、雰囲気が合わなくて上村さんの本に手を出さなかった、
というのはめざらさんでしたっけ。
そして、私の場合、文体ではなく内容のほうは、とても勉強になりました。
本文で作者は

> だから、筆者の書くプログラムは使用する言語がBASICだろうがCだろうがPascal
> だろうが、ほとんど同じスタイルをしている。

と書いていますが、私も、BASICだろうがPerlだろうがVzマクロだろうが、ほとんど
同じようなスタイルのプログラムになっています。この辺はまさに、この本からの
影響でしょう。

      - No.11079 -    このTreeへ    コメント元:11077 へ [リストへもどる] soft

(11048) 11081Re^2: 『スタイルブック』  投稿者:文太   2024/02/06(火) 17:20
    11079 番 としき さんへのコメント    コメント数 1

 ハノイへようこそ、じゃないな。
 手を動かさず、クチばっかり動かしている文太です。
 目で活字を追うだけの日常は、まだまだ続くのですが。
 あ、体ぜんぶを使って、雪かきはしましたよん。

 さてさて、良書だろうと思います。ちらちら眺めただけですが。

>私も、BASICだろうがPerlだろうがVzマクロだろうが、ほとんど
>同じようなスタイルのプログラムになっています。

 こうなるでしょうね、この抽象度の高さだと。
 えーと、あれだけ詳細に内容を紹介していたので、あ、わたくしに
買えと仰ってる、と誤解したのです。これは、konnoさんが勧められて
いる本でした。
 が、僕も楽しくよめそうですよ。BASICのコードを覚えながら。

 konnoさんが勧められている点とは違いますが(?)、−−ごめん
なさい、長すぎて引用できません >konnoさん−−、たとえば、
p.231。まあ、広義に文体と言ってもいいですが、この作者の読者
への姿勢みたいなのは、僕も鼻につきました。僕は、何かを伝える
人が偉そうなのは好きです。僕に何かを教えてくれる人はみな先生で、
「先生はいつも偉い、絶対的にエライ」と思っています。

 が、ここ、しつこい。「自己満足におちいり、自己陶酔にひたる」。
ここでお仕舞でいい。この上の段落も4行ぐらい削除したい。この
段落も残り全部カットしたい。説教がうるさすぎ、という印象ですね。
 具体的に中身のあることを語れ。

 ま、これも一度はまると、このムチが快感、となることもあるので、
こちらの気分次第という面もあろうかと思いますが。

 と、同調して批判的なことを書きましたが、これがなければ、という
気持ちです。ゆっくり3回読む価値はあるな、と思っています。

 本を手に取れる人にしか通じない書き方でごめんなさい。
 konnoさん、僕はちょっと時間がかかりそうですので、熱いうちに、
としきさんに借りてみましょう!

 田野村さんでしたか、そんな記憶がおぼろげにありましたが……。
 あの人、そういう本格的な王道を生きた人でしたね。
 が、僕の手、動かず。

      - No.11081 -    このTreeへ    コメント元:11079 へ [リストへもどる] soft

(11048) 11083Re^3: 『スタイルブック』  投稿者:としき   2024/02/07(水) 02:12
参照先:http://toshiki.la.coocan.jp/
    11081 番 文太 さんへのコメント    コメント数 1

雪は夜更けすぎに、雨へと変わるだろう、サイレ(以下略)

俺は何を歌っているのだ。
いやぁ、2月5日は深夜、23時ごろになって大雪も峠を越えて、みぞれか雨か、
というものが弱く降ってくるだけになったので、そこから雪かき開始。
だって、6日は日勤で出社しないといけないのだもの。
結局、1時間あまり汗を流して、自宅前の道路の雪は概ね撤去。
撤去した雪のほとんどは、自宅の庭に放り込みました。他に置く場所がないから。
多少は側溝にも押し込みましたけどね。
それから入浴して就寝は2時過ぎ。
だけど、夜通し続いた落雪の音がまるで爆撃のようで、一晩中まんじりとせず。
6日は普通に5時起きして、いつもより5分早く6時前には出社。眠い。
ちなみに、7日も日勤なので5時起き予定。
あぁ、掲示板に書き込んでる余裕なんてない。はず。
7日も眠そうだ。


それはさておき。

>  さてさて、良書だろうと思います。ちらちら眺めただけですが。

以前にも書きましたが、内容については、王道も王道。
重箱の隅はともかく、全体的には、あまり批判できない。

ところで、この本、雑誌連載をまとめたものです。
不定期連載みたいな形で、1年ぐらいに渡って書かれたものだったかと。
当然、読者からの感想みたいなものが編集部に届くわけですよ。
そんな中に「これはもはや宗教だ」みたいな内容が混じっていたことがあったらしい。
でも、決してそんな事はない。
他のえらい学者さんたちが唱えたことのBASICでの実装例をひたすら紹介しているだけ
の、単なる工学の本です。
ただ、対象とする読者層の設定には苦労したと思う。
だって、中身は大学の学部情報科の初級クラス。
だけど、実際にその雑誌を読んでいる人や読んでほしい人といったら、プログラムを
専門としていないけど業務命令その他でプログラムを作成するハメになった社会人
から小中学生まで、多岐に渡るわけです。そして、それら全ては素人前提。
いわば、英語の先生が、大学英文科で教えるような正当な文法を、小学生から社会人
までをすべて対象とする1冊の教科書を作る、みたいなもので、ある程度の無理が
発生するのは当然かもしれません。そして、そのしわ寄せとか作者へのプレッシャー
といったものが、どこかで発現してもおかしくはないと思います。
だけど、雑誌連載時も否定的な意見は届いたはずだけど、そこそこ少ないはず。
なぜなら、連載継続とか単行本出版という結果に至ったわけだから。
ということは、ある程度の成功と推測してもいいんでしょうね。
      - No.11083 -    このTreeへ    コメント元:11081 へ [リストへもどる] soft

(11048) 11084Re^4: 『スタイルブック』  投稿者:文太   2024/02/08(木) 00:27
    11083 番 としき さんへのコメント    コメント数 1

としきさん

 雪かきと落雪の爆撃への守り(寝れんぞ)、お疲れ様でした。
 すごいなぁ、その体力。うらやまし。

>他のえらい学者さんたちが唱えたことのBASICでの実装例をひたすら
>紹介しているだけの、単なる工学の本です。

 はい、「構造化は BASIC でも十分できる」という本ですね。
 「えらい学者さんたち」とは、クヌース、カーニハン、リッチー、
ダイクストラ、N・ヴィルトなんて人たちです。
 プログラミングって何? と思ったことのある人なら、聞いたこと
のある名前たち。
 王道。
 (僕的には、〔少し嘘かもしれないけど〕榊原さんがsyoさんに
教えていたことの反復、という印象でした。自己評価、高すぎかな?)

 僕としては、ここ3年くらい、楽しく考えてきたこと(Fortran, Pascal,
Ratforなどを題材に)が、きれいに整理されてるな、というのが
『プログラミング・スタイル』についての最初の感想でした。

>いわば、英語の先生が、大学英文科で教えるような正当な文法を、
>小学生から社会人までをすべて対象とする1冊の教科書を作る、
>みたいなもので、

 あまり良い比喩とは言えないかと愚考いたします。そんなの、まず
僕には無理で、嫌だ、そんな仕事、やらないからね、と言うような
問題設定。

 でも、初出雑誌が何だったか思い出せませんが、やっぱり
「プログラミングって何?」という興味と動機のある人たちが読者
だったんじゃないのかな、と想像します。
 「動いた、楽しい!」という経験がある人たち。

 おお、Cも出てきた。林先生、この時期にコンピュータの全体像を
把握されていらっしゃったのですね、と思いました。
 この本の初版は、「昭和60年12月」=1985年。僕の本は、
2刷(昭和61年)。僕が、将来まさかPC方面に関心をもつなんて、
夢にも思わなかった時代の本。

 すごい本ですね。自信はありませんが、色あせない本です。


      - No.11084 -    このTreeへ    コメント元:11083 へ [リストへもどる] soft

(11048) 11085Re^5: 『スタイルブック』  投稿者:としき   2024/02/10(土) 20:45
参照先:http://toshiki.la.coocan.jp/
    11084 番 文太 さんへのコメント    コメント数 1

>  あまり良い比喩とは言えないかと愚考いたします。そんなの、まず
> 僕には無理で、嫌だ、そんな仕事、やらないからね、と言うような
> 問題設定。

確かによい比喩ではないと思う。
でも、ならどう例えればよいかというと、あまり思いつかない。
文太さんは知っていると思うけど、私、あまり例え話が得意ではないので。

ちなみに、初出雑誌は、当時の日本ソフトバンク社の月刊「Oh!PC」。
当時のソフトバンクが出していた、いわゆる機種別誌というヤツですね。
広告によると、当時は他に
月刊「Oh!MZ」
隔月刊「Oh!FM」
季刊「Oh!HC」「Oh!55」
などといった雑誌が出ていたようです。
最初の掲載は1983年10月。本棚から引っ張り出してきました。
懐かしいですね。というか、しまいこまれず本棚にあると言うのがなんとも。
最初の掲載時は、まだその後が続くとは思われておらず、特集扱いでした。
あ〜、読み直しているうちにだんだん思い出してきた。
最初のうちは、それほど文体にも引っ掛かりを覚えなかったんですよ。
単なる、淡々とした文章だ、と言うだけで。
なので、単行本化されたときも大して加筆されていないという評判を聞いたもので、
なら雑誌掲載記事は全て持っているわけだからわざわざ買うには及ばないな、と判断
して、すぐには購入しなかったのですよ。ただ、やはり毎回大きいサイズの雑誌を
引っ張り出すよりは小さくまとまった単行本のほうがいいという判断で、最初に発売
されてから2〜3年ぐらいしてから購入したのでした。
だから、私の持っているのは昭和61年11月の第4刷。
たぶん、62年か63年になってから買ったはず。

上記、1983年10月号の目次をみると、以下のような記事があります。
まず、目次で特集の次に並んでいるのは、海外のCG展示会の記事。
次が「新作ゲーム画面集」。やっぱりみんな、ゲームが好きなんですよ。
ついで「超大型オリジナルプログラム第1部」としてPC-9801用の家計簿プログラム
が「パーソナルバランスシート」なる大仰なタイトルで載っている。
これは連載というより、複数回掲載の初回、という感じ。
そして「4つのBASICへの入門」というサブタイトルのついている講座。おそらく、
NECの各機種用のBASICの差異の解説まで踏み込もうとしているのではないかなぁ。
でも、このときはまだ第3回。
さらに「マシン語超入門講座」や「機械語熟語集」といった連載では8ビットのZ80が
対象。
「ミニフロッピーの活用法」という連載もあるけど、この号は番外編で、拡張メモリ
をフロッピー的に扱うソフトが掲載。ま、RAMディスクですね。しかも、これの対象は
8ビットパソコンであるPC-8001とPC-8801。他の号をみていないけど、この連載が
そもそも8ビットパソコン対象なのかも。
そして、ハードウェア工作の「PC工作入門」は、この号ではPC-9801用の記事だけど、
それまでの記事はみんな8ビットパソコン用だったらしい。
さらに、機種別のページも、取り上げられているのは8ビットマシンだけ。
つまり、業務にもバリバリ使える16ビットパソコンは、まだまだ黎明期。
この時期のこの雑誌が、ソフトウェア工学の、ある意味で理論的な記事を掲載すると
いうのは、少なくともニーズとしては顕在化していないはず。
というか、ミスマッチもいいところ。
また、商業的な意味では冒険というか、よく掲載に踏み切ったものだと思います。
そして実際、このときか2回目の掲載のときか、連載陣の一人がけんかを吹っかけた
というか婉曲に批判したけど、そもそもけんかにならず、逆にその人の連載が終了
するハメになっていたり。さすがに打ち切りではなく、最終回まで掲載されたけど。

ということで

> 「プログラミングって何?」という興味と動機のある人たちが読者
> だったんじゃないのかな、と想像します。

これはどうなんだろう。
konnoさんならあのころのベーマガとかの雰囲気を覚えているかもしれない。
みんな、いかに自分のアイディアを実装するかしか考えていないような感じ。
なので、その先、というか、どうすれば効率的にバグなく実装できるか、などという
ところまでは思い至っていないんですよ。
特にゲームなんかはある意味で一発勝負のようなところもあったし。

      - No.11085 -    このTreeへ    コメント元:11084 へ [リストへもどる] soft

(11048) 11086Re^6: 『スタイルブック』  投稿者:konno   2024/02/10(土) 22:48
    11085 番 としき さんへのコメント    コメント数 1

> > 「プログラミングって何?」という興味と動機のある人たちが読者
> > だったんじゃないのかな、と想像します。
>
> これはどうなんだろう。
> konnoさんならあのころのベーマガとかの雰囲気を覚えているかもしれない。

このころベーマガとか読んでいたかは覚えていませんが、BASICはやってましたね。
当時円弧と直線の交点だったかを求めるのに方程式がわからなくて困ってしまい
ポケコンのBASICで2分法というのを使って、それですました記憶があります。(^^;

> みんな、いかに自分のアイディアを実装するかしか考えていないような感じ。
> なので、その先、というか、どうすれば効率的にバグなく実装できるか、などという
> ところまでは思い至っていないんですよ。

まさにそのとおりで、プログラムを組めば仕事が楽になるという思いで必死でした。

パソピア16を見つけた時は、「こいつ、動くぞ」とつぶやきながらマニュアルをめくり
「武器はないのか」と見たら、BASIC で動いているのがわかり、自分でテキをやっつける
武器を作り、大危険に突入していったのでした。(^^;

      - No.11086 -    このTreeへ    コメント元:11085 へ [リストへもどる] soft

(11048) 11089Re^7: 『スタイルブック』  投稿者:としき   2024/02/16(金) 17:00
参照先:http://toshiki.la.coocan.jp/
    11086 番 konno さんへのコメント    コメント数 1

> まさにそのとおりで、プログラムを組めば仕事が楽になるという思いで必死でした。

最近konnoさんが公開されたBASICのコードを見ても、必死さはにじみ出ている感じ。
だけど

> 「武器はないのか」と見たら、BASIC で動いているのがわかり、自分でテキをやっつける
> 武器を作り、大危険に突入していったのでした。(^^;

作った武器が手作りの竹やり同然、かもしれず。
#この艦では勝てない・・・

先般、見せていただいたPerlのコードなんかも、工夫の跡は見て取れるのですが、
これ以上、どこにどう手を入れてよいかわからない。
いや、高度に完成されて手を入れる余地がない、という意味ではなく。
ちょっと手を入れたらすべて崩壊しそうなジェンガというか砂上の楼閣というか。
ソフトウェア工学の教育を受けていないから仕方ないのですが。
全面的なリファクタリングをしたくなってしまう。
逆にいうと、konnoさん、伸びしろは無限大。
今からでもきちんとソフトウェア工学の基礎を勉強してみるのも一興かと。

      - No.11089 -    このTreeへ    コメント元:11086 へ [リストへもどる] soft

(11048) 11091Re^8: 『スタイルブック』  投稿者:konno   2024/02/17(土) 00:43
    11089 番 としき さんへのコメント    コメント数 1

> 作った武器が手作りの竹やり同然、かもしれず。

ランボーなら竹槍でテキを全部やっつけられるかも。(^^;
私はランボーではないので、乱暴なコードになってしまうのです。

> ちょっと手を入れたらすべて崩壊しそうなジェンガというか砂上の楼閣というか。
> ソフトウェア工学の教育を受けていないから仕方ないのですが。

まったくそのとおりです。
なんせ自分で昨日書いたコードが読めないのですから。(-_-;)

> 今からでもきちんとソフトウェア工学の基礎を勉強してみるのも一興かと。

最近物忘れが地方レベルになってきてるので、難しいですね。(^^;

      - No.11091 -    このTreeへ    コメント元:11089 へ [リストへもどる] soft

(11048) 11092Re^9: 『スタイルブック』  投稿者:としき   2024/02/17(土) 11:33
参照先:http://toshiki.la.coocan.jp/
    11091 番 konno さんへのコメント    コメント数 1

> 最近物忘れが地方レベルになってきてるので、難しいですね。(^^;

アップル認定の世界最高齢のプログラマは現在88歳だとか。
そういう人にkonnoさんのせりふを聞かせたら「最近の若い者は〜」とか言いそう。

それはさておき。
konnoさんに勉強してもらってきれいなコードを書いてもらいたい、というのは決して
konnoさんのためではなく。
ざっくりレベルで、今のままのkonnoさんがバグのありそうなコードを3つ書き上げる
のに要する同じ所要時間で、勉強したkonnoさんならバグのなさそうなコードを5つは
書き上げられそう、という見積もりをしたのですよ。
つまり、それだけアウトプットの質・量が向上すると、私を始めみんながうれしい、
ということ。つまるところ、私利私欲なわけですよ。
あるいは、先日BASICのコードを公開されたように、今後はオープンソースの方向に
舵を切っていく、とか。

      - No.11092 -    このTreeへ    コメント元:11091 へ [リストへもどる] soft

(11048) 11094Re^10: 『スタイルブック』  投稿者:konno   2024/02/18(日) 15:10
    11092 番 としき さんへのコメント

> アップル認定の世界最高齢のプログラマは現在88歳だとか。
> そういう人にkonnoさんのせりふを聞かせたら「最近の若い者は〜」とか言いそう。

うう、それを言われたら弱音を吐けないではないですか。(^^;
まあ、何故か今は色々プログラミング欲が出てきて同時に2〜3種のコードを見てたり。(^^;

> ざっくりレベルで、今のままのkonnoさんがバグのありそうなコードを3つ書き上げる
> のに要する同じ所要時間で、勉強したkonnoさんならバグのなさそうなコードを5つは
> 書き上げられそう、という見積もりをしたのですよ。
> つまり、それだけアウトプットの質・量が向上すると、私を始めみんながうれしい、
> ということ。つまるところ、私利私欲なわけですよ。

そ、そんなこと言われたって木に登ったりなんかしないんだからね! (^^;

> あるいは、先日BASICのコードを公開されたように、今後はオープンソースの方向に
> 舵を切っていく、とか。

私はあくまで個人的な趣味でやっているので、その辺は変わらないかもしれないです。

      - No.11094 -    このTreeへ    コメント元:11092 へ [リストへもどる] soft

(11048) 11080ハノイを目指して  投稿者:konno   2024/02/05(月) 23:23
    11074 番 文太 さんへのコメント    コメント数 1

文太さん

>  行くぞ、ハノイ! 3月あたり。「ハノイへ行ってみよう!」とかいう
> タイトルで、少しは勉強してから、再帰いたします。

ハノイの塔の話題が出たので、見てみたら VZマクロと Turbo Basic のサンプルソースにありました。

Turbo Basic のはそのままコンパイルできて、USモードで実行出来ました。
プレート 17枚でも数秒で完了するほど高速で、目に見えないので ウエイトを入れました。
自分好みの改造が整ったら公開しようかな。?

VZマクロは、軟体にある田野村さんのマクロで、プレート12枚まで実行出来ますが、流石に遅いです。
枚数を 14枚まで増やしたり、高速化の改造をして、ある程度形になりました。
秒数の比較

 オリジナル     改造
数n 回数i W80*25 W136*35 W80*25 W136*35

12 4095 89秒 95秒 47秒 52秒
13 8191 112秒
14 16383 240秒

    ↑
1枚増えるごとに約2倍の回数というのが面白いですね。

さて、これらのマクロや BASIC(実行ファイルのみ)をアップしたら
文太さんの勉強にかえって邪魔になってしまうかな。(^^;


# タイトル変更した。これで安心。(^^;;

      - No.11080 -    このTreeへ    コメント元:11074 へ [リストへもどる] pre

(11048) 11082Re: ハノイを目指して  投稿者:konno   2024/02/06(火) 23:52
    11080 番 konno さんへのコメント

タイトルに合わせてこちらにレスします。

ハノイの塔のマクロ関連情報を得ようとnifty会議室の過去ログを検索しましたら
としきさんの書き込みがありました。

> 18134/19000 PEB03250 としき 再帰マクロ
> (15) 01/03/24 00:49 コメント数:2
> マクロで再帰を使う実験をしてみました。
> = フィボナッチ数
>
> では、ついでにもう一つ。
> 昔、再帰が使えない N88-BASIC で使った、配列を擬似的なスタックとして使うと
> いう技をマクロで使ってみました。別にスタック領域が足りない訳でもないのだ
> から、素直な push pop でもいいと思いますが。
> = ハノイの塔

今回はソースは省略しますが、#11066 の としきさんの書き込みを思い出しました。

> プログラム初心者に再帰を説明するのは「ハノイの塔」かフィボナッチ数列か、
> というくらい。再帰を使ったほうがシンプルなものって、実生活ではあまり
> 見かけませんからね。
> また、再帰でできるものは必ずループでもできるらしい。
> なので、再帰からループへコードを変更するための題材にも使われるらしい。

23年前に実際にマクロコードを書いていたのですね。流石です。

> で、ループならどうということもないのですが。
> 8ビットパソコンの時代のBASICでは、再帰というものが使えませんでした。
> なので、そこでわざとループを使わず、いかに擬似的な再帰を実現するか、という
> のも、ちょっと気取ったプログラマたちの力試しの例題に使われていたりして。
> ま、再帰が使えない、という意味ではVzのマクロも同様。

この再帰というのが私はいまいち理解できていなくて。
BASIC で言えば、サブルーチンの中でそのルーチンの先頭に飛んで条件を満たすまで繰り返す。
みたいな感じでいいのかしら。
実際VZマクロでもそういう動作をしているように思いました。

としきさんのコード、わかりやすそうですね。
いつか使わせてもらうかもしれません。

      - No.11082 -    このTreeへ    コメント元:11080 へ [リストへもどる] pre

(11048) 11062Re^6: としきさんの msgview 完璧なツリー  投稿者:konno   2024/01/29(月) 15:41
    11059 番 としき さんへのコメント

> もしかしたら、$mxの初期化って、それほど重要ではないかもしれない。
> ただ、少なくとも、allreadのほうでは初期化してあったような。
> それに、初期化しておいて害になることもないし。

変数の初期化は最近の速いCPUでは特に必要かもしれませんね。
初期化してないせいでタイミングが狂い挙動がおかしくなることもありそうで。

> よく見たらタイトルが微妙に違う。
> 「BASICによるプログラミング・スタイルブック」
> と、中黒があるのが正解。

内容の紹介を見て、読んでみたくなりました。
ちょっと前までは本を読む気にもならなかったのが、目が復活したら読書欲も復活?

> さて、それでは、ちょっと一休みして。
> つぎはいよいよ、konnoさんご希望の、掲示板検索ルーチンに取り掛かってみますか。
> って、いつ開始するか全くめどは立っていませんが。

おお、期待しています。(^_^)
ログ形式が同じならそのまま動くのではないかと思っています。

      - No.11062 -    このTreeへ    コメント元:11059 へ [リストへもどる] soft

(11048) 11132Re^2: としきさんの msgview 完璧なツリー  投稿者:としき   2024/03/04(月) 23:32
参照先:http://toshiki.la.coocan.jp/
    11053 番 としき さんへのコメント    コメント数 1

> どんなチェック漏れがあるやら、想像もつきません。

いやぁ、やっぱりまだ何かおかしいですね。
#11097とか#11098からのツリーの、本来「┗」でなければいけないところがいくつか
「┣」になっていますね。
OKなところとNGなところの条件から追いかけてみましょう。
とはいえ、今日はもう終わり。
明日以降でね。

      - No.11132 -    このTreeへ    コメント元:11053 へ [リストへもどる] soft

(11048) 11134Re^3: としきさんの msgview 完璧なツリー  投稿者:konno   2024/03/05(火) 00:07
    11132 番 としき さんへのコメント    コメント数 1

> #11097とか#11098からのツリーの、本来「┗」でなければいけないところがいくつか
> 「┣」になっていますね。

見てみましたが、これは正しいツリーだと私は思います。
うちのツリーは横幅を狭くしたくて見た目がいまいちなのです。(^^;

      - No.11134 -    このTreeへ    コメント元:11132 へ [リストへもどる] soft

(11048) 11136Re^4: としきさんの msgview 完璧なツリー  投稿者:としき   2024/03/05(火) 12:06
参照先:http://toshiki.la.coocan.jp/
    11134 番 konno さんへのコメント    コメント数 1

> 見てみましたが、これは正しいツリーだと私は思います。

あれ?
うちとkonnoさんのところでは、表示のされ方が違うのかな?
そんなことはないと思うけど。

たとえば、#11097から始まるツリーの#11117とか#11126が、本来は「┗」でなければ
いけないけれど「┣」になっているように見えます。
これ、konnoさんのところでは正しく「┗」になっているのか。
それとも私の勘違いで「┣」が正しいのか。
ちょっと混乱しています。

      - No.11136 -    このTreeへ    コメント元:11134 へ [リストへもどる] soft

(11048) 11139Re^5: としきさんの msgview 完璧なツリー  投稿者:konno   2024/03/05(火) 15:24
    11136 番 としき さんへのコメント    コメント数 1

> たとえば、#11097から始まるツリーの#11117とか#11126が、本来は「┗」でなければ
> いけないけれど「┣」になっているように見えます。

あうう、リンク先をそのまま見ていました。頭が他に行っていたみたいです。(>_<)
msgview のツリーは「┣」になっていますね。失礼しました。m(__)m
何が悪いのかはわかりません。m(__)m

      - No.11139 -    このTreeへ    コメント元:11136 へ [リストへもどる] soft

(11048) 11142Re^6: としきさんの msgview 完璧なツリー  投稿者:としき   2024/03/05(火) 17:24
参照先:http://toshiki.la.coocan.jp/
    11139 番 konno さんへのコメント    コメント数 1

>  何が悪いのかはわかりません。m(__)m

私にも何が悪いのか、今のところは全くわかっていません。
一応、1月にkonnoさんにお送りしたコードを再び引っ張り出してみました。
そして、うちの板塀の現行ログを表示してみたのですが、全て正常な表示に見える
のですよ。かなり複雑そうなツリーであっても。
う〜ん、まさかデータというかログファイルのほうに原因があるのか?
それとも、私がkonnoさん的なコードに転記する際にどこかを誤ったとか。
いささか複雑というか統一性に欠けたコーディングスタイルでしたから。
あるいは、konnoさんがご自分でコードをきれいにしようとして失敗したとか。

一応、ざっくりみたところ。
msgviewの中で「┗」「┣」が表示されるルーチンは以下のような感じ。

if ($tx[$lx] == 0 && $lx != 0) { print "┗"; }
else {
$jj=1;
while ( $tlx[$j+$jj] > 0 ) {
if ( $tlx[$j] == $tlx[$j+$jj] ) { $jj=0; last; }
if ( $tlx[$j] > $tlx[$j+$jj] ) { $jj=1; last; }
$jj++;
}
if ( $jj == 0 ) { print "┣"; }
elsif ($lx != 0 ) { print "┗"; }
}

一方で、正しく表示される一括表示のツリー表示部分は以下のような感じ。

if ( $tx[$lx] == 0 ) { print "┗"; }
else {
$jj=1;
while ( $tlx[$j+$jj] > 0 ) {
if ( $tlx[$j] == $tlx[$j+$jj] ) { $jj=0; last; }
if ( $tlx[$j] > $tlx[$j+$jj] ) { $jj=1; last; }
$jj++;
}
if ( $jj == 0 ) { print "┣"; }
else { print "┗"; }
}

条件式が違うじゃない。
何でこんなところを見落としたんだろう。
テストデータというか板塀のデータで正常に表示されていたからだろうなぁ。

ということで、もしかしたらこれでうまくいくかも。
もうkonnoさんのところでも不要なコメントは全部落としているでしょうから、場所は
すぐに見つかることでしょう。
とりあえず試してみてください。

      - No.11142 -    このTreeへ    コメント元:11139 へ [リストへもどる] pre

(11048) 11144Re^7: としきさんの msgview 完璧なツリー  投稿者:konno   2024/03/05(火) 20:04
    11142 番 としき さんへのコメント    コメント数 1

> あるいは、konnoさんがご自分でコードをきれいにしようとして失敗したとか。

私は頂いたソースをそのまま張り付けただけだったと思います。(^^;
今見たら私のバグバグなトンでもコードのコメントがそのまま大量に残っていますね。(^^;
よくこの状態で修正できたと感心します。いや、ありがたいです。

> msgviewの中で「┗」「┣」が表示されるルーチンは以下のような感じ。
> if ($tx[$lx] == 0 && $lx != 0) { print "┗"; }

ここは探してみたところ、以下のようになっていましたが修正しました。

# if ($tx[$lx] == 0 && $lx != 0) { print "┗"; }
if ( $tx[$lx] != 0 ) { print "┣"; }

if ( $tx[$lx] == 0 ) { print "┗"; }

elsif ($lx != 0 ) { print "┗"; }

else { print "┗"; }

最初下の1行だけ修正しましたが変わりませんでした。
それで上側も修正したら、キチンとツリー表示出来ました。\(^^)/ ヤッタ-

> もうkonnoさんのところでも不要なコメントは全部落としているでしょうから、場所は
> すぐに見つかることでしょう。

不要なコメントはまだそのままですが、これを機に削除しようと思います。(^^;
本当にありがとうございました。m(__)m

      - No.11144 -    このTreeへ    コメント元:11142 へ [リストへもどる] pre

(11048) 11146Re^8: としきさんの msgview 完璧なツリー  投稿者:としき   2024/03/07(木) 02:17
参照先:http://toshiki.la.coocan.jp/
    11144 番 konno さんへのコメント    コメント数 1

> それで上側も修正したら、キチンとツリー表示出来ました。\(^^)/ ヤッタ-

無事に正常表示になりましたね。よかったよかった。

> 今見たら私のバグバグなトンでもコードのコメントがそのまま大量に残っていますね。(^^;
> よくこの状態で修正できたと感心します。いや、ありがたいです。

だから前にも言ったけど、ほとんど迷彩のような。
あたかも、プログラムからバグを除去することを拒むかのような。
このコードを書いた人は、プログラムの完成を見ることなく、永遠にデバッグのぬるま湯に
浸かっていたいのか。
と、誤解してしまいそうなわけですよ。誤解ですよね?
#本心だったらいやすぎ


コメントが多いというのは、決して悪くはないんですよ。
問題は、それが何を意味しているかがわからないこと。
例えば、コードの右側のほうに
「この行のコメントをはずすと××になる」
とか
「※参考 ○○氏のコード」
などときちんと記載されていればいいのですよ。
あるいは、ymfcstなんかでも採用されているような感じで
「★マークの5行のコメントをはずすとほにゃらら」
みたいなものとか。
要は、konnoさんのコードの場合、有効な情報が全くないのがイマイチ。

プログラムにおけるコメントって、コンピュータではなく人間に対して書くものですから、
人間に対して意味のない情報は少ないほうがいい。
私も、プロの書いたコードなんてあんまり見たことがありませんが、まずは目標として
コードだけで、つまりコメント全くなしで、ここは何をやっているかがわかるような
ものを目指すらしい。そうすれば、そもそもコメントを入れなくてすむから。
おおむね、人はみな横着ですからね。コメントを考える手間も省きたいわけですよ。
ただ、それはある種の理想。そんなものが実現することはまずない。
ということで、次善の策。コメントだけを追いかけることで、そのコードが何をやって
いるかがわかるようにする。
つまり、それなりにプログラムを読んできた経験のある人の場合、初めて触れる言語で
あっても、コメントのあるコードであれば、まずコメントを読む。
私も、Vzのマクロを勉強するとき、ikubohさんだったかな、もう忘れましたが、誰かの
マクロコードのコメントを見て勉強した記憶があります。

ということで、必要なコメントはバシバシ入れましょう、ということでした。

      - No.11146 -    このTreeへ    コメント元:11144 へ [リストへもどる] soft

(11048) 11148Re^9: としきさんの msgview 完璧なツリー  投稿者:konno   2024/03/07(木) 22:04
    11146 番 としき さんへのコメント    コメント数 1

> このコードを書いた人は、プログラムの完成を見ることなく、永遠にデバッグのぬるま湯に
> 浸かっていたいのか。
> と、誤解してしまいそうなわけですよ。誤解ですよね?
> #本心だったらいやすぎ

もちろん誤解ですよ。(^^; ただ世の中変人が多いのでそういう人もいるかも。(いねえよ)

> コメントが多いというのは、決して悪くはないんですよ。
> 問題は、それが何を意味しているかがわからないこと。

超絶ハイテク技などはそういうコメントが欲しいものですね。

> 要は、konnoさんのコードの場合、有効な情報が全くないのがイマイチ。

うう、これは BASIC コードのことを言っているのですよね。
アセンブラやVZマクロにはかなりコメントを入れているつもりです。(^^;

> ということで、次善の策。コメントだけを追いかけることで、そのコードが何をやって
> いるかがわかるようにする。

これは上で書きましたが、BASICは自分で読めるものだからあまりコメントを入れないのですね。
でも後で読むと何をやっているのかわからなくなってしまっています。(>_<)
ということで、今はサブルーチンのタイトルや説明、各行のコメントを
なるべく入れるようにやっている最中です。(^^;
達人のコードにコメントが無いのは必要を感じないからなんでしょうね。

> 私も、Vzのマクロを勉強するとき、ikubohさんだったかな、もう忘れましたが、誰かの
> マクロコードのコメントを見て勉強した記憶があります。
> ということで、必要なコメントはバシバシ入れましょう、ということでした。

ikubohさんなど達人のマクロはコメントがないと何をやっているのか全く分からないレベルですからね。
私もこれからは他人が読むことを念頭に入れてコメントを入れるようにします。

# 昨日の自分は他人と言いますからね。(゚゜)☆\(--#) それはおのれじゃ

      - No.11148 -    このTreeへ    コメント元:11146 へ [リストへもどる] soft

(11048) 11151Re^10: としきさんの msgview 完璧なツリー  投稿者:としき   2024/03/08(金) 01:08
参照先:http://toshiki.la.coocan.jp/
    11148 番 konno さんへのコメント    コメント数 1

> > 要は、konnoさんのコードの場合、有効な情報が全くないのがイマイチ。
> うう、これは BASIC コードのことを言っているのですよね。

BASICもそうですが、先日お送りいただいたperlのコードも含めて、です。

> ということで、今はサブルーチンのタイトルや説明、各行のコメントを
> なるべく入れるようにやっている最中です。(^^;

うん、まぁ、最終的な完成品を作るにあたってそういうことは必要ですけどね。
私のような横着な人間はどうするかというと、プログラムを作る前に、日本語で
設計します。そして、その設計をそのままコードの中にコメントとして残しておく。
例えば、今回のkonnoさんのprime2.basを作ろうとするなら、私の書きそうな設計
は以下のような感じ。

 初期設定
 求める素数上限入力
 メインルーチン(サンプルコードを最大限流用)
 終了処理(キー入力待ち必須)

 出力サブルーチン
 ファイル出力
 エラー終了ルーチン(自作の××からコピペ)
 タイマールーチン(自作の○○からコピペ)

こんな感じで設計ができたら、あとは切った貼った、コピペできないところは仕方
ない作るか。
という風にするわけです。
そうすれば、わざわざコメントを書くということはなくなります。
その上、設計をじっと見つめて、例えば、出力部分はもうちょっと整理できそうだ、
とか、エラーのルーチンはそのままコピペだとイマイチかも、みたいなことも考え
付いたりするわけですよ。
そういえば昔、どこかに似たようなことも書いた気が、と思って検索したら。
nifty:FGALDC/MES/15/#19030
に似たようなことを書いていた。
そうか、ikubohさんではなくてEmmettさんのマクロで勉強したのか。

いろいろなことを書きましたが。
結論は、楽をしましょうよ、ということに尽きるわけで。

      - No.11151 -    このTreeへ    コメント元:11148 へ [リストへもどる] soft

(11048) 11152Re^11: としきさんの msgview 完璧なツリー  投稿者:konno   2024/03/09(土) 01:38
    11151 番 としき さんへのコメント    コメント数 1

> BASICもそうですが、先日お送りいただいたperlのコードも含めて、です。

そうでした、直してもらったばかりなのに perl のことを忘れていました。m(__)m

> 私のような横着な人間はどうするかというと、プログラムを作る前に、日本語で
> 設計します。そして、その設計をそのままコードの中にコメントとして残しておく。
> 例えば、今回のkonnoさんのprime2.basを作ろうとするなら、私の書きそうな設計
> は以下のような感じ。

なるほど、これをそのまま各ルーチンのタイトルに使うのですね。
私は手を付けてからどうするか考える癖があるみたいで、
今すぐこのスタイルに切り替えるのは難しそうです。(^^;
でも参考になりました。やってみたいと思います。

> そういえば昔、どこかに似たようなことも書いた気が、と思って検索したら。
> nifty:FGALDC/MES/15/#19030
> に似たようなことを書いていた。
> そうか、ikubohさんではなくてEmmettさんのマクロで勉強したのか。

そうでしたか、実は私も「コメントの多いマクロ」で Emmettさんを思い出してました。(^^;
その Emmettさんの発言を見ると

> 》 僕は、マクロを書く時はとりあえずグローバルマクロからとにかく書き始めます。
> 》 僕は、アルゴリズムを最初にどこかにメモしておいて、それに従ってプログラム
> 》 を組んで行くということはやったことがありません。いつでもいきなり、グロー
> 》 バルの1行目から、じかに書き始めます。

私とおんなじですね。(^^;
それに対してとしきさんも

> あぁ、なるほど、やっと Emmett さんのマクロ作法がわかったような気がします。
> 基本的な考え方としては、私も Emmett さんとほとんど変わりません。
> とっても安心しました。

このように同意していますが、その後に

> でも、大きく異なるところは、私の場合、仮想プログラム言語というかメタ言語
> というか、まぁ日本語のようなもので書いているのです。で、大体まとまったら
> マクロに翻訳する、と。

こう書いていますね。やっぱりスタイルが違うと感じます。(^^;
もちろん、としきさんの方が正統派だと思います。

> いろいろなことを書きましたが。
> 結論は、楽をしましょうよ、ということに尽きるわけで。

楽をする、という意味では、としきさんのような正統派のやりかたが良いと思います。
それが出来ない私は、やっぱり楽をしようと思っていないのかもですね。(^^;
それよりも早く頭の中のアイデアをコードにしたいという欲求が強いのでしょう。(^^;
# そうしないとアイデアが消えてしまいそうだから。(^^;;
      - No.11152 -    このTreeへ    コメント元:11151 へ [リストへもどる] soft

(11048) 11153Re^12: としきさんの msgview 完璧なツリー  投稿者:としき   2024/03/09(土) 11:17
参照先:http://toshiki.la.coocan.jp/
    11152 番 konno さんへのコメント    コメント数 1

多分、最大というか基本的な違いはここ。

> それよりも早く頭の中のアイデアをコードにしたいという欲求が強いのでしょう。(^^;
> # そうしないとアイデアが消えてしまいそうだから。(^^;;

私はアイディアをコードではなく日本語で考えている、ということ。
だから、日本語でメモをしている。
逆に言うと、ナイスなコードを思いつく、ということはあんまりなさそうです。

あと、前述のEmmettさんとの対話の部分、読み直して、もしかしたら私に誤解が
あったかもしれないというのがkonnoさんの指摘で気がついた。

> > 》 僕は、アルゴリズムを最初にどこかにメモしておいて、それに従ってプログラム
> > 》 を組んで行くということはやったことがありません。いつでもいきなり、グロー
> > 》 バルの1行目から、じかに書き始めます。
>
> > あぁ、なるほど、やっと Emmett さんのマクロ作法がわかったような気がします。
> > 基本的な考え方としては、私も Emmett さんとほとんど変わりません。
> > とっても安心しました。
>
> このように同意していますが、その後に

このときの薄らぼんやりとした記憶では、私、サブルーチンから書き始めるのでは
なく、全体の大枠から書き始める、という意味でEmmettさんと同じだな、と感じた
ように覚えています。
確かにこの部分、解釈によってはいろいろと怪しいかもしれない。

      - No.11153 -    このTreeへ    コメント元:11152 へ [リストへもどる] soft

(11048) 11154Re^13: としきさんの msgview 完璧なツリー  投稿者:konno   2024/03/09(土) 23:45
    11153 番 としき さんへのコメント    コメント数 1

> 私はアイディアをコードではなく日本語で考えている、ということ。
> だから、日本語でメモをしている。
> 逆に言うと、ナイスなコードを思いつく、ということはあんまりなさそうです。

うーむ、私もアイデアが浮かんだ時点では、コードではなく日本語な気もしますが
コード的な、パズルのピース的な漠然としたイメージなのかもしれませんね。

> このときの薄らぼんやりとした記憶では、私、サブルーチンから書き始めるのでは
> なく、全体の大枠から書き始める、という意味でEmmettさんと同じだな、と感じた
> ように覚えています。
> 確かにこの部分、解釈によってはいろいろと怪しいかもしれない。

普通、枝葉であるサブルーチンから書き始める人はいませんよね。(^^;
私も Emmettさんの書き込みを読み直したら、何か違う気がしてきました。

> 》 いつでもいきなり、グローバルの1行目から、じかに書き始めます。

ここ、私なら始めに類似したプログラムを探してそれを修正して使おうとします。
ゼロから書き始めるなんて面倒だと思うので私はほとんどやったことがないのですよ。
# それが改造人間の定めなのさ・・・・ ルルルー・・・

      - No.11154 -    このTreeへ    コメント元:11153 へ [リストへもどる] soft

(11048) 11155Re^14: プログラムの作り方  投稿者:としき   2024/03/10(日) 13:59
参照先:http://toshiki.la.coocan.jp/
    11154 番 konno さんへのコメント    コメント数 1

いいかげん、タイトルを変えるべきだということに遅まきながら気がつきました。
いまさら、という気も大いにしますが。
そして、たいそうな内容を書くわけでもない。

> ここ、私なら始めに類似したプログラムを探してそれを修正して使おうとします。
> ゼロから書き始めるなんて面倒だと思うので私はほとんどやったことがないのですよ。

類似したプログラムが見つからないとき、というのも私の場合はたまにある。
ん〜、最近はあんまりそういうこともありませんが。
例えば、野ざらし言#569 からのツリーで作ったマクロ。
こういう案件、konnoさんはあまり手を出さないということでしょうか。
私も最近はそういうことがなくなったということは、年をとったせいかも。
いかんなぁ。

      - No.11155 -    このTreeへ    コメント元:11154 へ [リストへもどる] soft

(11048) 11157Re^15: プログラムの作り方  投稿者:konno   2024/03/11(月) 00:19
    11155 番 としき さんへのコメント

> いいかげん、タイトルを変えるべきだということに遅まきながら気がつきました。

私も途中で思ったのですが、まあいいかと。(^^;

> 類似したプログラムが見つからないとき、というのも私の場合はたまにある。
> ん〜、最近はあんまりそういうこともありませんが。
> 例えば、野ざらし言#569 からのツリーで作ったマクロ。
> こういう案件、konnoさんはあまり手を出さないということでしょうか。

そういう案件も多いと思います。その場合でも入出力など使えるルーチンは切り貼りで済まします。
そういえばテレビドラマ「ガリレオ」の教授は思いついたらいきなり数式を書きなぐっていましたね。
そういうやり方ができるのは、c.mosさんくらいではないかと。

> 私も最近はそういうことがなくなったということは、年をとったせいかも。

私も年を取って、昔のやり方でしか出来なくなったような気がします。
BASICのソースは普通大文字で書きますが、最近小文字の行を混在させてますよね。
そこは、自分で一から書いているよという自己主張なのかもしれません。(^^;

      - No.11157 -    このTreeへ    コメント元:11155 へ [リストへもどる] soft