今年はずいぶんおかしな一年であった。
って年の瀬のような書き出しだが昨年11月末に持病が見つかってから1年間、治療、身内の特殊事情、9月の事故と結構な綱渡り
もう残りの2ヶ月くらいは平穏に過ごせることをひたすら願う
そしてこのページにもっと退屈しのぎ的な戯言を書き綴りたいものである
今年はずいぶんおかしな一年であった。
って年の瀬のような書き出しだが昨年11月末に持病が見つかってから1年間、治療、身内の特殊事情、9月の事故と結構な綱渡り
もう残りの2ヶ月くらいは平穏に過ごせることをひたすら願う
そしてこのページにもっと退屈しのぎ的な戯言を書き綴りたいものである
あの言語をいじりたいとか、このライブラリーを極めたいとかいろいろな考えや希望や気持ちが湧いては来るけど形になる前に何か事件が起きたり周りに変化が生じたりするとコロコロとそれが変化してしまう。
C#にすごく傾きかけたけどチョロチョロとコードを書きなぐっている間に関心が移ろって今度はpythonでwebシステムとか考えてしまう。
どうにも落ち着かない。とりあえず以前から習得したコードを掘り返したりしながら万年初心者からの脱出を今回も試みることになりそうだ。
この手のまとまった情報を揚げるにはgithubとかのほうが良いのだろうね。
明らかに辻褄合わせで9/30に挙げているのが見苦しくもあるなあ、猛省!
今月は.netをずっといじってるけどやはり.netってc#が軸になっているんだなって再確認した
まずは前の記事でも書いたけどラムダ式
c#で=>で表現するところをfunction( ってどうにかならなかったのかなあ
一応書けますよってやっつけ感が半端ないですね
oopしなくてもwinformsアプリぐらいならモジュールとlinqとラムダ式の組み合わせで結構いけると思うんだけどラムダ式のスッキリ感の無さが際立つね
そしてcsxの存在
ちょっとしたコード片を試してみたいときに実に便利
(linqpadってwindowsだけでしょ)
vscode+dotnetでちょこちょこ書いてるときにcsxがあるとやっぱり良い
でもここは適材適所って逃げ文句でvb.netもちょいちょい使いたいね、ね
vb.netで僕のような万年ビギナの半可通にとって良いなって思えることの1つのはbasicなればこその大文字と小文字の区別を意識しないコーディングが出来るってこと。
当然それは諸刃の刃で定数と同じ綴りの変数とか使っちゃうとハマったりするけど過去に書いた変数がキャメルスタイルだったか全小文字だったか余り気にせずに書くことが出来るのは浮かんだアイディアをガシガシ書きたいときなどにはありがたかったりする。
最近はc#ではもはや中心的機能とも言うべきLinqをvb.netで使いたいと思っている。
しかしc#での自然で素直な構文と比べてvb.netでのあとづけ感は残念、というか冗長
c#で
Console.writeline(new string(".Test.Command.".Where(c => c!=','),ToArray()));
はvb.netで
Console.WriteLine(".Test.Command.".Where(function(c) c <>".").ToArray())
となる。いきなりstringをかけるのは良いけどラムダ式の記述がちょっと嫌だ。
c=> c!='.' と function(c) c<>"." はどう見てもc#のほうが見た目が軽くてスマート
これがソース中に何度も出てくると見た目が重くてつらいかも。
もちろんvbのほうがWhereで評価している要素のfilterとして無名の関数を使うよって言ってる感じがしなくもないけど・・・やっぱりc#がスマートでいい感じ
でもLinq便利なのでvbでもできるだけ慣れて使っていこうと思う。
今月の前半にQB64を触ってるようなことを書いた。
後半はやっと届いたcipher basicを触ってる。
(なんだそれっ?て思う方はウェルコムデザインさんのサイト
https://www.e-welcom.com/
でmodel8000でも見てください。
要するにバーコードハンディターミナル開発用BASICです。)
そしてc#に邁進するはずがなぜかvisual basic 2019も触っている。
こちらは主にdotnetコマンド経由でmacとwinで同じソースでどこまで遊べるかを試している。
ここんとこBASIC三昧な7月が今日で終わるなあ
月日の流れは早いもの
pythonについていろんな書きたいこととか出来てきて比較用に古いBASICでmacとwindowsと共通で使えるものを探していたらpc-basicとQB64が候補になった
順にインストールしてみたら速度が違いすぎて笑った
お得意のmandelbrotを描画させてみたらpc-basicはegaのエミュレーションしか出来なくてそのうえ遅い。目的が昔のibm-pcのgw-basicの速度の再現なのかもしれないけどmandelが終わらない。反してqb64の方はwindowsが50mS,macが100mSほどで描画が完了する。
これってjavaで書いた過去最速のmandelbrot描画よりも速いのでは・・・
当面は過去のソースを弄ったりして比較するのに使うことにしたい。
先だってobsidianがめっちゃいい感じって書いたけどやっぱりすごくいい感じ。
ここ2ヶ月に渡る激動の忙しさをなんとかこなせたのもobsidianでtodoや日々の計画をうまく構築出来たことが大きい。
また各PC間でデータを共有するのにクラウドのデータを使うとめちゃ楽なのである。
表型のデータ構造は扱いやすいのでデータ共有ツールとしてのgoogle sheetsはスマホ(iPhone)からも編集も参照も出来て素晴らしい。
当然それ用のライブラリがあれば永続的な情報の保管場所として使えて実に便利。
pythonにはgspreadなるライブラリーがあるのでそれをつかうとかなりのことが出来そう。
flaskと組み合わせてデータの収集をしたものを各端末で参照できると良いと思う。
今後はpythonを中心にした身の丈のシステム開発を各分野で楽しむことにしたいがここでもvisual studio codeとobsidianが役立つのだろう。
何にせよ、欲張りすぎても面白くないので身の丈に合ったプログラミングライフを楽しみたい。
成果が出たら報告します。
最近、エミュレータ系をあまり触っていなかったのだけど久しぶりに見てみたらタイトルのようにdosvaxj3が更新されていた。 on emulatorでセルフにcなどのソースを書いて実行するのに母艦側の特定のフォルダをドライブとしてマウント出来たり普通に母艦のimeで漢字が入力でき...