2019年7月13日土曜日

初心に立ち返る

最近、開発環境に比較的大きな変化がきた

開発対象の環境がWin95から引き継いできた古い環境からWindows10(64bit)+Office2019(32bit)[with Accesss]になりつつあるのだ。

Accessの変化と言えばmdb形式がaccdbになりリボンが操作のインターフェースの中心になったことくらいだ
(この点で言えばExcelの方がはるかに変化としては大きく感じる)

で、これまでPC言語をいろいろと触って遊んできたわけだけどもう少しうup-to-dateな環境や言語にまじめに取り組む必要もあることに今更気が付いた
(軽く考えていた以上にOffice周りの変化が大きいことに加えて言語環境もバージョンアップにともなっていろいろと変化しているようでそのあたりを吸収しないと楽しみを得損ねているかもしれないと言う気になってきました。)

しばらくVisualStudio2017+C#を基本から身につけ直したいと思います。
参考書は「実戦で役立つ C#プログラミングのイディオム/定石&パターン」
今の自分のC#のレベルはC#2とかC#3.0の入り口ぐらいの入門者もしくは初心者で参考になるWebサイトをめぐりながらならどうにか動くものが作れる程度。これを普段の思考の中心に据えられるぐらいに慣れたいと思います。上記の参考書を写経しつつ面白い気づきがあれば書きます。

2019年7月6日土曜日

勘違いと思い込みによる失敗

最近、新しいExcel(2019)で初めてマクロ(=VBA)を少し書いた。
しかし自分では絶対に上手くいくと思うことが一向に進まない。

え!、こんなところで。というエラーが出る。
しかし件のVBAの行をイミディエイトで実行すると上手くいく。
連続で実行するとエラー400とか訳が分からん。

しかたなく別のマクロにある部分から後ろをわけてみたらどうにか進む。すわ、ExcelのBug発見かとも思ったがシステムのBugかと思うときは95%は自分のコードか環境を疑え5%はPCのシステムの依存などを疑えと過去の経験が言うのでよくよく調べたらマクロの一部がワークシート上に記述してあった。普段はそんな場所に書くことはまず無いのだが久しぶりのExcelVBAでうっかりしたのか?
言い訳はともかくワークシートからモジュールにVBAのコードを移したら難なく動くようだ。

いつも通りの場所に書いたつもりなどという勘違いと思い込みからの苦い経験であった。

2019年6月30日日曜日

pascalがちょっと気になる?

最近、たまたま自分が調べていることの分野でpascalに出会う。

Lazarusはfreeのdelphi cloneなので当然free pascalが絡む

cp/mでもturbo pascalは欠くことのできないアイテムだし
raspberrypiなどでもベアメタルで弄ろうと思ったらUltiboなんぞという面白そうなプロジェクトにあたったけどこれもLazarusでクロスコンパイルするみたいだし・・・

どこかのブログでC#とかに比べてFreePascalの出すオブジェクトがほとんど最適化されていないっていう記述を見たことがあるけど裏を返せば妙な(行き過ぎた)最適化でエンバグすることもないということだし、ソースを1回読めばコンパイルできる単純な構文(LL(1)とか言うんだっけ)
なのでコンパイルは速いしね。
でもC#も相当速いと思う。

オブジェクトが明確に見えて他の言語からも利用される様子を楽しみたいならJavaのほうがずっと面白いと思うけどfree pascalでもOOPできるのでそれで遊んでみたい気もするし、かと言っていまさらフリーで使える機能限定のDelphiを使うよりは完全にフリーでソースも見えるLazarusの方が天の邪鬼的には面白そうに映るんだよね

どうしましょ?

2019年6月23日日曜日

マイナー言語への憧憬

どうやら天性の天の邪鬼であるところの僕はマイナーな世間受けのしない言語が好きなようだ

いまだlightweight languageが流行らない頃にrubyに目覚め
第1次schemeブーム(そんなことあったっけ?)の頃にgaucheを弄り
rubyよりもずっと前、perlやawkをもっと一般化しようという所期のpythonにも触れていた。

でも最近は新しい言語に食指が向かわずに古い言語を掘り起こすことを楽しむ傾向が強い

arduinoでc (c++?)を書いて遊んだり、lazarusでobject pascalをやってみたり、気が向けば今更感しかない行番号付きのBASICを弄ったりもしている。(え!正気の沙汰と思えないって・・すみません)

