プログラマーの日
「プログラマーの日」はコンピュータのデータを扱う単位である8ビットに256通りの表現があることから、1月1日から256日目にあたる9月13日を「プログラマーの日」としてロシアのマスコミュニケーション省が2009年に制定しました。
閏年の場合は前日の9月12日になります。
プログラマーの祝日があるぐらいですからロシアには他の職業についても祝日を制定していそうですが、実は「プログラマーの日」以外には制定されておらず、どのような経緯で「プログラマーの日」が制定されたのかは不明なのですが「プログラマーの日」が正式に制定される前からロシアのプログラマーの間では9月13日に非公式でお祝いをしていたそうです。
コンピュータのバグとして本当に虫が見つかった例がある
“プログラム”という言葉自体には様々な意味があるのですが、ここではコンピュータのプログラミングのことを指し、コンピュータプログラムを作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為のことです。
プログラムの歴史は意外と古く、最古のプログラマブルな機械(プログラムによって動作の変化を制御できる機械)としては、1206年にアル=ジャザリが作った二足歩行ロボットがあると言われています。
アル・ジャザリのロボットは、ボートに4体の演奏人形が乗ったもので、宮廷のパーティで池に浮かべて音楽を演奏したと言われており、そのプログラムはカムに設けられ、それによって小さなてこを押して打楽器を演奏するというものでした。
カムは実際には円筒にペグが突き刺された形であり、このペグの配置でプログラミングし、演奏パターンを変更したそうです。
1801年に開発されたジャカード織機がプログラマブルな機械の起源とされることも多く、この機械は穴を開けた一連の厚紙(パンチカードの原型)を使ったものでした。
穴の配列が布を織る際のパターンに対応しており、従ってカードを入れ替えることで全く異なる布を織ることができたそうです。
1830年頃には、チャールズ・バベッジがパンチカードを使った解析機関を考案しています。
このような先駆者の発明をさらに発展させたのがハーマン・ホレリスであり、1896年にタビュレイティング・マシン・カンパニー(Tabulating Machine Company、後のIBM) を設立しました。
彼はホレリス式パンチカード、タビュレーティングマシン、キーパンチ機などを発明し、これらの発明が現代の情報処理産業の基礎となったのです。
1906年には、タビュレーティングマシンにプラグボードを追加することで、組み替えれば様々な仕事ができるようになり、これがプログラミングへの第一歩とされています。
1940年代にはプラグボードによるプログラマブルな機械が各種登場し、初期のコンピュータにもプラグボードでプログラムを組むものがあったようです。
プログラミングをやっていく上で避けられないのが“バグ”の存在です。
“バグ(bug)”とは英語で虫(成虫)の意であり、転じてコンピュータプログラムの製造(コーディング)上の誤りや欠陥を表します。
この言葉はコンピュータの登場以前から、機械装置の原因不明な不具合をあらわす符丁として技術者の間で使われていました。
コンピュータに関してはグレース・ホッパー(米海軍の軍人、計算機学者)が、Harvard Mark II(アメリカの電気機械式計算機)のプロジェクトで働いていた時に、バグとして本物の虫を発見したという話があります。
ある日不調になったMark IIを調べたところ、リレーの間に虫(蛾)が挟まっていたのを別の技術者が発見し、彼女はこれを作業日誌にテープで貼りつけて“本物の虫が『バグ』として発見された最初の例”と書き残したのです。
この虫を取り除いたところ正常に作動したことから、バグを取り除く行為を“デバッグ”と呼ぶようになったと言われています(諸説あり)。
この日誌は米海軍歴史博物館に保管されているそうです。
近代ではコンピュータを使ったゲームも高い人気があり、当然ゲームの中にも“バグ”が見つかることがあります。
裏ワザと言ってしまえばそうなのかもしれませんが、悪用するとオンライン環境では他人に迷惑を掛けることになるケースもあり、最悪ゲームの寿命を縮めることにも繋がりかねません。
もしバグの疑いがあるものを見つけても触れずに、フォームから報告しておきましょう。
昨日は何の日?
9月12日
・宇宙の日
今日は何の日?
9月13日
明日は何の日?
9月14日