パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

BASICのプログラムをProcessingに移植している

2014-10-22 | Processing
昔のソースを手に入れもう一度遊べたらなーぐらいののりで、できるかどうかは分からないが見切り発車

PRINT、LOCATE、COLOR文あたりは実装、しかしProcessingはdrawで表示を仕切っているので
表示処理と計算処理が混在しているBASICではまずこれが困難

最初一緒くたに作成していて、計算処理がなんども走るという事態になり
表示処理の命令を全てデータに一度確保しておいてdraw処理でそれを元に書き出すという方法でなんとか回避

しかしさらに難しい問題が立ちはだかっていてそれがINPUT文!

VISUAL C#などだと別画面を立ち上げてなんて処理もできるがProcessingではどのように実装したらよいものか
BASICの処理をすべてスレッドにしてINPUT文は入力の表示、キー判定から自前で作らないとだめかも
相当大変そうで、今のところ、そこでめげている。

変数、配列、条件式なんかはjavaをそのまま使っているが
どことなくBASICを作っているような錯覚も起こしている


移植していて思ったことはBASICで実はすごい言語なんじゃないかということ
ソースのBASICはN-BASICで作成したのはマイクロソフト
このころは縁の下の力持ちのようなえらい会社なんだなーと思っていたけど、業界を支配するとは
この当時こういったパソコンの雑誌を作っていた会社のなかにソフトバンクがあって、
当時飛ぶ鳥を落とす勢いのこのパソコンを作っていたのがNEC

栄枯盛衰をしみじみと感じてしまう

今は当時は一般的ではない新しい概念がいっぱい入って来ているけれど
シンプルにものづくりをするためには妨げになっているものもけっこうあるような気がします

GOTO文なんかもダイクストラのせいで今はなくなっているけど
私は当時から人間には使いこなせないと言っているようで納得がいかなかった
ダイクストラを今調べてみるとあまりコンピュータを使ってはいなかったらしい

ひょっとしたらGOTO文が一度虐げられた理論のように復権を果たす時代もそのうち来るかもしれない

今回の移植の最大の問題が最後はGOTO文になりそうな予感もあるけど




最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。