最近夙に気にかかるのがsmalltalkのことである
最初のポピュラーな純粋OOP言語って感じで今はごく限られたエリアの教育用環境としてsqueakなどで知られていたりする、あれ。

GNU smalltalkも気にかかるしpharoもやりたい。

貧乏性で気まぐれなのであれこれ調べながらならc#でもschemeでもsmalltalkでもどうにかこうにか動くものが書けるけど自分の思考の型を支配するほどには馴染んでいないので今一つ面白さがわからない。
ずっと損をしているような感じをもっている

OOPであれ関数型であれC#のようなコマーシャルで実務向けのものであれ自分の考えを支配するほどに精通してみたい気持ち

ちょっとsmalltalkをもう一度追いかけてみようか?

※実のところnode.jsでローカルな機能も書いてみたいしc#でwindowsにまつわることなら何でも書けるようにもなりたいし・・
気は散る一方なのです

2019年6月20日木曜日

黎明

先回のブログで心をふさぐ雑事からの解放のようなことを書いたけど実際はまだまだ終わりではなかった。

結局、この月の2/3を過ぎてどうにか着地点が見えてきたようでどうにかこのブログに戻れる気がしてきた

このブログの目的はPCを使った暇つぶしというか生産的でないことを真剣に考えることなのでやっとそこに目が向きだしたと言うことか

まずは暫く自由な時間が取れずにほっておいた不人気言語を弄ることになるのかな?(本当は不人気言語を探し求めているのではなくてたまたま興味を引く言語がちょっと不人気というだけ)

まあ古いOSをいじるとかやりたいことは多くあるので・・・

2019年5月6日月曜日

RaspberryPi 再び

かつて自作界でRaspberryPiがはやった頃があった
2014年の後半に初代のB+が出てからのことだった

当時の活用の目玉はMPDを走らせること
おいらもご多分に漏れずに同目的で1セットTI2708DACと組み合わせて組んで現在もステレオをつないで使用中
amazonも便利だけど多くの廃盤を含む自分のライブラリーから好きな曲を聴けるのはいつも楽しい

当時はMPDを構築する以外にはi8086のエミュレータを動かして超小型のMS-DOSマシンを作ってみたり所謂ファミコンエミュでゲーム機を作ったりするような人もいたようだけどあまりゲームする時間もなくここまできたのでやっていない

今回再びRaspberryPiに注目したのは1年ほど前の2018/03に出た3B+ならデスクトップPCとしてもそこそこ遊べるのではと思うから

下に自分がMPDを構築したころのB+と比較表を載せる。

RaspberryPiの型
項目名\型番1B+3B+
発売2014/072018/03
SoCBCM8235BCM2837B0
CPU(Core・Clock)ARM1176JZF-S (1・700MHz)ARM Cortex-A53 (4・1.4GHz)
リビジョンARMv6ARMv8 (64bit)
メモリー512MB1GB
LAN10/100MB1GB+WiFi(2.4GHz+5GHz)
これだけ機能がアップしていればLCDの裏に張り付けてデスクトップPCとして使うのもありで超小型Linuxとして動かすと面白いかも
単にDebianのLinuxPCとして使うもの当然ありだがHDD代わりのmicroSDを気楽に差し換えてultiboというプロジェクトを使ってベアメタルでプログラミングというのも素敵だと思う。

基本開発IDEがLazarusなのも好みだ。(情報、超少ないけど)

2019年5月5日日曜日

精神的な余裕 のんびりGW

成年後見人をしていた身障者の叔母が先月亡くなった
身寄りがなかったこともあって最期を看取るまでの付き添いなど期間は大変だった

その後も役所関連の手続きなどバタバタのうちにGWに突入
仕事先からの緊急連絡もなくゆっくりしている

先回のこのブログの日付の頃には時間的にいつ連絡が入るのかよくわからない生活の時期に入っていたんだな

GW中にリフレッシュして残った手続きや仕事に前向きに当たろう

dosvaxj3が更新されていた。

 最近、エミュレータ系をあまり触っていなかったのだけど久しぶりに見てみたらタイトルのようにdosvaxj3が更新されていた。 on emulatorでセルフにcなどのソースを書いて実行するのに母艦側の特定のフォルダをドライブとしてマウント出来たり普通に母艦のimeで漢字が入力でき...