2017年9月29日金曜日

macで99basic

Windows7でなんとなく99basicの印象が好転したのでmacでも動かしてみた

うーん。あまり芳しくない
まずEasyWineこちらはunicode決め打ちなのか文字化けする。
続いてparallelsによるwin7で、こちらは一応動くが
画面を早くするためのscreen ,5とかして後でscreenで戻すところが変。

まあ、あまり期待して無かったのでEasyWinで一応グラフィックまで
(こちらのほうが実行速度はparallelsよりも速い)動いたので良しとしよう

性懲りもなくマンデルブロー集合 99BASICにて

99basicでやってみた。
マンデルブロー集合の計算・描画中の画面表示を「screen ,5」命令で止めて
計算後に「screen」命令単独でリフレッシュさせると最速で画面のように16秒を得た。
これは所謂互換BASIC系では最速で、上記のようなテクニックを弄しなくても50秒台後半で1分は切るのだからそれでも互換系で最速である。

ちょっと気になってついでに短いコードを書いて調べたらMBASIC86やn88互換basicで全滅だったinput$(1)でちゃんとキーコードを取ることができる。文字コード系はshift-jisのようだが漢字はちゃんと2byteで取るので得られた文字列の文字数が1か2かを見て変換すれば汎用入力のルーチンが書けそうだ。
これでF-basicの販売管理などの書き方がいかに糞なのかを示せる。
(岡田社長には見せないけど・・・)

それと結構良いなと思ったのが黒い画面のBASICではあるが
1)マウスで画面の任意の場所にカーソルを飛ばせる。
※さすがに右クリックでクリップボードのペーストまでは対応してません。
2)width命令が128x45とかに対応できる(幅は128までなのがちょっとだけ惜しい)
3)一度INSキーで編集を挿入モードにすると行の編集を終えてもずっとそのまま
(この点もMBASIC86、n88互換basicともに落第)
  当たり前だけど出来ないと本当に頭にくる。

BASICでN88に近いのなら以前から手持ちの
「BASICによるB-treeのテクニック」パワー社@昭和59年(1984)発行
のプログラムをトレースして楽しめたりもしそうだ。



2017年9月20日水曜日

windowsのプログラミング

rubyでwin32oleとかautoitとかvbscriptとかちょっと注目
あんまり見てなかった書籍「Ruby on Windows」を眺めて弄ってみる。

それとpythonもすきを見て弄る。
python+qt+spyder+QtDesigner+[Numba+Cython:いずれもjitコンパイラ]
で研究生活に入れるようなテーマがあれば面白いのに・・・
http://www7a.biglobe.ne.jp/~thor/novel/column/14.html

2017年9月19日火曜日

データベースどうするか

次なるテーマとしてデータベース操作を掲げたのは良いがどういった方向性にしようか?
まあまずは自分が理解しやすくテストもし易いmdbを弄ることで、rubyとc#である程度自由に書ければ次はSQLiteとの比較かな?(どちらもfile共有型であるし)

SQLサーバは試してみたいけどリソースのことを考えると重いのは腰が引ける。
MS SQL Serverが最右翼だとは思うが専用のPCがそこそこのが必要だと思うと・・
H2で代用できれば良いのだが・・
これを調査するのが次の課題か?
でもMSSQLもc#の標準である以上避けられないので一度は体験しておかねば・・

rubyでエラーが出たときに???ってなるのでsinatraなどで小さく作って理解していくことは大切だと思う。GUIが期待できないrubyだけに今後はデータベース操作をcuiでそこそこ経験したらそっちに進むのが自然だと思うから・・・ある程度自分なりのruby+web+dbが確立してからrailsに望みたい。
そしてその頃にはc#でのスタンドアロンの仕組みの構築にも慣れていたい。

2017年9月18日月曜日

mandelで繰り返し回数と画面のキレ

見出しの件を考察した。dxrubyで画面サイズを見やすいように約1.5倍ずつにした。
まずは32回
次に100回
最後は300回
やはり偉いもので32回程度だと甘々な輪郭も100回も繰り返すとかなりしっかりしてくる。しかし300回と比べると両方の黒海を仕切る砂州の伸びや各リアスの入江の混み具合が違うのがわかる。時間を取るか見栄えを取るか?

調子に乗って1000回もやってみた。ソースの改変がしやすく試行回数を増やせるのもDxRubyならではだ。
もはや2つの黒海の砂州がつながってきている。スゲぃ。
ただしここで注意がいるのは計算制度の誤差で本当は300回ぐらいの形が正しいのかもしれない。打ち切りの回数決定は難しい。


2017年9月17日日曜日

java8時代のgroovyを味わいたい

javaにちょっとは慣れた。しかしまだまだである。

最近いろんな言語の記述をするのが嫌ではなくなった。
javaもmandelの速度が速かったことやnetbeansにちょっと慣れたこともあって楽しく感じる。こうなると不思議なもので楽がしたい。前から注目していたgroovyについても習得を目指すか?しかし元々groovyで実現していたjavaに対するメリットの仕組みをjava8になってjavaが実現してきた。しかもgroovyとは違う仕方で。

こんな今だからこそgroovyで何ができるか見るもの面白い。
で、表題に戻るわけである。

次のテーマはいろんな言語でデータベース操作

RubyのグラフィックスはDxRubyで決まりって結論も出たし、今後もボチボチと気が向けば小さなテーマでグラフィックは弄って行くとして、次なるテーマはいろんな言語でデータベースを操作して速度とか使い勝手とかを見ていきたい。

例えば
1)Accessでmdbとaccdbを比較。特に共有
2)他の言語でMDBかAccdbを使ってみる。Ruby,C#,VB,Java
3)SQLiteをAccess,Ruby,C#,VB,Javaなどで使う。
4)H2をJavaで普通に使ってみる
※イメージはfirebirdの代替
5)他の言語でH2を使ってみる。Access,Ruby,C#,VB
6)MS SQLサーバを使う。軽い標準環境を模索する

テストでは100万件とかから検索とか3つのクライアントから1万件づつ同時に登録とかやってみたい。

dosvaxj3が更新されていた。

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