はてなキーワード: プログラミング言語とは
・・・ この本、面白そうなんだけど、取り上げられている言語が「Ruby、Io、Prolog、Scala、Erlang、Clojure、Haskell」なので、ある程度プログラミングの経験がある人が対象かな。たぶん複数の言語を多少なりとも使ったことのある人向けかと。
ちなみにオックスフォード大学では1年生向けの最初のプログラミング言語として Haskell が選ばれているとか。凄いよね。そして彼らが2番目に教わるのが Oberon だとか。言語の定義が最もコンパクトな言語だからとか。(ケンブリッジ大学で最初に教えるのは OCaml だそうです。)
中華包丁持って意気揚々とフランス料理屋の厨房に来られてもちょっと困る
道具(プログラミング言語)を選定するということは対象分野(例えばWeb系なのか業務システム系なのか等)をある程度定めることになるのが現実だよ
もうすでに執行猶予も終わってしばらくなので、書いてもいい頃だと思う。
関係者に迷惑かからないように一部にフィクションを入れているが、おおむね事実だ。
だが、おれにはそれが強烈なコンプレックスだった。
某ファーストフード店と書いたが、ファーストフード店の名前を3つ挙げてと言われたら必ず出てくるであろうぐらい有名なファーストフード店だ。おれも学生時代はよく通っていた。
しかしそこに就職してしまったのが、なぜか俺の中で消化できないコンプレックスになったのだ。なんだか、客だったのに働いてる側になってしまったというか、言い知れないような不快感だ。
それでおれは働いているそのファーストフード店のこと自体が嫌いになった。
さらにはそのファーストフード店を悪く言ってるやつ(!)のこともどうしようもなく嫌いになった。
こう言語化してみると意味不明だ。だっておれ自身が働いている店が嫌いであり、さらにはその店を悪く言われるのが嫌いなのだ。
多分頭がおかしいんだと思うが、まあ聞いてくれ。本番はこれからだ。
ところで、おれには中学生ぐらいのときから某大手掲示板を見るという習慣があった。
しばらくは見るだけだったが、次第には書き込むようになり、ついにはヘビーユーザーになった。
俺が見ていたのはある総合雑談板のような場所だったのだが、そこには衣食住さまざまな話題が出る。
そこでたまに見かけるのが「俺が働いているファーストフード店の悪口」だ。
なにしろ、有名なファーストフード店だからまあまあスレも立っていたし、その掲示板ではそのファーストフード店のことを悪くいうような風潮があった。
先ほど書いた通り、おれ自身もこのファーストフード店のことが嫌いだから「まずい」だの「高い」だのスレ住民と一緒になって悪口を書き合っていた。
しかしある日、なんだか悪口のレスを眺めているうちに、そこで自分が働いているということとの整合性が取れなくなっていき、おれはスレを手動で荒らし始めた。
手でポチポチ書き込みボタンを押してスレを潰していくわけだが、当然手動の速度だと高が知れている。
なので、おれはまずマクロツールを使った。ただ単に指名した場所をクリックすることを繰り返すだけの簡単なものだ。
そしてそのファーストフード店のスレが立つのを確認すると、マクロを起動し、高速でスレを潰していった。
ファーストフード店の話題など常に上がるものではないが、まあ1日に最低1回はスレが立つ。それなのでおれは掲示板をずっと(一日中。仕事中まで)監視し、見つけ次第マクロを起動しスレを潰していった。
しかしこの小学生でもできるようなマクロ作戦にも限界が訪れた。連投規制とホスト規制だ。
連投規制はルーターのコンセントを抜くだけで回避できたのだが、ホスト規制はどうとも出来ない。
おれはVPNを使うことによってホストを偽装する手法などを試した。VPNはすでに別の荒らしが使用しているために使えないものなどが多い。よって、手動で使えるVPNかどうか確認していたのだ。
こうなってくるともはやノイローゼのようであり、現在進行形でファーストフード店で働きつつ、仕事中にも関わらずスマホで掲示板を確認、ファーストフード店のスレを見つけたら、自分の自宅にあるPCを遠隔操作し、マクロを起動するということをやっていた。
しかし単純なマクロだと同じ文章や同じ間隔でしか連投できず、やがては規制されてしまう。
規制されてスレがうまく潰せないと、おれは文字通り発狂し、部屋の壁紙を剥がしまくった。
おれは手動で発見する方式のマクロではもはや手に負えないと思い、プログラミングを学ぶことにした。おれは今までプログラミング言語など一つも学んだことがない。そもそも法学部出身なのだ。
それなのに、おれは掲示板を荒らすためだけに主にPythonとC++を身につけた。スレを潰すという目的を考えると、すらすらと身についた。日本語でコードを書いているのと同じ感覚になった。
コードはまず「ファーストフード店」の名前が書いてあるスレッドを自動で取得。適切なIPアドレスリスト(手動でリスト化したもの)を選び、ランダムな文字を生成、連投や規制に引っかかるとリストから削除、またリストからIPを選び連投することを繰り返す方式にした。
しかし自宅のPCやwifiでやると逮捕されるのでは?という懸念が頭をよぎり、おれはUSBから電源を供給されれば動き続けるラズベリーパイを使用し、wifiから全自動でファーストフード店のスレッド荒らし続けた。
末期にはVPNの手動選定に時間がかかりすぎるという問題を解決するため、自動で掲示板に書き込めるかどうか判定するコード書き、ついにはおれは些細なエラーを修正すれば全自動でファーストフード店のスレッドを荒らせるようにしていた。
その頃にはもうファーストフード店なんてとっくに辞めており、実家でニートをしていた。
全自動で荒らせるとなっても、たまにコードから漏れたスレッドがあるため、おれは起きている間ずっと掲示板を監視し続けた。
そしてある日の早朝、おれは逮捕された。
詳細は控えるが、主要な罪は不法侵入だ。というのも、おれはWifiが拾えてかつUSBがさせる場所を探しては、無断で侵入してラズベリーパイをさしていたからだ。
さらにはひとつだけでは心配になり、数ヶ所に設置していた。余罪も追求され、すべて自白した。
そうして今ここにいる。おれは無職だ。
あれ以来、掲示板は見ていないと書きたいが、そんなことはない。
もう30もなかばになって、おれは貴重な人生の時間をなんて無駄なことに使ってしまったんだろう、なんで今もその貴重な時間を浪費し続けているのだろうか?と自問自答している。
雑草はけっこう奥が深い。
雑草といってもそうひとくくりにできるわけではなく、ひとつひとつ名前がついていているのだ。スマホの植物AI分類アプリで雑草の種類を調べている。もう、それだけの人生だ。
大多数のITエンジニアがやってる「勉強」って「特定のフレームワークのAPIを覚える作業」とか「新しいプログラミング言語のチュートリアルをなぞる作業」とか「民間資格の過去問を覚える作業」とかだし、そんなレベルだったら他の職業の人も十分やっとる
もっと大事なのは、抽象化能力・論理的思考を鍛えることとか、既存フレームワークの車輪の再発明をしてみるとか、おいそれとは陳腐化しない低レイヤーの知識、コンピュータアーキテクチャやネットワークプロトコルスタックとか線型代数や離散数学やらの数学含めた計算機科学の知識をつけることとかだと思うんよな
・統計(3級)
・プログラミング言語とかサーバーミドルウェアとかDBとか設計技法とか歴史とか色々
未経験かつ他職種からITエンジニアに転職した、転職後5年ぐらいは本当に勉強することが多かったがそこは若さからくる自信や体力で乗り切った。
もうすぐ40になるけど、最近ではプラットフォームに関する知識をアップデートしとけば特に勉強することも無いなと思っている。
定期的に新機能出ましたとかその程度でパラダイムが大幅に変わるものなんてそうそう出ないし、出たとしても学習のロードマップが綺麗に整備されていてそれに従えばいいだけ。
一部の尖ったエンジニアが道を整備してくれるのでそこを歩けばいいだけだ、非常に楽だと感じる。
勉強は常にしないといけない。
他の業種のことは想像でしか分からないが飲み会に積極的に出なくてもいいし(仕事で大事なコミュニケーションは論理的な部分に寄っているので)、リモートワークしやすかったりと勉強するための時間は確保しやすい特徴はあると思う。
それを考えれば他業種の時間の使い方と勉強はトレードされたものって考えればいいんじゃないかと思わなくもない。
一部の尖ったやつとそれを模倣して頑張ってるつもりの人間は相手にせず使える時間を有効に使えばそれでよいと思う、若いうちはどの職種でも学ぶことが多いのは代わりないだろうし比べる相手を間違えているだけなんだよと言いたい。
プログラムも一種の文章であり、他人の日記を読めば意味不明な記述ばかりで読みづらいのと同じで、仕方ないことなのだ。
と周りに伝えたら、共感してもらえなかった。
私の職場はプログラミング専業じゃないわけで、そこで書かれるプログラムなんて、やりたいことを実現するための念仏でしかない。
その記述方法に気を払う余裕なんてなくて、だからこそ個人的には、プログラムは自意識が無意識に溢れる「日記」なんだと思っているのだが。
ちなみに、周りの人間は「正しいプログラムの書き方」みたいなものを語っていたが、そんなものは「正しい日本語」くらい、どうでもいい概念だ。
車輪の再生産なコードだから、プログラムの本質が失われるとでもいうのか?