プログラマーの不要になる世界とは?
・プログラムされた機械が世の中を動かしている
・世界の人間全てが堕落する
・地球が滅ぶ
プログラム〔もどき〕の仕事の代償
今の仕事は好きです。望んだ仕事ができるのは嬉しいです。
挫折とやる気の無さから生じる悪循環
色々なプログラムに関する言語を覚えたいというのはある。
しかし、入り口で挫折することがほとんどなのである。
・言語の意味がわからない
・サンプルを見てどれがどういう意味で動いているのかがわからない
・ものすごくシンプルなものを作ったのに動作せず、どこがいけないのかがわからない
・そもそも"Hello World"が大嫌い
というやる気の無さから
やる気が出ても上手くいかないで時間だけが経過して飽きて諦める。
というのが私です。
特にデータベース関係はその仕組み自体が分からずで避けていました。
今の仕事では必須なのでなんとか時間を頂いて習得中です。なんとかおぼろげながらも仕組みが分かってきて、VBAからクエリの変更と実行はできるようになりました。
また、javascriptもただ流用していただけではなくて動作の仕組みがようやくわかってきたので少しずつ小さなものを作っています。
40代のオッサンだから理解と吸収が遅いです。地道にやっています。
自分が「プログラマー」だと声に出して言いたいが言えない自分の取り組む姿勢
自分が作ったものにエラーが絶対に発生しないという考え方は無い。エラーとは予測不可なものであり、どれだけ試行錯誤しても自分が使うわけではなく他人が使うものだからこそエラーは起きるものだと自分に言い聞かせている。
最も言いたくない言葉は「仕様です」という回答である。これは暗に「無理です。自分には出来ません。」と言っているようなものだからだ。本当に無理であれば「仕様です」とは言わずに「今の自分では出来ません」とはっきり答える。
今はやったことの無い仕事も「出来る」「出来ない」とは答えない。「やってみます」とだけ答えるようにしている。出来たらそれでよし。出来なけばどこに問題があるのか、どこが解っていないのかを突き詰めていく。
それでも時間は無限にあらず有限であり引き際は決めている。その時は「現状では無理のようです。」と答えるだけだ。
私がGOTOを使わなくなった理由
GOTOは便利だった。昔のBASICは行番号での管理だったからどこの行番号に処理を飛ばすのが当たり前だった。無限ループが簡単に作れたし、フリーズが無かった(と、思う)。
でも、時代が変わるにつれてGOTOを使うのもためらうようになった。コードの先頭から末尾まで流れていく形が非常に見やすいことに気づいてからあちこちに飛ぶような組み方を嫌うようになり、GOTOそのものを使うことが無くなった。唯一、GOTOが使われるのはエラーが発生したときの割り込みでしか使わない。
決してGOTOを悪や不必要だとは言わない。ただやたらと使うことをやめたということだけだ。
まじめに言語を覚え始めた遍歴
12歳 F-BASIC86
父親のマシンでFM16βが最初。5インチFDDが2機あるやつでHDDなんぞなし。
配列変数とか三角関数とかグラフィックとか。
後にFMR-50HDとなりHDD搭載となる。
19歳 N88-BASIC(86)
前職となる会社にアルバイトとして雇用される。
最初はほかの人たちと同じで作業側だったけれどたまたまBASICを使ったことがあるということで技術部の人から会社で使用しているPC-9801UXで稼動しているプログラムのメンテナンスを叩き込まれる。主にシーケンシャルアクセス、ランダムアクセス、RS232Cの入出力などを叩き込まれた。
24歳
そのまま何も考えずに社員となった。大型電源のメンテナンスやシーケンサーを用いた自動作業回路の配線とか、エアーコンプレッサーの配管なども覚えた。
30歳 VBA
PC自体の進化と共に既存のN88-BASIC(86)で動かしていたマシンも入手不可となったため、Windowsで稼動できるエミュレーターソフトを購入して無理やり稼動。また、PCを追加や故障での交換等で購入する時もBTOメーカーから発注しRS232Cポートを付けてもらう等の注意を払った。
が、流石に既存のシステムでも機能拡張が限界となったためここでExcelVBAで新たに組むこととなる。BASICと名は付くが、まったく勝手の違う組み方に戸惑い、無限ループでフリーズすることを実体験したり、新たに通信方式をRS232CからUSBに変えたりと試行錯誤してようやくリリースが出来た。
初めての中規模システム構築でリリース後にバージョン変更を何年も重ねて使われていた。
33歳 VBA
部署の移動で機械的分野から物流分野になった。ここでは商品在庫の管理や完成品の入庫、注文品の出庫および出荷で在庫の移動管理が手動及び紙媒体で効率が恐ろしく悪く、22時まで作業が続いているという自体を改善するために半自動化に取り組んだ。
最初に手をつけたのは完成品が入庫される場合は入庫予定のリストを自動で作成。リスト漏れや重複があっても警告がでるようにした。でも、最終的には人間が確認するようにしている。
次に着手したのは完成した入庫リストを元に商品別に在庫の帳簿に自動で記録されるシステムを作成。これにより、どの完成品をどの場所に保管するとかをはっきりさせた。
最期に作成したのは注文された商品の出庫と作業員用の商品取り出しリスト自動印刷のシステム。ロジスティック部門から客先別の出荷シートが送られてくるのでオペレーターは出荷番号を入力することでシステム側が自動的に必要な商品を製造日の古い順から先出しするようにリストを作成、印刷。品出し作業員はそれを元に必要な商品を取り出し、梱包作業員に渡すという流れを構築。
この一連のシステムで年間十数件の出荷ミスを1~2件あるか無いかにまで抑えた。また、作業時間も夕方18時に来る荷受トラックを待たせることが減り、遅くとも20時には作業を終えられるようになった。
39歳
今までの会社での人間関係に疲れきっており、早期退職募集があったことから志願。野に下りニートとなる。
現在 ExcelVBA AccessVBA HTML javascript SQL
新たにシステム構築を求めている企業に勤め、新たなことも覚えながら今までの経験を生かして今日もシステムを構築しています。