はてなキーワード: マシン語とは
同級生にベーマガとかプログラムポシェットに掲載される常連がいて、
というか、今から考えてみてもスゲー奴だよなぁ、偏差値高い高専行ったけど
そういう他人見ててスゲーなと思いつつ大学までプログラミングはやらんかった
大学入ってCをやるも何かが作れる感じではなかった
でも、描画が遅くて自分よりメガデモとか書けるような人の方がバリバリ高速なの書いてた
学部1年の頃はまだCというかまともなプログラムも書けなかったけど、
情報化じゃないから論理回路とか材料工学とか材料力学もやったけど、
建築工学の建築力学(材料力学)のモーメントとかそのまま使える
あと、大学入って実家で親が捨てようとしてたMSXを持って帰って、
MSX買ったときに親がマシン語の本とかMSXの規格のマニュアルとか買ってたので、
それを再勉強したら、子供の頃理解できなかったことが普通に理解できるようになってた
自分のMSXにはマシン語開発の簡易的な環境が入ってたのも大きい
71年生まれ
大学入学までゲーム禁止の家庭で育ったのでゲームに作られた感触はあまりない
けど娯楽としては本、漫画、アニメとおなじくらい優秀なので後にシリーズ化したゲームは初代ならほとんどやってると思う
・ゲームウォッチ 小学校のころ親がハマってどっかのフェリーから海に捨てるところを見たとおもう、後で思うとタイタニックかよ。そうでもしないと決別できなかったようだ
・(ファミコン)ドラクエ1 最初に自分で買った据え置きゲーム機に差し込んだソフト。なお中学ごろ一瞬だけmz731にoh!mzにのってたマシン語手入力でいろんなゲームやってたことがあるけどどっかで数字まちがえてバグってたのでそのうち飽きた
・(ファミコン)麻雀 うちの父親が即降りピンフで学費を稼いで大学にいっていた話が聞けた
・セガサターンとかプレステのキラーコンテンツもろもろ(バーチャロン、パラッパラッパー、サクラ大戦やら同級生あたり)→サークルの友人、なかでものちに伴侶となる人とけっこうやってたし結婚してもバーチャスティック2台も買っておいてた
・(ドリキャス)PSO 子供が乳幼児のとき夜泣き紛らわすためにやってた、初めてギルドが雑誌に載った、初めてオフ会にいった
・葛の葉ライドウ2作目 自分がやったことがあるのを子供が覚えていた
・外国のフラッシュゲームhttps://pya.cc/pyaimg/pimg.php?imgid=22468 自分がプレイしたことがあるのを子供が覚えてた
・(PC、VITA)PSO2 家族3人でアカウントとって緊急まわったりしてた、子供が高学年か中学生だったけど親と一緒ならギリギリプレイOKだった(R12だか)、中学生プレイヤーが珍しいからフェスタで壇上に登って即負けしてきた、ガチPCプレイヤーの自分が真っ先に飽きてスパっと止めて子供にもやんわり止めさせた
・(PC、スマホ)グラブル 家族の誰にもはまらせなくてよかったブラックゲーム。明日から古戦場だけど逃げようとおもってる
・(スマホ)FGO 家族3人でやってる 今日の18時からまた新規だな
11本になったな タイトル書くだけで、移り住んだ4軒の家のどこに据え置きや充電器をおいてたか思い出せる
あとはもう他人にすすめられてやったゲームとか100や200は超えてるとおもうけど並べる気にはならないなぁ
ノベルゲームも面白い、ラノベ買うよりずっとかさばらないので安いとおもうようになったがwin10で動かす方法がよくわからんので箱捨てたい
最終的にはマシン語最強ってことか
コンピュータのマシン語は命令文もデータも数値で表す。これは今も昔も同じ。
数値だけでは人間が管理しづらいので命令文を mov や add のようなわかり易い単語に置き換えたのがアセンブラ。
複数の処理をひとまとめで扱うサブルーチン・関数・プロシージャ・ファンクションと
いったものができた。
(カプセル化)
アプリケーションからOSの機能を呼ぶシステムコール・APIが生まれた
(ブラックボックス化)
複数のクラスやコード、データをひとまとめにするにモジュールができた。
(カプセル化)
プログラムを外部から操作するRPC、CORBA、SOAP、RMIができた。
IaaS / SaaS / PaaS を使いネット上のサービスにつないでシステムを構築する。サーバ管理不要に。
(ブラックボックス化)
(操作の簡略化)
Docker でWEB/DB/KVSなどをまとめてコマンド1つで扱えるようになった。
残酷だが「職業訓練でプログラミング」という人たちはこの業界はあきらめた方があなたのためにとって良い。
そのような人の上司になったことが何度もあるが成功した人を見たことがない。
とはいうものの、私も35歳から異業種転職にてアプリ屋になったが、転職直前の段階でC/C++/Pascal(Delphi)/html/js/SQL が書けた。
10代前半から8bitCPU(特に名を伏せる)のマシン語(ハンドアセンブル、つまり16進数直書き)でプログラムした経験がある。(もちろんBASICもある)
8bit時代ならメモリー増設の設計・実装(ハードウエア)ができた。
一応そのような状況ではあってもプロに知り合いもなく心配だったので、
(当時)第二種情報処理技術者試験に3週間の勉強(1.0/日程度)で
一発合格しなければ転職しないというような目標もたててクリアした。
技術的には 0 スタートではかったからこそ転職にも成功できたと思っている。
おっさんで技術的知識・経験ほぼ 0 スタートはきついでしょ。
第一に、発端となった元ツイートには「非エンジニア新卒女子」とはっきり書いてあるのに
《旧式言語を学ばずに関数型言語一本槍でエキスパートを目指すような感じの方》
《「まず軽く触れてみよう」とか「趣味でやってみるか」といった程度ならいいのですが》
《実際には肝心なことを何も知らないのに、なんか知っていると思い込んでいる状態が、私いわく「脳味噌膿んでる」》
ひどい書きっぷりだよね。
もし自分が当事者だったら「見ず知らずの人になんでここまで言われなきゃいけないの」と傷つくと思う。
第二に、下位層のレイヤーについて知っていなければ上位層のことをちゃんとやる資格がない
という態度が明らかに本人のダブルスタンダードっぷりを示している点
と言いたいのだと思うけど、最近のCPUはマシン語に書かれていある命令をそのまま実行しない。
インテルの場合もCISCの命令セットで記述されたコードをRISC的なマイクロコードに分解・解釈して実行する。
さらに内部はパイプライン化されているため、単純に「1命令ずつ逐次実行」されてもいない。
外側から観察するとあたかもマシン語の命令列をひとつずつ逐次実行しているかのように振る舞っているだけだ。
マシン語のコードで記述されたプログラムが、命令通り入力と出力を繰り返すなら、内部でどのような先読みや予測分岐を繰り返していても問題ない?マシン語の忠実な実行装置とみなしてよい?もちろん回路の設計ミスで誤動作するかも知れないけど、それがプログラマの「根本的な過ち」になる?
OCamlの世界で記述されているロジックが、OCamlの仕様通りにちゃんと動作すれば、その下位層にあるマシン語がどういうパラダイムで記述されていても関係ないと考えていいと俺は思う。
余談1
くだんの女子について、周辺のツイートを見てみると(完全に部外者の憶測だけど)Railsを主力とするソフトウェア企業に非エンジニアとして新卒で入社した新人がプログラミングに興味を持ったのに対して上司がOCamlの本を教科書として渡したのでそれを学んでプログラミング考え方を身につけた。その後Railsについても学んでみようとしたが、考え方のギャップに強い違和感を覚えた。…という経緯みたいだ。
余談2
https://twitter.com/camloeba/status/611051620877537281
https://twitter.com/sessoh/status/611052396161183744
このやりとり、拙僧さんが「肝心なこと」と思ってることを卯之助さんは「重要でない」と言ってるんじゃないですかね。
せっかくなので、通信メディアの個人史を書いてみたい。自分のブログでやっても良いのだが、わざわざ誘導するのも申し訳ないので増田で書くことにする。あと、前半部分は「通信メディア」の話ではない。
ぼくが初めてパソコンに触れたのは小学校4年生のころだった。当時、既に型落ちだったNECのPC-6001を買ってもらったのだ。当時はまだ「パソコン」か「マイコン」かで名称が統一されていなかった時代でもある。記録媒体はカセットテープ。ゲームをするためにはまず、何十分もかけてロードをしなくてはならない。あとちょっとでロード完了というところでエラーが出たりすると泣きそうになった。
市販のゲームは高価だったので、ぼくは当時の多くのパソコン少年と同じく、雑誌の載っていたプログラムをよく入力していた。姉の使っていた譜面台にパソコン雑誌を乗せ、そこに掲載されたプログラムを延々と入力していく。もちろんミスが多発する。エラーが出ると雑誌とにらめっこをしながら、どこが間違えているのかを必死で探す。デバッグがすべて完了するころにはゲーム自体に飽きているということもよくあった。
当時はまだ、パソコンのメーカーがそれぞれの独自の規格でPCを開発していた時代だった。しかも、同じメーカーのパソコンであっても機種が違えば互換性がないことが多かった。だから、NECのパソコンのソフトがシャープのパソコンで動かないのは言うまでもなく、PC-6001はPC-8001よりも新機種であったにもかかわらず、後者のプログラムは前者では動かない。パソコン雑誌で他の機種用の面白そうなゲームプログラムを見ては悔しい思いをよくしていた。移植をする技術はぼくにはなかった。
その後、中学校に上がると、ぼくのパソコンはPC-8801mkII FRになった。名機と言われたPC-8801mkII SRの後継機だ。記録媒体は5インチのフロッピーディスクになり、一瞬でセーブやロードができるようになった。ただし、中学生にとってフロッピーディスクは高価な代物で、500円で10枚入りという安売りのものを愛用していた。ちなみに、安いディスクだとドライブに入ただけでシャカシャカシャカシャカ…という音がする。仲間のあいだでは「シャカシャカディスク」と呼ばれていた。
せっかくの新マシンではあったが、やはり用途はゲームだった。雑誌に掲載されるプログラムも徐々に高度になり、マシン語を使ったものも多かった。01 C3 AA 90…みたいな文字列を果てしなく入力していく作業はかなりの苦行で、エラーが起きると手に負えなくなることも多く、挫折ばかりしていた。
なお、当時はすでにパソコン通信が始まっており、PC-VANやアスキーネットなどの大手もすでにサービスを開始していた。当初は音響カプラという装置を使っていたのではないかと思うが、詳しくはわからない。ぼくにとってパソコン通信は遠い世界の話で、雑誌でたまに見る程度のものだった。
中学3年生になり、高校受験を控えたぼくは、何を思ったかパソコンで受験勉強をしようと思いついた。受験RPGなるものをN88-BASICで作ろうとしたのだ。街を歩いているとモンスターに遭遇する。そのモンスターが出してくる問題に正解すれば、プレイヤーは経験値を稼げる。最終目標は名門ナダール高校への合格という、ゲームと勉強の両立を目指したものだった。結果はまあ、書く必要もないだろう。世の中にそんな都合のいい話はないのである。
高校に入学すると、ぼくの関心はパソコンから遠ざかっていった。部活が忙しくなったほか、当時のバンドブームにのってギターなどを始めてしまったからだ。無論、このあたりはぼくの黒歴史になっている。
ちなみに、ぼくとほぼ同年代の英国人ライター、スティーブン・プールには『トリガー・ハッピー』(2001年)というテレビゲームの歴史を扱った著作がある。この本を読んでいると、高校時代にゲームから離れてバンドをやるところまでまったく同じだった。ここには国境を越えた何かがもしかするとあったのかもしれない。
しかし、大学受験を前にして、ぼくは再びパソコンに向かい始める。3年前に挫折した一大プロジェクトである受験RPGの製作にふたたび乗り出したのだ。アホだ。予備校の夏期講習を受けながら、頭のなかで構想がどんどん膨らんでいった。
技術は全く進歩していなかったが、根気だけはついていた。ゲームの目標を大学合格に切り替え、パソコンのメモリの少なさに苦労しながら様々なアイテムやイベントまで用意した。しかし、言うまでもなく受験には全く何の役にも立たなかった。大学受験が始まる数日前、ほんの気晴らしのつもりで始めたドラクエ3を受験日程がすべて終了するまでにクリアしてしまったのが悪かったのか、1年目のぼくは受験に失敗し、浪人生活に突入したのである。
1年間の辛い浪人生活を経て、ぼくは東京の私立大学になんとか滑りこむことに成功した。入学式当日、知り合いの誰もいないキャンパスを一人で歩いていると、同じく新入生とおぼしき一団が歩いていた。彼らの一人が「あいつのポケベルの番号、いくつだっけ?」と言うのを耳にしてぼくは衝撃を受ける。東京の学生はポケベルを持っている!ぼくにとってポケベルというのはサラリーマンのためのツールであって、普通の学生が持つようなものではないと思い込んでいたからだ。
入学式の時点でグループができているということは、彼らはおそらく付属校か東京の進学校の出身者のグループだったのではないかと想像する。この時点ですでに情報メディアの利用をめぐってかなりの格差が生まれていたのかもしれない。
いずれにせよ、その後のぼくの生活にやはりポケベルは無縁だった。女子高生のあいだでポケベルが流行っているというのも別世界の話題だった。女子高生の妹がいる友人によると、メッセージが来るとすぐに返信しないと仲間はずれにされかねないということだったので、それはそれで大変そうだと思ったのを記憶している。
その一方で、大学に入学してから、ぼくは固定電話と大変に仲が良くなった。一人暮らしを始めたこともあって、友人とよく長電話をするようになったからだ。コードレスではなかったので、硬い床に寝転がりながら何時間も話をした。「いやー、今日はよく話したよね。ところで、いったい何を話していたんだろうね」などと会話を振り返り始めることで会話がまた長くなるという、まったく生産性のないことをよくしていた。ただ、こうした長電話はぼくに限った話ではなく、わりと一般的に行われていたのではないかと思う。一人暮らしの寂しさを紛らわせるうえで固定電話は重要なツールだったのではなかろうか。
あるとき、風呂にお湯を張っていると、たまたま当時好きだった女の子から電話がかかってきたことがあった。話しているうちに浴槽が一杯になった。コードレスではないので電話をしたままではお湯を止めにいくことができない。だが「お湯を止めてくる」と言えば、電話を切られてしまうかもしれない。そのため、浴槽からお湯が溢れるのをただ眺めながら会話を懸命に続けていたことを思い出す。
ぼくが「インターネット」という言葉を初めて聞いたのは国際政治の授業だった。大学2年生のころだったから1994年のはずだ。日本でもインターネットの商業利用は1992年にすでに始まっていたが、パソコンに関心を失っていたぼくには全く無縁の話だった。大学のパソコン室でタッチタイピングは修得したものの、授業で履修したC言語はあっさり挫折した。数学が果てしなく苦手だったぼくは、理解できない数式をパソコンに解かせるという作業について行けなかったのだ。
大学2年生の終わりごろ、ゼミの選考があった。メディア系のゼミを志望したせいか、志望者には新しいもの好きが多かった。面接の待機場所では多くの志望者が携帯電話を持ち、お互いの番号を交換していた。衝撃的な光景だった。彼らは無意味に相手を電話にかける遊びなどをしていたので、単に見せびらかしたかっただけかもしれない。
しかし、ぼくが携帯電話、というよりPHSを購入したのは大学4年生も終わりに差し掛かったころだった。1996年から1997年にかけて携帯電話・PHSの普及率は25%から46%に跳ねがっているが、こうした指標では若者が先行しがちなことを考えると平均的か、やや遅いぐらいではなかったかと思う。
当時は街のいたるところでPHSの安売りをしていた。今川焼を売っている店でさえ扱っていたぐらいだ。PHSを1年ほど使い、その後はドコモの携帯電話に切り替えた。通話が途切れやすいという難点はあったものの、PHSのほうが音質は良かったのではないかと思う。
他方で、大学3年生になると、ぼくは再びパソコンに関心を持つようになった。1995年、ウィンドウズ95が発売された年である。「インターネット」という言葉が急激に人口に膾炙していった。大学のパソコン室で友人に電子メールを送るようにもなった。当時はメールが来るだけで嬉しかったものだ。ブラウザはまだモザイクを使っていた人が多かったのではないかと思う。しかし、当時のぼくはまだブラウザという概念を理解していなかった。周囲のひとが「モザイク」という言葉を口にするたび、それはエッチな何かなのかとあらぬ妄想に浸っていたのだった。
ともあれ、エプソン製のノートパソコンを購入し、自宅からインターネットに接続するようにもなった。大学の授業でホームページを作ったという友人に刺激を受け、自分でも卒業の直前ぐらいに朝日ネットでホームページを立ち上げた。いまでもそのアドレスにはぼくのホームページが置いてあるので、もうかれこれ20年近くになる。先日、インターネット・アーカイブで自分のページを探してみたところ、16年ぐらい前まで遡ることができた。若気の至りというのは本当に恐ろしいものである。
もっとも、ぼくの目線からすると、当時のインターネットはそれほど面白いものではなかった。今ほどに情報が充実していたわけでもなく、それを探すためのスキルもなかった。ぼくにとってインターネットよりも面白かったのがパソコン通信だった。当時、すでにパソコン通信の時代は終わりつつあったはずだが、それでも見知らぬ人たちとやりとりをするのが面白くて仕方がなかった。もちろん喧嘩も多く、罵り合いをなんとか仲裁したいと思いつつ、結局はうまくいかないということばかりだった。
ぼくが参加していたのは朝日ネットのフォーラムだが、恐ろしいことにいまでもログインすれば当時のログを見ることができる。「ネット上からはとうに消え去ってしまったはずの今なき父親の情報が、パソコン通信のログに残っていることを主人公が発見する」というフィクションを考えていたのだが、興味のあるひとは使ってみてください。
その後、パソコン通信は急速に退潮し、インターネットの時代が本格的にやってきた。ネット上で怪しい情報が飛び交うサイトがあるということを最初に教えてくれたのは知人だった。言うまでもなく「2ちゃんねる」である。それ以前にも「あやしいわーるど」や「あめぞう」といった掲示板はあったはずだが、それらはぼくの全く知らない領域の話だった。
…と、ここまで書いて力尽きた。ここから先は特筆すべきこともあまりないので、唐突ではあるが、このあたりで終わろうと思う。ずいぶんと長くなったが、最後まで読んでくれたひとは果たしているのだろうか…。