はてなキーワード: BASICとは
プログラムの高級言語(特に古典的なBASIC)は、命令が英単語そのままだったりする。
いくつかの基本的な英単語と少しの数式が分かれば、簡単なプログラムの読み書きができる(はず)。
圧倒的に、知ってなきゃいけない単語数や文法の知識量が違うから。
最近は知ってなきゃいけない命令や概念が増えてきたけれど、それでもIDEの補完機能を使えばなんとかなる。それに、文法ミスがあってもコンパイルエラーで分かるし、その間違った場所のヒントもコンパイラやIDEがくれる。
英語はそういうのも、全部自分で処理しないといけない。似ているけどニュアンスの違う単語だとか、適切な単語・文法選択だとか。そこが、そもそも知っていて、自分で即座に判断できる能力もないと使えないので苦しい。
初めてあったとき、僕は「IE」さんや、「ワード」さんや「フリーソフト」さんを通じて話をしてた。
でも、気づいたら「HTML」って言葉を少し覚えて、直接話ができるようになった。
「FORTRAN」だったり。
本当にいろんな話をしたんだ。
ずっと君を近くに感じることができて、
Cって言葉を覚えたときはずっと身近に感じたと思う。
だけど、それがいけなかった。
Cには、ポインタがあった。
ううん、ポインタが悪いわけじゃない。
ポインタっていうのは、ずっと君を近くに感じられるけど、
必要以上に束縛してしまったりすると、
君は顔を真っ青にして僕の話を聞いてくれなくなったっけ。
僕は本当に未熟で・・・ううん、不注意だったんだね。
それは、君との距離をどうしたらいいのかっていうことを凄く考えさせてくれたんだ。
世の中ではこういうのを設計っていうらしい。
言葉だけじゃなくて、道具を使うことを覚えたり・・・
定番のパターンや、積み木遊びも覚えた。
そして、今またpythonを覚えた僕は、もう少し肝要になれたし、
もっと自分に素直になれたと思う。
無理に隠すことも無くなったし、自然に付き合うのがいいって分かったのかな。
これからも、たくさんの言葉を覚えるとおもう。
そのたびにいろんなことをまた考えさせられて、
君ともっと楽しめると思うんだ。
まあ、これからもよろしくな!
現在、33歳。「半導体関係」という業界で働いている。(半導体とは、世界中のおよそ全ての電子機器の中に入っている部品の事)
多数の躓きはあったものの、自分の道を疑問に思う事なく、導かれるようにしてここまでやってきた。
ここは、自分が居るべき場所であると感じている。
人生が新たなセクションに入ろうとしている今、何故自分はここへやって来たのか、振り返り、確認してみたい。
小学生低学年の頃。日曜日の朝。「漫画日本の歴史」→「筋肉マン」→「ミームいろいろ夢の旅」というアニメ3連コンボは至福の時だった。
前者2つはもちろん、ミームは特に好きだった。アニメの内容は、当時の知見における「近い将来、世界はこんな進化を遂げ、スッゲー情報科学世界が実現する!!!」という未来像が紹介されるものだった。
そこには、無線情報端末は言うに及ばず、今で言う「インターネット」さえも登場していた。
理由はわからない。とにかく毎週、そこで紹介される未来像にひたすら胸が躍った。
これが、今へと自分を導いてきた最初の一つだったのだと思う。
そして2つ目。小学校高学年の頃。
地元熊本県で、「グリーンピック熊本」という、ちょっとした科学展があった。そこには、「ミーム」で見た世界の一部が実現されていた。
テレビ電話、ステージとモニタの中を自由に往来しながらトークするお姉さん、3Dモニタ、壁を覆いつくした多数のモニタとそれを操る多数のPC・・・・・・。
その頃、当時の我が家としては余りにも高額な(でもメーカ的には廉価版)のMSXというPCを買ってもらった。三菱製だった。
ローマ字をやっと習った程度。英単語なんて読めない。それでもブ厚いマニュアルをめくりながらコマンドを「シーオーエルオーアール」等と口にしながら覚えていった。
X,Y座標なんて書いてあっても理解不能。しかしこの辺は実際に弄りながら試行錯誤してみる事でなんとなく理解出来た。
そうやって、MSX BASICというプログラムを身に付けていった。
この頃のこういった行動は、今の自分にかなり大きな影響を与えていると思う。
目標の設定→現状把握→ルート設定→目標達成のための障害把握→障害の除去方法習得→実現。
この思考/行動が極めて迅速かつ正確に出来るようになった。大人になってから気付いたが、この自分にとっては余りにも当たり前の事が、他人にとっては特別な事で、やろうとしても出来ない人が多い。
3つ目。
裕福ではなかった、昭和における平均かそれ以下であった我が家。母親は「子供との時間を確保するため」外での勤めをせず、内職をしていた。
帰宅すると母が内職をしている。内職に夢中で自分に構ってくれない。それが気に入らず、母親がやっと作業した品をグチャグチャにした事も、何度もあった。
時折、気まぐれで手伝ったりもした。
母親がやっていた内職とは、数ミリ□~2センチ□程度のモノに絶縁テープが巻かれたもの。それから、針金が何本も並んで突き出ている。
就職してから知ったが、これも所謂「半導体関連製品」であった。
高校は、公立で入れそうな所を受験した。理数科だった。意図して選んだわけではなかった。「ここなら落ちないだろう」との判断だけだった。
大学へも行った。工学部。電子工学。研究室ではすばらしい方々とともに、当時の世界最先端の研究を体験させて頂いた。
「ここに書いてある会社なら、間違いなく入れますよ」ってファイルが置いてある。その中から、成績の良い生徒から順に就職先を決めていく。成績最下位だった自分は、残りすくなったリストの項目の中から、最も地元に近い会社を選んだ。それが、今働いている会社。
就職して10年目。既にエンジニアとしては成熟し、今後はマネージメント側に回るのか、エンジニアとして続けるか、或いは別の道を行くか。決めなければならない。
こうやって振り返ると、今の自分がここに居るのは、何らかの力による必然である様にさえ思える。
先述したように、今、自分は、人生が新たなセクションに入ろうとしている。
今はまだ、わからない。
ただ、思う。もしも必然であるのなら、この先も、望むと望まざるとに関わらず、同じ世界で生きていく事になるのだろう。
そんな中、去年の夏、素敵な人の存在を知った。
egachan.netというのをやってる、「えがちゃん」という人。非モテ、のあの人。
現実逃避。それでもいい。
今はPHPを弄りながら、自分がどこに辿り着くかは、流れに身を任せたい。
蛇足になるが、当時の母親が扱っていた様な製品は、体積でいうと数百分の1~数千分の1のサイズまで微細化されている。もはや、年老いた母親には見る事もままならないだろう。作業自体も、フルオートである。手作業はない。全てを機械がやってくれる。
自分が入社してすぐに関わった製品もまた、今では当時の1000分の1の体積まで微細化されている。
微細化の先には有機との融合の時代が待っている。(もうずっと前から始まっている)
どこかで言った気もするんですが、秋葉原はどういう方向に向かっていくんだろう、と時々思います。
僕の年齢が2桁にもなっていない頃、あの地は電子部品を売る店しかありませんでした。そもそもまだ大衆にPCが普及しておらず、電化製品というハード、というか主にそのパーツを売る場所だったんですよね。それが齢10歳を越えた辺りで先駆的PC販売がなされるようになってきて(まだMS-DOSとかBASIC言語の時代ね)、やっとこ大手電気店がPCの陳列をはじめだしたという記憶があります。
そして時代は流れて元号が変わって平成になり、だんだんサブカルチャとしてのメディアが生産されるようになって来ました(PCおよび電化製品ハード→ソフトへの転換期)。この時期に既存電気店のような物質(ハード)を売る店ではなく、販売ターゲットをソフトメインに据えたいわゆるPCゲーム店(?)が作られていき、PC美少女ゲーム層を形成しつつ、おりからのエヴァンゲリオンブームにも乗っかったカタチになり、アニメとゲームを融合させたメディアミックスという方向性を作り出すことになります。で、この複数面への展開が期待できるメディアミックスが、その有意浸透性を遺憾なく発揮した結果として今のオタクブームがあるわけですが、ここでの話はそっちへ向かわず(笑)、ハード→ソフト→多種メディアと遷移していった秋葉原電気街はすでに「秋葉原電子街」に様変わりしました。この辺までがオタク面からの認識できる範囲です。オタク視点であればここまでの変化が重要なのであり、本文これ以下の変化はそれほど重要と捉えていない気もします。
しかしながら昨今の秋葉原駅前再開発理念によって、UDXやダイビル等、本来の意味でのITビジネス方面への開発が進みだしました。これによって北神田地域周辺に今まで存在していそうで存在し得なかった「ITの波」といえる新しい方向性が植え込まれることになりました。この新波は既存のアキバ=オタクとは一線を画す(オタクと対をなす単語でよいものが思いつきませんが、ここでは「カタギ」と形容したい)ものであり、あまり交じり合いそうには僕には思えないんですが。どうなんでしょうか。
個人的には今後秋葉原電気街口、広義の北神田周辺地域は今もっている一般的な「電気街」「サブカルの街」「オタク街」という基本構成は今後薄れていくんではないかと思います。電気街→電子街への遷移はもうすでに書いてますがこの変移が行われたことこそ、今後の秋葉原の(方向性の)変革がおきやすいということの裏づけになるのではないかと考えます。結果的にいくつかの変革的ステージ(電気→電子→サブカル)を辿ってこれたということは、今後も柔軟にその形を変形できるということに他ならないのではないかと思うわけです。駅前再開発によりITビジネスを取り入れることに成功した秋葉原は、ITビジネスに限らずそれに付随する他の業種(例えば出張用宿泊施設とか、ランチ外食産業とか)も招き入れたということであり、それらは現在の「アキバ」とはちょっとまた方向性が違います。
相関があまりない物同士を混ぜ合わせるなら、その混合色は薄まっていくでしょう。
今のアキバをオタクの街として楽しめるのは、あと数年程度なのではないでしょうか。
※ 僕個人としては再開発自体に不満はないですし、変革も特別反対する理由も有りません。流れるように流れるべきです。既存層に傾倒するつもりもなく、かといって新風に肩入れするつもりもありません。単なるオブザーバとしての発言ですのでご理解いただけると幸いです。
http://anond.hatelabo.jp/20090404235214です。
ご協力ありがとうございます。
普通の:
・Compiler Construction (Louden)
・Effective C# (Wagner)
・Compilers (Aho, et al.)
・Virtual Machines (Smith, Nair)
・Garbage Collection (Jones, Lins)
・車窓で旅する日本列島
・Common Lisp 第2版 (Steele Jr.)
・Assembly Language for Intel-Based Computers (Irvine)
・Concrete Mathematics (Knuth, et al.)
・Programming Language Pragmatics (Scott)
・Basic Category Theory for Computer Scientists (Pierce)
ダメげなの:
・サモンナイトコレクション
・しろ画集
・カーネリアンコレクション
・Bittersweet Fools ビジュアルファンブック
・ISO/IEC 13211 Information technology - Programming languages - Prolog - (Prologの規格書)
・県別マップル十数冊
整理されてなさすぎるのがよくわかった。
その他本棚にあるもの:
・危ない28号 3冊
・夏少女の紙袋
オレが支持してるからだよ。
ちょっと前までは共産党を少しかじった社会党を支持したこともありました。ですがその後二大政党とかそういう流れになっておかしくなった頃から、支持している理由がなくなって無党派に。その後、麻生太郎が就任した頃からいろいろ勘案して、民主党にはまだ政権を取らせるには時期尚早である、経済危機の最中につまらんことで政府を混乱させても意味がないという消極的な理由ではあるが、自民党支持者に。
とたんに支持率急降下。
思えばオレの人生はずっとそうだった。たとえばゲーム機一つとってもそうだ。
初めてふれたゲーム機は、ファミコンですらないゲーム機「スーパーカセットビジョン」で、おまけにさわったソフトが「ベーシック入門」のサンプルプログラムの、記憶は曖昧だが「pong」に似たようなゲームだったと記憶している。
その後、自分で初めて買ったゲーム機が、スーパーファミコンではなくメガドライブであった点ですでに間違っていた。なぜか?知るか。それはそのときのオレに聞いてくれ。その後、なぜかかたくなにスーパーファミコンを買わなかったオレが、なぜかサテラビューに心をひかれてスーファミに手を出したのが1995年。ただ、そのときにはすでにPSは発売されていて…。
その後遅ればせながらドラクエなどにはまり(そう、なぜかそのときまでやったことすらなかったのだ…)スーパーマリオRPGなどを通してすっかり妊娠となったオレが、次に選んだハードウエアはヴァーチャルボーイ。そしてNINTENDO 64。さらに最後期になってバイトができるようになって金ができた俺はドリームキャストに、ドラクエやりたさにPSを買い(すでにPS2の計画は明らかになってた)、その間にワンダースワンも試してる。もちろんクリスタルのほうだ。(ピピンアットマーク?それはさすがに無い。断じて自宅の押し入れなどにはない。3DOは欲しかったが金がなかった。飯野万歳)
そして今度こそ外れをひくまいとPS3を買ったがソフトがなく、XBOX360を買ってみてそれなりに満足している。ちなみにWiiは買う気はない。これはオレの些細なプライドだと思って欲しい。もはや意地だ。
ちなみに愛車はついこの間までマツダだったが、この間スバルに乗り換えた。携帯ははじめはドコモだったが、auに乗り換え、今はソフトバンクにしている。データ通信用にWillcomも使っている。
最近はトラックボールを入手するのが年々難しくなっているのを嘆いているし、個人ではずっとWindows MEのパソコンを使っていたが、WIndows Vista搭載機一斉発売の時にVista Home Basic搭載パソコンに乗り換えた。ちなみにガンダムよりザクや特にドムが大好きである。一番好きなガンダムはガンダムXだが、劇場版Zガンダムにはまって揺らいでいる。
そんなオレが自民党支持者だ。特に政策を比べると、積極的によくわないが、少なくとも今この時期をうまく乗り越えるためには、自民党を支持して、少なくともその大枠だけでも維持する方向にしないと、日本は持たないのではないかと考えるようになった。
従って、自民党は滅びる。なぜならオレが支持しているからだ。
http://www.c4lpt.co.uk/learningtools.html
語学:Podcasting Juice
http://portal.podcastjuice.jp/dirretrieval/category_sort.cgi?categoryid=14
翻訳・通訳・辞書サイト検索 Feel Words Search
やさしいひざし / おはようどうわ
http://www.mypress.jp/v2_writers/satomamachi/story/?story_id=1166707
http://why.kenji.ne.jp/douwa/sinla2.html
Link集
http://cvnweb.bai.ne.jp/~ryouken/link.htm
http://www.enjoy.ne.jp/~isshindo/SYUWA.htm
http://unorthodoxdecorum.blogspot.com/2007/09/phone-conversation-ii.html
(For Beginners)
(For Windows)
(For Mac)
(In case you are using shared computer)
(Information)
元増田です。
>心に余裕があるから他人の痛みに涙できるんだよな
言ってることは分かる。分かるけど、余裕の問題じゃないと思う。やっぱりそれは違う。
目の前で人が殺されているんだ。何の咎もない人が。理不尽に。無差別に。
それを目の当たりにしたら誰でも「やめろ!」と叫ぶ、でしょう。
目の前で人が死んでいくのに何も出来なかったら悔しいでしょう。何とかしてあげたいと思うでしょう。
それは余裕のあるなしじゃなくて、人としての本当に基本的な根本的な衝動じゃないのかな。
私だってもう26だし、数年前から学生じゃないし、今はかなりテンパッテルし、先行き不透明だし、親には国に帰って来いと正月を迎える度に泣かれるし(もういいや、私これ書いた増田です。http://anond.hatelabo.jp/20081127063438)、まだ大学を出るまでの費用の借金だってまだ残ってるし、そこまで人の事を気にしてる余裕はない。
でもこれはそんな次元の話じゃない。かわいそうとか、たいへんだなあとか、そういうんじゃない。
目の前で人が殺されそうになってる時に「止めなきゃ!」と思うのはもっともっと深いところから来るBasic human instinctだと思う。
いやいや。なにヌルイこと言ってんすか。
インターネットもniftyすらもなかったころに300または1200bpsの音響カプラで通信してた
時代も思い出してあげてくださいよ。
オレは実際は使ってなくて、大学の研究室で先輩の院生のヒトが文献検索するの横で見てて
参考にさせてもらっただけだけどな。
RS-232Cポートに、電話の受話器にカパっとはめられる形態のカプラをつないで、手回しで
電話の通話料はもちろんだが、文献の検索すると一件表示するごとに料金がかかってた。
1行表示するのに2〜3秒くらいかかってたし、ダウンロードとかもないから手元に残したい
ときは同時にドットインパクトプリンタに「ジジ〜っ」つって印刷しつつ進めるワケ。
ほとんど何でも情報がタダで瞬時に手に入って、コピペでも引用でも好きなだけ使えるって
今の環境は夢のようだよなぁ〜 (^^;
年明けに大掃除したら、実家から持ってきた書籍の中に小学生の時に
その中にチラシが入っていたのだが
「お知らせ
本機は日本電信電話公社より認定をうけており、キャプテンユニットMPC-CAP1などの機器との組み合わせで
とか書いてある。
当時はこんなチラシ見もせずにBASICとデーレコばかり操作していたからな。
このチラシが何を意味する物なのか今となっては謎になっている。
それよりも、その他にもBASICマニュアルなんぞ出てきたのだがEOFとかBSAVEとかON SPRITE GOSUBとか理論演算子とか掲載されてる。
おかしいなぁ・・小学生時代にはこれも覚えてスプライトを駆使してマシン語を16進数で作成、3色キャラクタなんぞを作ってBASIC
プログラムを作って遊んだはずなのに。今ではすっかり忘れてしまった・・。
あのままもっと色々とやっていれば勉強できたのかなぁ。
第0001回:衰退していくIT業界に向けて、30半ばシステムエンジニアが昔の思い出を語るよ 0001
第0010回:衰退していくIT業界に向けて、30半ばシステムエンジニアが昔の思い出を語るよ 0010
中学生になった僕は、マイコン熱がさらに高めていった。その頃お小遣いもそれなりに増え、折りしも、バブルの好景気にさし掛かろうかと言う時代、自営業である家業もある程度儲かっていた記憶があって、家の財布の紐はちょっとだけ緩んでいた。
住んでいる家は それまで通り6+6畳で狭いままだけど、新しいマイコンをねだれば買えてしまう時期だったと思う。狭い借家にマイコンやモニタが所狭しと並べられ、家の一角だけは未来的な雰囲気(当時としては)が漂っていた。
僕は、当時全盛期だったNECのマイコンどうしても欲しく、初めて自分のマイコン(兄貴との共同出資かもしれない?失念。)を買った。それがPC-6601(1983年発売、定価143,000円)だった。
当時、マイコン小僧たちの憧れはPC-8801シリーズ(この時の最新機種は、PC-8801mkII。価格は20万前後)で、当然ながら欲しいと思っていたのだけど、やはり値段の兼ね合いから却下されてしまったのだと思う。また、どうしてもやりたいゲームがFM-7に無く、PC-6000シリーズにはあったと言う理由もある。(ゲームについては後述)
PC-6601の売りはなんと言っても3.5インチFDD搭載と言う事。その当時出回っていた5インチのフロッピーに比べ、あの完全に磁気面がガードされた3.5インチフロッピーはなんとも先進的で、当時の憧れだった。それから、どう考えても無駄な、合成音声をしゃべる機能があった。
PC-6601を買ってからの僕は、BASICもまぁ触っていたけど、難しすぎるベーマガのBASICプログラムにはついていけなくなり、当時流行り出したアドベンチャーゲームを解く方に熱中していたと思う。
その頃熱中していたゲームは、ミステリーハウスから始まり、T&Eソフトのスターアーサー伝説I 惑星メフィウスやデゼニワールドをなんかを必死に解いていた。この時代は、途中で詰まってしまったらそれまで、攻略本や教えてくれる人など居ないので、月一に発売される雑誌の攻略ページなんかを見て、しこしことゲームをやっていた。当時のゲームの進みはかなり遅かったと思う。1ゲーム解くのに軽く半年くらいは要していたはず。
そもそも上述した「スターアーサー伝説I 惑星メフィウス」なんかは、とある牢獄から脱出するのに、牢獄のドア、3本の鉄格子の右を3回「タタク」と入力するなどと、おそらく知らなければ永遠に気が付かないような謎解きが平然と混入していた。ゲームバランスなんてあったもんじゃない。
あと描画速度の遅かった事と言ったらない。少し凝った絵だと、1シーン1分くらい描画していたように思う。
当時のグラフィックスを今見て、すごく懐かしいなと思うのは、当時は表現できる色数がかなり少なかったので、(8色とか16色とか)アドベンチャーゲームなどで人物や背景を表現する為に、2色で細かい縞模様を作り、無理やり中間色を作り出していた。この描画表現を見ると、かなりノスタルジックな気分になる。
ちなみにその当時、僕はファミコンのゲームをかなり軽視していたと記憶している。
ファミコンが発売されてしばらくの間、ファミコンのゲームはマイコンゲームからの移植で、機能を制限したものが多かった。なので、しばらくファミコンは自宅に無かったし、見向きもしなかった。
ファミコンなんかよりもマイコンのゲームの方が数倍複雑で楽しいし、ファミコン自体は、所詮マイコンの機能限定版だと思っていた。
しかし、この状況はすぐに逆転することになる。ファミコンが思わぬ大流行をしたため、マイコンのゲーム数は、ファミコンにいとも簡単に抜かれた。仕方なく少し遅れ気味にファミコンを買う羽目になる。
あの頃やったアドベンチャーゲームには、色々な思い出がある。中間色を駆使したあのグラフィックスをみると、いつでもあの頃の思いが蘇ってきて、なぜだかワクワクしてしまう。
まだ続くと思います。
ああ・・ベーマガとかテクポリとか懐かしいな。
昔は円を一つ描くだけでも、だらだらとしたBASICかマシン語が必要だったのにな。
でも、その苦労が楽しかったんだよな。
信長とか殆どBASICだったからLINE文でちんたらちんたら描画して、BREAKキーかなんかでプログラムストップさせたら
まんま、ソースコード丸見え。
で、まぁ・・そこで信長の名前や表示コメント変えたりしてオリジナル信長の野望でプレイした。
ハイドライドくらいまでくると、殆どマシン語になっちゃったからいじくれなかったけどPSG3和音の
音楽は今でも耳につくな。
たくさんのブックマークと期待コメントありがとうございました。続きを書いていきます。
※これは連載です。初めての方は下記から見てください。
衰退していくIT業界に向けて、30半ばシステムエンジニアが昔の思い出を語るよ 0001
兄貴のFM-7で、初めはゲームばかりやっていたのだが、しばらくすると「信長の野望」には裏技が存在する事を知ってしまった。裏技を使い、稼いだ金に物を言わせて増兵をしまくり、簡単にクリアできるようになってしまった僕。(ど忘れしたのでどんなのか調べたら、『いったん年貢率を0にしてから収穫前に上げることで米収入が上がり、その米を元手に富国強兵を行うといったテクニック』らしい。)
その頃やっていた他のゲームは、ハイドライド、ウィザードリィ、ザ・ブラックオニキス、デゼニランド、ポートピア連続殺人事件など。自分で買ったゲームがほとんど無いので記憶は薄いのだが、みんなテープ媒体だったように思う。
一方、兄貴はというと、なにやら熱心に毎月雑誌を買って、どこかへ投稿しようと試みているようだ。当然、それとなくその雑誌も読んでみる事となる。それが僕と「マイコンBASICマガジン」、そしてプログラム言語との出会いだった。目の前にある機械がゲーム専用機ではなく、自分の思い通りに動かせるのか、と気付いた時の驚きと快感。今も忘れられない。
前述の通り、その当時のマイコンは、電源を入れるとROMから「BASICモード」がいきなり立ち上がるのだけど、この状態から自力で何かを動かしたい場合、BASICと言われるプログラム言語を実行することにより、色々出来るようになる。
マイコンBASICマガジン(長いので以降「ベーマガ」)は、主にBASICのソースコードが掲載されている専門雑誌だ。基本的に、雑誌の構成は読者からの投稿で成り立っており、自ら投稿したBASICのソースコードがベーマガに掲載されるかどうかが、その当時マイコン小僧たち最大の憧れであり、ステータスだった。
ご他聞に漏れず、ベーマガを読み始めてから僕はBASICの虜となってしまい、今までやっていたゲームの頻度は自然と減り、BASICへ時間を割くようになった。
今思えば、兄貴は本気でBASICプログラムを投稿し、掲載される気満々だったので、かなりの難しいコードを書いていたんだと思う。結局、彼の思いが果たせたのかは分からない。掲載されたコードを見せてもらった事が無いし、それなりに競争率が高かったので多分ダメだったんだろうと思う。
一方、僕といえば、ベーマガで面白そうなゲームのソースを見つけては、一生懸命コードを入力し、誰かが作ったゲームをやることに専念していた。しばらくの間、記憶する媒体がテープレコーダーしか無かった為、目の前にある「ベーマガ」のゲームがやりたければ、一字一句間違えずにソースコードを打ち込まなければならず、何回も何回も間違えながら入力していた記憶がある。テキストエディタなんてものがそもそもなかったので、ただ入力するだけでもかなりの難作業だった。
そのうち入力しているだけでは我慢できなくなり、なんとなくBASICというものが理解出来て来たので、自力でゲームと言うものを作ってみる。しかし、「作る」と言っても一切の独創性はなく、ベーマガに載っていたゲームのアイデアをほとんど流用していた。
一番初めに作ったのは、縦スクロール型のスキー風障害物除けゲームだった気がする。僕みたいな初心者がこれを選ぶのには理由があって、RND(乱数発生関数)とPRINT(画面表示)だけ知っていれば縦スクロール自体はターミナルが勝手にやってくれる為、後は壁の判定処理を入れるだけでよい。特に難しい事を考えなくてもある程度作れるからだ。
当時、知っている命令語のレパートリーは極めて少なかったし、現在のwebのように、簡単な方法で調べる手立ても無かった。綴りや文法が分からない命令はいちいち調べるのが面倒くさいので、とにかく使わない方針で押し通していた。
ロジックも見よう見まねで無理やりひねり出してたものだから、乱数が過激に発生して、スキーのゲレンデが右側から大きくはみ出して表示がぐちゃぐちゃになったり、両側の壁に隙間が出来てプレイヤーがそこをすり抜けてしまったり。しかし、こういう試行錯誤の中で、ロジックの作り方や、エラー処理と言うものを知った。
立体迷路とか、横スクロールのゲームとか、ベーマガで輝いていたあのゲームを自力で作りたかったけど、その当時はそこまでのレベルに達することは出来なかった。
ブクマを燃料として書き続けます。
昔話をつらつらと書いてみる。僕が子供の頃、コンピューターには夢があった。
今就いているお仕事は、SE(と言う名のIT雑用係)なのだけど、幸か不幸かこの職種に就いてしまったきっかけを考えるに、昔家に置いてあった『FM-7』と言うマイコンピューターがまず1つの大きな要因なのである。
兄貴がかなりのそっち系コンピューターおたくで、まず電子ブロックから始まり、自作でトランジスタラジオ作成、ワンボードマイコンいじりと家の中には常にそれ系の物が置いてあった。行きたかった秋葉原はうちからは遠かったので、同じ県内にそれ系のショップがあって、バスと電車を乗り継ぎ、たまに連れて行ってもらっていた。
その影響か、血筋か、僕もそれなりにそっち系への興味があって、ハンダゴテをもって基盤を触るまではやらなかったものの、子供の時の遊び道具は、もっぱら電子ブロックだった。
ワンボードマイコンの時代が終わり、次にやってきたのが、マイコンピュータブームだった。当時、コンピューターと言えば、NECのPC-8000シリーズが全盛期で、まず買うとすれば選択肢はPC-8801だったのだけど、なぜか兄貴が選んだのは富士通のFM-7だった。その理由は定かでないが、おそらくやりたいゲームがFM-7しか売ってなかったのだと思う。
その当時、家は裕福でなく、どちらかといえば貧乏な部類で、6+6畳くらいのフロアスペースに家族5人で住んでいたのだが、その狭いスペースにマイコンとディスプレイが一角を占有し、かなりな圧迫を強いられていたと思う。おそらく兄貴に対しては、それなりの期待があり、貧乏ながらもそっち方面の出費は優先的に出ていたのだろう。
そんなこんなで、僕も暇なときはFM-7を触っていた。Windowsとか、MS-DOSとか無い時代で、立ち上げるといきなり「BASICモード」と言うものが立ち上がる。それがその当時のパソコンのスタンダードだった。はじめは「信長の野望」とかゲームだけやっていたと思う。ゲームの媒体はテープレコーダー。まず、ゲームをやるのにテープから「ぴーひょろろー」と音を出し、データを全て読み出すのだけど、ロード終了まで1時間くらい掛かる。そこからようやくゲームが始められると言う今ではとても考えられない、壮大な時間が費やされていた。
それに加えて、テープの調子が悪く読み出しが出来ないときなどはロードの最後の最後で失敗し、結局頭からテープを読み出し直し、半日くらいを費やして、結局ゲームができなかったり、色々面倒だった思い出がある。必死だったけど、楽しかった。
もし、ブックマークが付いたら続き書いていきます。
Table of Contents: ||||||
オープンソースソフトウェアとGIS | Open Source software and GIS | Open Source software and GIS | 1 (6) |
オープンソース概念 | Open Source concept | 1 (2) | |
オープンソースGISとしてのGRASS | GRASS as an Open Source GIS | 3 (2) | |
ノースカロライナサンプルデータセット | The North Carolina sample data set | 5 (1) | |
この本の読み方 | How to read this book | 5 (2) | |
GISの概念 | GIS concepts | GIS concepts | 7 (14) |
一般的なGISの原理 | General GIS principles | 7 (6) | |
地理空間データモデル | Geospatial data models | 7 (4) | |
GISデータとシステムの構成 | Organization of GIS data and system | 11 (2) | |
機能 | functionality | ||
地図投影法と座標系 | Map projections and coordinate systems | 13 (8) | |
地図投影原理 | Map projection principles | 13 (3) | |
一般的な座標系とdatums | Common coordinate systems and datums | 16 (5) | |
GRASSをはじめよう | Getting started with GRASS | Getting started with GRASS | 21 (32) |
第一歩 | First steps | 21 (16) | |
GRASSのダウンロードとインストール | Download and install GRASS | 21 (2) | |
データベースとコマンドの構造 | Database and command structure | 23 (3) | |
GRASS6のためのグラフィカルユーザインタフェイス: | Graphical User Interfaces for GRASS 6: | 26 (1) | |
QGISとgis.m | QGIS and gis.m | ||
ノースカロライナを用いてGRASSを開始 | Starting GRASS with the North Carolina | 27 (3) | |
データセット | data set | ||
GRASSデータ・ディスプレイと3D可視化 | GRASS data display and 3D visualization | 30 (4) | |
プロジェクトデータ管理 | Project data management | 34 (3) | |
新しいプロジェクトでGRASSを開始 | Starting GRASS with a new project | 37 (7) | |
aのための座標系の定義 | Defining the coordinate system for a | 40 (4) | |
新しいプロジェクト | new project | ||
空間投影されていないxy座標系 | Non-georeferenced xy coordinate system | 44 (1) | |
座標系の変換 | Coordinate system transformations | 44 (9) | |
座標系のリスト | Coordinate lists | 45 (2) | |
ラスタとベクトル地図の投影 | Projection of raster and vector maps | 47 (1) | |
GDAL/OGRツールで、再投影 | Reprojecting with GDAL/OGR tools | 48 (5) | |
GRASSデータモデルとデータの交換 | GRASS data models and data exchange | 53 (30) | |
ラスターデータ | Raster data | 54 (16) | |
GRASSの2Dの、3Dのラスターデータモデル | GRASS 2D and 3D raster data models | 54 (2) | |
領域の統合と境界 | Managing regions and boundaries | raster map resolution | |
ジオコードされたラスターデータのインポート | Import of georeferenced raster data | 58 (8) | |
スキャンされた歴史的地図のインポートとジオコーディング | Import and geocoding of a scanned | 66 (3) | |
ラスターデータエクスポート | Raster data export | 69 (1) | |
ベクトルデータ | Vector data | 70 (13) | |
GRASSベクトルデータモデル | GRASS vector data model | 70 (3) | |
ベクトルデータのインポート | Import of vector data | 73 (5) | |
xy CAD描画のための座標変換 | Coordinate transformation for xy CAD drawings | 78 (2) | |
ベクトルデータのエクスポート | Export of vector data | 80 (3) | |
ラスターデータを使う | Working with raster data | 83 (86) | |
ラスター地図を表示、管理 | Viewing and managing raster maps | 83 (22) | |
ラスターデータの表示と、カラーテーブルの割り当て | Displaying raster data and assigning a color table | 83 (3) | |
ラスター地図に関するメタデータを管理 | Managing metadata of raster maps | 86 (2) | |
ラスター地図のクエリとプロファイル | Raster map queries and profiles | 88 (2) | |
ラスター地図の統計 | Raster map statistics | 90 (1) | |
ラスター地図のズームと、部分集合の生成 | Zooming and generating subsets from | 91 (1) | |
簡単なラスター地図の生成 | Generating simple raster maps | 92 (2) | |
再分類と再スケーリング | Reclassification and rescaling of | 94 (3) | |
ラスター地図 | raster maps | ||
ラスター地図タイプの記録と値の置換 | Recoding of raster map types and value replacements | 97 (2) | |
カテゴリラベルの割り当て | Assigning category labels | 99 (4) | |
マスキングとノーデータ値の取り扱い | Masking and handling of no-data values | 103(2) | |
ラスター地図の計算 | Raster map algebra | 105(10) | |
整数と浮動小数点データ | Integer and floating point data | 107(1) | |
基本的な計算 | Basic calculations | 108(1) | |
“if"状態を使う | Working with ``if'' conditions | 109(1) | |
r.mapcalcのNULL値の取り扱い | Handling of NULL values in r.mapcalc | 110(1) | |
r.mapcalcでMASKを作成 | Creating a MASK with r.mapcalc | 111(1) | |
特別なグラフ演算子 | Special graph operators | 112(1) | |
相対的座標での近傍演算 | Neighborhood operations with relative coordinates | 113(2) | |
ラスタデータの変換と内挿 | Raster data transformation and interpolation | 115(11) | |
離散的ラスターデータの自動的ベクトル化 | Automated vectorization of discrete raster data | 115(3) | |
連続フィールドの等値線の描画を生成 | Generating isolines representing continuous fields | 118(1) | |
ラスタデータのリサンプリングと内挿 | Resampling and interpolation of raster data | 119(5) | |
ラスター地図のオーバーレイとマージ | Overlaying and merging raster maps | 124(2) | |
ラスターデータの空間分析 | Spatial analysis with raster data | 126(29) | |
近傍分析とクロスカテゴリー統計 | Neighborhood analysis and cross-category statistics | 126(7) | |
ラスタフィーチャのバッファリング | Buffering of raster features | 133(2) | |
コストサーフェイス | Cost surfaces | 135(5) | |
地勢と分水界分析 | Terrain and watershed analysis | 140(13) | |
ランドスケープ構造解析 | Landscape structure analysis | 153(2) | |
ランドスケーププロセスモデリング | Landscape process modeling | 155(11) | |
水文学的、地下水のモデル | Hydrologic and groundwater modeling | 155(3) | |
浸食と宣誓証言モデル | Erosion and deposition modeling | 158(8) | |
ラスタベースのモデルと解析に関するまとめ | Final note on raster-based modeling and analysis | 166(1) | |
ボクセルデータを使う | Working with voxel data | 166(3) | |
ベクトルデータを使う | Working with vector data | 169(94) | |
地図の表示とメタデータ管理 | Map viewing and metadata management | 169(4) | |
ベクトル地図を表示 | Displaying vector maps | 169(3) | |
ベクトル地図メタデータ維持 | Vector map metadata maintenance | 172(1) | |
ベクトル地図属性管理とSQLのサポート | Vector map attribute management and SQL support | 173(14) | |
GRASS6でのSQLサポート | SQL support in GRASS 6 | 174(7) | |
サンプルSQLクエリと属性変更 | Sample SQL queries and attribute modifications | 181(4) | |
地図再分類 | Map reclassification | 185(1) | |
複数の属性があるベクトル地図 | Vector map with multiple attribute tables: layers | 186(1) | |
ベクトルデータをデジタル化 | Digitizing vector data | 187(5) | |
位相的データのデジタル化の一般原理 | General principles for digitizing topological data | 187(2) | |
GRASSでの対話的なデジタイジング | Interactive digitizing in GRASS | 189(3) | |
ベクトル地図クエリと統計 | Vector map queries and statistics | 192(4) | |
地図のクエリ | Map queries | 192(2) | |
ベクトルオブジェクトに基づくラスター地図統計 | Raster map statistics based on vector objects | 194(2) | |
ポイントベクトル地図統計 | Point vector map statistics | 196(1) | |
幾何学操作 | Geometry operations | 196(20) | |
位相的な操作 | Topological operations | 197(6) | |
バッファリング | Buffering | 203(1) | |
フィーチャの抽出と境界のディゾルブ | Feature extraction and boundary dissolving | 204(1) | |
ベクトル地図を修理 | Patching vector maps | 205(1) | |
ベクトル地図のインターセクディングとクリッピング | Intersecting and clipping vector maps | 206(3) | |
ベクトルの幾何の変換と3Dベクトルの作成 | Transforming vector geometry and creating 3D vectors | 209(2) | |
点からのコンベックスハルとトライアンギュレーション | Convex hull and triangulation from points | 211(1) | |
同じ位置の掘り出し物の複数のポイント | Find multiple points in same location | 212(2) | |
一般的な多角形境界の長さ | Length of common polygon boundaries | 214(2) | |
ベクトルネットワーク分析 | Vector network analysis | 216(11) | |
ネットワーク分析 | Network analysis | 216(5) | |
直線的な参照システム(LRS) | Linear reference system (LRS) | 221(6) | |
ラスタへのベクトルデータ変化 | Vector data transformations to raster | 227(3) | |
空間的な内挿と近似 | Spatial interpolation and approximation | 230(19) | |
内挿方法を選択 | Selecting an interpolation method | 230(5) | |
RSTによる内挿と近似 | Interpolation and approximation with RST | 235(2) | |
RSTパラメタの調整: テンションとスムージング | Tuning the RST parameters: tension and smoothing | 237(4) | |
RSTの精度を評価 | Estimating RST accuracy | 241(3) | |
セグメント化処理 | Segmented processing | 244(3) | |
RSTとのトポグラフィー分析 | Topographic analysis with RST | 247(2) | |
ライダーポイントのクラウドデータを使う | Working with lidar point cloud data | 249(8) | |
ボリュームに基づくは内挿 | Volume based interpolation | 257(6) | |
3番目の変数の追加: 高度のある降水量 | Adding third variable: precipitation with elevation | 258(3) | |
ボリュームとボリューム-時間内挿 | Volume and volume-temporal interpolation | 261(1) | |
地球統計学とスプライン | Geostatistics and splines | 262(1) |
初めは小学生の頃か。
実物のスペースインベーダーの記憶はない。
しかし、それを皮切りにアーケードゲームのみならず、ゲームウォッチ、ケームセンター嵐などを経て、ファミコンが登場する「ゲーム」の時代だった。
「ゲーム」がコンピューターゲームの意味になった時代だった。小学生も「コンピューター」にワクワクした。
21世紀はコンピューターにより人工知能ができる。そんな時代だった。
でも、アルファベットを知らない小学生にBASICは難しかった。ぴゅう太がせいぜいだった。
「PRINT」で文字を表示する。「GOTO」で行き先を変える。それは分かった。でも何をすればよいか分からなかった。
だから「ベーマガ」で16進数を打った。でも動かなかった。何度も調べ、直し、試した。デバッグした。
でも動いた。自分の入れた文字で数字でコンピュータが動いた。自分で動かした。動かせた。
高専に進んだ。Turbo Pascalでコラムスもどきを作った。
小学生のころから6年が過ぎていた。
Turbo Cも使った。IDEで使うそれは、インタプリタのノリだった。
FM-Rでレイトレースもした。一晩かけて、エラーが起きていた。
でも、構造化プログラミングを学んだ。ポインタも学んだ。マシン語の知識が役立った。
Solarisも使った。EmacsやXも使った。オブジェクト指向も知らずC++にも触れた。
awkやsedで正規表現を学んだ。そしてperlに出会った。
コラムスもどきを作ってから6年が過ぎていた。
perlで掲示版の書き込みをチェックし、madokaで遊んだ。CGIを書いたりした。
perlと出会ってから6年が過ぎていた。
はてなに出会った。JavaScriptに出会った。
Bookmarklet、greasemonkey、Ajax。オブジェクトだらけだった。
初めはゲームだった。でも最初だけだった。
気が付いたら24年が経っている。
今、pythonで書いている。
ようやく、言語の違いには慣れてきた。でも、まだLISPを使った事はない。
道はまだまだある。未知の世界につながっている。
作りたい物が本当は何かは分からない。作れる物が本当は何かは分からない。
どんなふうに動くのかは分かってない気がするけれど、分かっている事もある。
それが今の私のstatusだ。
PHPを使ってミニブログを作るチュートリアル:phpspot開発日誌
これが120ブクマされてる。
内容は、たったこれだけ。
Create a Basic Shoutbox with PHP and SQL - NETTUTS
簡単な掲示板のようなShoutBoxというものを作るチュートリアルです。
PHPソースコード、SQL、HTMLマークアップやCSSの作成の流れも分かります。
関連エントリ
一番大事なのは紹介されているページである、
Create a Basic Shoutbox with PHP and SQL - NETTUTS のはずだ。
結局何もやらない人ばかりブクマしてるんだな。
Sony Japan|プレスリリース | 液晶テレビ<ブラビア>の情報閲覧機能「アプリキャスト」個人向けソフトウェア開発ツールを公開
早速見てみた。
ここからBRAVIAに搭載されてるJavaScriptインタプリタのソースがダウンロードできる。
まんまSpiderMonkey。
つまりフルのJavaScriptの言語仕様がサポートされてるってこと。
http://anond.hatelabo.jp/20080909190118
ぱふぱふー♪
さて、増田があげた、例1と例2だけど、二つの「伝わらなさ」は原因が違うって気づいてる?
例1:これは[20080909192229]の人がほぼ正解だと思う。表面的な言葉の意味でなく《気持ち》を読まれたということ。まあ、増田にそんな気持ちが仮に無かったとしても、「(ひきこもりは)自分のせいだ」という言葉をストレートにそのまま言うのでなく言葉を選びながら言ったから、それが逆のメッセージとして伝わってしまった可能性もあるよね。分かり切った結論を回りくどく言われると人はそんな風に感じるみたい。だから増田はもっとストレートに言うべきだったよ。とりあえず下の、遅刻した生徒A、Bの話を聞いてどう感じるか考えてみるといいんじゃないかな。
生徒A「ええとね、そもそも昨日は野球中継があって見たい番組の放送が遅くなってまず寝るのが遅れたわけです。それは不可抗力とはいえその番組を見るという決断をしたのは自分なわけですからこれは別に言い訳というわけじゃないんです。ただそれが自分としては予定外であり悪気が無かったことだけは理解して貰いたいと思っているんです。もちろん目覚まし時計はいつも通り鳴りましたしそれで目を覚ましもしました。ただそのとき何か風邪でもひいたかのような寒気を感じて、体温をはかって見ようと思って、結局普段より5分は余計に時間を使ったんですね。それで着替えにかかったわけですが……」
生徒B「すいません。不注意で遅刻しました」
例2:これは、短気な相手がこちらの意図を理解しきれなかった典型例だと思う。相手がどう誤解したかは、最初の発言を三つにわけて、それぞれに脊髄反射してみると分かるんじゃないかな。ちょっと想像してみるよ。
(1)増田「俺はゲーム作りたいんだけど、C++とかどうしても身につかない。」
相手 =「C覚えたくない」ってこと? →「何?C++が難しいって、愚痴なの?泣き言なの?努力不足じゃん」
(2)増田「BASICならできるし面白いんだけど、今じゃBASICでゲーム作れないじゃん。」
相手 =「高度なプログラムしたい」ってこと? →「(゜Д゜)ハァ?ゲーム作りたいの?高度なプログラムしたいの?」
…こうして聞き手の頭の中には「C覚えたくなくて、かつ高度なプログラムしたがってる、ワガママお子ちゃま増田」のイメージだけできあがったというわけ。本当は(1)から(3)は一続きの流れのあるストーリー(「ボクはプログラムやめたい」)だったわけだけれど、相手の頭の中には断片だけが残って全く別のストーリーが作られたんだね。まあ増田の説明も冗長だったのかもしれないから、やっぱりこれも結論から言えば良かった、と、そこだけ反省点。でも基本的には相手が短気過ぎだよね(笑)。