少し慣れてきた頃のお話。こなれ感がウザい。
IT系アカウントっぽくコードとネタをちょいちょい混ぜてきている。けど、「リツイート」も「リプライ」も「いいね」はほぼない。
当たり前さ。そもそも「フォロワー」が全く居ないのだから。Twitterの何が楽しいんだ?と疑問を抱いておりましたとさ。
オマエ、ナニジンダ?
オレ、シゴト、オワタ、ハナキン、ナニソレ、ウマイノカ?
— workout (@workout_it) March 1, 2019
金曜だというのに早くも帰れず、仕事に疲れて思うがままにカタカナでツイートしたところ、割と反響をいただきました(笑)。もう、何が反応を貰えるのか分かんねぇなと。
最近だとプレ金とかありますけど、花金って何か分かりますか?もしかして、分かっちゃいます?分かったあなたはきっと昭和生まれです。
「そうコーラを飲んだらゲップが出るっていうくらい確実じゃッ!」
映画マトリックスが現実ならば…
映画のマトリックスを見た時、衝撃だったと同時に現実にあり得るやん!って思った。今それが現実に起こってるのなら、少しいい夢ぐらい見させろよ!とも思う。
つまり、この世界は仮想ではないってこと。
これってトリビアになりませんか?
— workout (@workout_it) March 1, 2019
マトリックス面白かったですよね!リローテッド、レボリューションズと風呂敷広げ過ぎて「ついていけねぇ…」となったことは内緒です。
とりあえず、映画のざっくり概要として少しネタバレです。(もう何年も前の映画だしいいよね)
AI技術が発達し過ぎてAI機械と人間が戦争を起こします。
太陽光をエネルギーとしてAI機械が稼働しているので、人間達は空を壊し、常に暗雲が立ち込める世界にしてしまいました。
AI機械は太陽光以外のエネルギーを得ることを考え、人間の生きている間に発する熱をAI機械のエネルギーにすることが目を付けました。
そのために人間を捕らえて、カプセルの中で培養することにより、そのエネルギーを糧にAI機械が存続する道を得たのです。
そして、培養されている人間はずっと仮想の世界を見せられていると。全て2進数で作られた偽りの世界マトリックス。五感で感じるもの全てがAI機械の見せる電気信号の幻想。
そんな中、まだ捕らえられていない人間達によるAI機械への復讐が始まる。
うろ覚えでざっくり書きましたが、確かこんな感じです。えぇ、たぶん合ってます。
要は、今生きている世界は全て偽りである仮想世界で機械に生かされているのに過ぎないのだと。これには衝撃を受けました。マジであり得る話ではないかと。
だから、仮想の世界なら少しはいい夢みさせろよ!柳沢慎吾も言ってるし!と。でも、現実は辛いから仮想現実ではないよね?と。
こんな長々と書きましたが、何も反響はなかったため特にトリビアにはなりませんでしたとさ(笑)
あなたは何色?
switch(就職){
case 1時受け:
オフホワイト
case 2時受け:
グレー
case 3時受け:
ブラック
default:
ベンタブラック
}みんなは何色かなっ?
— workout (@workout_it) March 3, 2019
SESやゼネコンをご存知でない方に、説明すると間に会社が入ることを○次受けとなるのですが、法律的にはアウトなんですよね。
それをswitch~case文を使用して、振り分けられる会社の環境を表しています。ピラミッドだと底辺に行くほど黒さが増していくと。
ベンタブラックって知ってますか?光さえも吸収してしまう黒色塗料らしいです。すごいね。ヤバいね。3時受けを超えると全てそれに当たります。光ごとき吸収しちゃって全部まごうことなき黒。
このページを見ている方がベンタブラックではないことを切に願っています。むしろベンタブラックならworkoutまでご連絡くださいな。
そんなヤバい黒よりは、いい職場を提供できると思います。 ※ITエンジニアに限ります
プログラムと言語の関係性
プログラム言語は喋る言語と一緒。
バイリンガルの人に何かを伝える時に、日本語、英語、中国語、どれも言い方が違えど意味は同じなので、同じ結果が返ってくる。
要は、言語は目的ではなく手段でしかない。言語は何が使えるか?は重要ではなく、言語を使ってどんなシステムが開発できるのか?が重要。— workout (@workout_it) March 3, 2019
喋る言語を習う目的は何?って考えると「他の人に自分の思いを伝えたい」ということですよね。「何か言葉を習いたいから日本語を勉強する」とはならない訳です。
プログラム言語も同じで、「こうゆうアプリやシステムを作りたい」っていう動機から勉強を始めると思うんですよ。
現場では、即戦力を入れたいという意図もあり何の言語ができるか?というのが重要視されやすいため、その声が大きく聞こえてしまいますが…ね。
ツイと同じ内容ですが、「言語はあくまで手段であり、システムという目的を実現するためのもの」ということを常に意識していればエンジニアとして成長できます。

もちろん、workoutはバイリンガルなんやな?
えっ?僕はネイティブな日本人だから日本語しか話しませんよ(苦笑)

えぇ・・・(困惑)
エラーは無かったことに
上司「とりあえず動くようにしとけ!」
新人「はい。分かりました!」
bool Subfunc(){
try{
〜なんかの処理〜
return false;
}
catch(Exeption){
// 2019.XX.XX 正常動作にする修正
return false;
}
}— workout (@workout_it) March 4, 2019
ちょっと色々説明が足らなすぎて、何が伝えたかったのか分からないですよね(笑)

日本語でOKやで
意図としては、SubFunc()をコールするとエラーだろうがなんだろうがfalseが戻り値として返却されるというヤバさを伝えたかったと記憶してます。
割とやりがちなのが、エラーが出てるからということに囚われ過ぎて、エラーが出ないようにしておくというための対応がツイの内容となります。
これをすることによって以下のことが起こります。
- エラーが発生しているのに、あたかも正常に処理されたという振る舞いをする
- 詳細なエラー情報が分からない
つまり、エラー発生箇所の特定が非常に困難になります。コ〇ン君もびっくりの迷宮入りです。
正しい対処の1つとしては、Catchした際はエラーレベルを判定しログを出力し、SubFunc()の呼び出し元にはエラーが発生してたことを通知するべきです。
呼び出し元はエラーレベルを判定し、Warnレベルなら処理を継続、Criticalレベルならシステム停止などを行うといった形で制御するといった感じですね。

久々に真面目やん
一応、エンジニアを名乗ってますので、たまには…ね。
まとめ
- 花金に残業するとカタカナでツイしたくなる
- この世界はマトリックスじゃないかもしれない
- ベンタブラックは避けたい道
- 言語は重要じゃない
- エラーを握りつぶしちゃダメ絶対!
コメント メアドは任意