はてなキーワード: Javaとは
増田は40代前半。新卒はまさに氷河期でSESに就職していらいIT業界に居続けています。転職は数回経験済み。
新卒や20代からの氷河期への侮蔑を感じる。努力不足って感じの。
でもそもそも20年前と今じゃITも含めての周辺環境が違いすぎるのに努力不足の自己責任って言われるのはやっぱ納得がいかない。戦国時代の合戦見て「俺なら~」言う感じのなろう系かよ
まずこれ。転職をなんとも思わなくなった。20年前は同業他社でも転職は難しかった。新卒辞めて出来るのは公務員試験とかかドブラックへの就職のみ。今以上に年齢と能力が釣り合わない募集しか出てなかった
イメージとともにしやすさも一気に変わった。紙の履歴書と職務経歴書なんて消えた。今も求める企業はたぶんヤバい。アプリやサイトで申し込みしやすくなった。昔のような自分の足で見つけるとか人脈が無いと見つけられないとかがなくなった。
やっぱ残業が消えたのは大きい。今もあるところはあるだろうが奴隷の鎖自慢か上が下手なだけ。時間があれば何かに取り組む余裕は出る。
自分の新卒の頃はJavaがメインだったが、今のPythonやJavascript、各種フレームワーク、Dockerとかってとにかく分かりやすい。C#は相変わらずだしMSのドキュメントは未だに読めないレベルだが、要は興味を持ってスキルアップしやすい。あの時代にJavaを理解できて高められた人は努力とかでは片付けられない。
主にユーザー側。馬鹿が居なくなった。20年前はほんとIT音痴が多かったのでプロジェクト破綻は当たり前、そしてユーザーが強かった。精神が安定するのは何かをなすのには最重要。
特にノートがそれなりの性能と価格になったのは良い。プログラム稼働環境も高スペックを必要としなくなった。自宅で勉強しやすくなった
ネットで情報収集や勉強するにも負荷だった通信料もだいぶ安くなった。というかほぼ無料。
やっぱ色んな情報がネットに集約化され、更に正誤も判定され質の良い情報を簡単に無料で手に入る用になった。結果回り道が発生しない最短最適化のルートをたどることが出来るようになった
1コ前とおなじになるが、資格の取得も最適解がもう見つかって実務経験0でも高度資格取れるようになった。詰め込みの可否はともかく20年前のような個人で五里霧中な勉強はもはや無い。
今の世代が1の努力する5倍の手間と努力で同じ1の成果を得たのが氷河期世代。それに対して「なんで1の努力しなかったんですか?」って言うのだからわかりあえない
でも「1の成果のためには5の努力必要だったんだよ」って言っても時代の空気もあるので理解してもらうのは難しい。ほんと1程度の努力で1の成果がもらえる君等が羨ましいし、氷河期世代を自己責任という同年代と上の世代は大半0.5の努力に4.5の親と運だからマジで害悪
「ハーイ!ジョージ!」の頃はまだ良かったんだ
俺もピエロ🤡に扮して「ハーイ!女児ぃ!」とか言たいだけの人生だった
でも、ラストで巨大な蜘蛛が出てきた時点で興醒めですわ、どんなサメですわ
ウソです
ド田舎でMSXに搭載されていたマシン語モニター機能とか使ってマシン語書いてた頃ですかね
文字をレンガ🧱とかに変えて、ロードランナーみたいなの作ってました
ウソです
MSX1以降、大学に入るまで、私はほとんどパソコンを使っていないブランク期間があります
大学に入って、物置からMSXを発見して、当時購入したマシン語入門的な本とか、
MSXのカートリッジの機能を使って電子工作やる本を買ったりとかして、
MSXカートリッジの形状をしたユニバーサル基盤を秋葉原に買いに行ったことから、そこから毎週毎日秋葉原に行くようになります
まだ、オタク系のアニメとか漫画とかフィギュア模型の店とか、メイド喫茶とか、まったくない時代でした
MSXでZ80のマシン語を一通り理解して、MSXカートリッジにユニバーサル基盤刺して、自分で組んだ電子回路をMSXで制御したりして遊んでました
あと、大学入学祝いがPC-9801だったので、それをいじったりもしてました
Microsoft Quick CとかTurbo Cでプログラムを書いたり、Cマガジンを定期購入するようになり、TeXを最初に動かしたのもPC-9801だったと思います
そのあと、米国から輸入したPC/AT互換機を当時のドスパラだったかな?で購入して、私は運が悪いのか、ちょっと色々と酷いのが届いたのですが、
それを騙し騙し使うことにして、Laser 5が販売していたSlackwareのLinuxインストールしたり、DOS/Vで海外のゲームやったり、なんだかんだ楽しかったのかもな
あと、まだアルファ版?だったかんのJavaを、えらい長い時間かけてダウンロードして、それのサンプルをひたすら眺めて勉強したりしてました
CとJavaでソケット使ってネットワーク系のプログラム書いたりとか、簡単なチャットみたいなのとか、JavaだとAWTでGUIまで作れちゃいますから便利になりましたよね
そういえば、前のバージョンのScratchのソースコードをなんか読んだ記憶がある
ただ、自分はBIO100%みたいにもなれなかったし、X68使ってる人たちみたいにもなれなかったし、Lightwave使ってる人たち、新海誠みたいにもなれなかったし、
なんか色々仕事したり、賞をもらったり、色々あった記憶はあるのだけど、何者にもなれなかったし、今も何者にもなれてないままですね、心に刻んでおくよ
これはデカいと思うんだよな
Unityとか、Unrealとか、物理エンジンもBox2DとかBulletとか、当然昔はなかったので、みんな自前で書いてたはず
例えば、スーパーマリオの物理挙動とか衝突判定は当たり前だけど自前で書いてたはず
でも、今はブロック崩しさえUnityとかUnrealに含まれてる物理エンジンで剛体力学使って書けちゃう
なんかそういうの無駄な計算力だよなと思うけど、まあ書けちゃう、動いちゃう
昔はゲーム作るときって、リードプログラマーが1人いて、他も数人で、少人数で職人芸的に作ってたわけだよ
全て自前でやらなければいけないから、簡易的なものを作るにしても、一応大学でやった物理を再度勉強したりするわけだ
剛体力学とか、流体力学とか、材料力学とか、そのための数学とか勉強し直したりした
あと、ゲーム業界がバブル?だった頃は、海外なんかでは物理とか数学で博士号取ったような奴までゲーム産業に入って来た
彼らはゲーム業界に進まなければ、銀行とか保険会社、証券会社とかもある、もっと高給な仕事がいっぱいあるはずなのに、薄給のゲーム産業に飛び込んできた
彼らが高度な知識で色々な試みをしてくれたおかげで、今のゲーム産業があると言っても過言ではないと思う
だって、日本のゲームってどれも枯れた技術の水平思考ばっかりなんだもん
悪く言えば、保守的、必ず作り上げるという意思から石橋を叩きすぎたようなものを作る
例えば、初代のバイオハザードだったか、カメラ固定だったじゃん
今どきアローン・イン・ザダークかよwって思ったよなw
あの頃、自分はPCでDOSとかで普通にFPSやってたから、あくまで技術的にだけど、アホじゃないかと思ったんだよな
でも、周囲のプログラムとかIT業界に関係のない知人とかは喜んで遊んでる
日本のバイオが固定視点なのに対して、海外勢はFPSとか三人称視点ちゃんと作ってたよな
日本でFPSっぽいの初代PSでちゃんとやってたの、攻殻機動隊だと思うんだよね
今に至るまで、最も原作の意味をくみ取ってたアニメだったし、石野卓球なりの曲も良かった
時は流れて、今の日本のゲームもみんなUnityとかUnrealになった
Godot選択する人もいるかもしれないけど、あれ、良さそうだと思ったけど、情報少なすぎるよね
ソースは公開されてるんだから、ソースを読め的な感じもしたし、今どき?
独自スクリプト勉強するのもなんだな、と思って、ちょっと使う以上に使う気になれなかったんだよな
調べてもらわなくても、まあ、分かるだろうけど、UnityとかUnrealの開発者、日本人とかもいる、はかなり著名なゲームを開発した人も含まれてるよね
彼らは、当たり前だけどUnityとかUnrealがない時代は、当然自分たちで全てを書いてきた人たちだ
リードプログラマーが一人といったけど、かなりの分量をリードが書くはず
ほとんど一人開発と言ってもいい
あと、そういうリードプログラマーは職人みたいなものなので、自分で書いた数学ライブラリとか、物理エンジンとか、持ち歩いて会社を転々としてる人もいたはず
厳密には権利の問題もあるかもしれないけど、そういう優れた人材は引っ張りだこなので、会社を転々として、
その場その場で、自分で1行目から書いた、自分しか持ってない自前のvecmathライブラリとか、物理とか、ノウハウを財産として持って移動しまくってた
で、そうやって業界をサバイバルしてきた人たちのトップランナーが、今はUnityとかUnrealで開発とか営業とかやってる
多分だけど、もうコアな部分を書くことなんてなくなっているだろう
Unity、Unreal以前は、行く場所行く場所で、ゲームエンジンレベルからゼロから書いていた
でも、Unity、Unrealはそれを当たり前だけど共通化するわけで、そしたら一度書けば、それはずっと使われるコードになる、当たり前のこと言ってるけど
で、困っちゃうのは、そんなトップランナーになれなかったゲーム開発者だ
ゲームエンジンを開発するための、数学や物理、コードに関する能力、特にCやC++が多いだろうけど、そういう能力はある
自分は凡人以下だろうけど、かなり凄い人もいるんだろうけど、そういう人も含めて、ゲームエンジンレベルから作る職人芸は無意味、無価値になった
もちろん、まったく無駄にはならない
結局、Unity、Unrealを使うときに、単に使うだけでも中の挙動を勉強しなければいけない
でもね…
もう、ゲーム開発がコードをガリガリ書く仕事というより、コンテンツを作る作業にほぼなっちゃってないか?
3DCGのモデリング、シェーダー、ゲーム本体も含めて、箱と箱を線で繋ぐような作業でゲームができるようになってる、とっくになってる
そうすると、もうC、C++でガリガリゼロから書いていた人とか、
それこそ、PS2の開発はよく知らんが、悪評が高い、あれはOSレベルから書かされたりしていたように聞いてるし、
そういう人たちもゲーム開発の現場でそういった知識が活かされることはもうない
逆に、北欧で生活保護もらったりしてただろうNotchのマインクラフトとかの方が成功しちゃったりしてるよね
あれはゲームエンジン?と言っていいのか分からんけど、あの独特のボクセルの世界はゼロからJavaで書いたものだ
彼は時間制限でゲームを開発するイベントに数多く参加していて、いつもJavaでサクッとゲームを作っていた
だって、プロのゲームプログラマーっぽくはない、Javaでしか書いてないとか、それこそJavaの方が生産性が高いみたいに言ったら、日本のゲーム業界だったら鼻で笑われてただろう
彼はマインクラフトの前に、ゲーム会社に所属していたし、そこで開発していたのは、世界をすべて緻密に構築するようなゲームだったらしいけど、
自分の予想だけど、そんなの全地球シミュレーターの簡易版みたいなもので、無謀な試みというか、かなり複雑な仕組みになっていたはずだ、自分が聞いてたら、実現できるかさえ怪しい、と思っただろう
彼は世界を緻密なボクセルやポリゴンではなくて、大きなボクセルで実現することにした、まずそこが出発点であることは間違いないだろう
そこからセルオートマトンで川とか水を実現できるんじゃないかみたいに発想が膨らむよね、プログラマーなら
話をまとめると、ITがつまらなくなった話はゲーム開発にも置き換えることができる気がしている
昔のゲーム開発に少しでも携わっていた自分のような人たちは、今の時代では老害だということは重々承知しているし、
多分、今、ゲーム開発に興味がある子供とかがゲームに望んでいること、ゲーム開発でやりたいと思っていること、と自分たちの世代のゲーム開発者がやりたいと思ってたこと、やってきたことは、もう全然乖離してるんだと思う
考えてることが乖離してるんだから、話が通じないのはおかしくない
違う世界を生きてる人、偏差値がいくつ違えば会話が成立しないなんて話もあるように、今の子供たちと会話が成立しないのはおかしくない
そして、当たり前だが、現状を正しく認識しているのは、今の子供の方の可能性が高い
基本的にはCやC++で膨大なコードを短期間に書くことが要求される仕事だった
それが今の子供たち、というか、今の時代の環境に慣れた人たちにできる仕事とは到底思えない
そういうトッププレイヤーは、今はAIなり何か、最先端のものをそういった企業のコアの部署で、コアなものを開発しているはずだ
でも、そうなれなかった人たちはどうなる?
高度な彫り物とかするような職人が、NC工作機器とかで彫り物をするようになったら、職人は必要なくならないか?
伝統工芸だの、人間国宝だの、そうやって手で作ったものの方が温かみがあるみたいなオカルトに守られて生きられる人間がどれだけいるだろうか?
その、人間国宝レベルの人たちがUnityやUnrealのような企業に吸収されていく
あとは過去に開発したゲームのネームバリューを活かして講師職になるとか、そういう感じだろう
そうなれた人間がどれだけいるだろうか?
優れたリードプログラマーに触発され、職人になるべく数学や物理、プログラミングの知識習得を重ね、朝から晩までひたすらコードを書いていたのに、
今の生成AIは大したことないと自分も思うが、驚き屋wwwとか馬鹿にしてる奴らは、いつかうっかりAIに職を失われないか、よく普段から考えた方がいい
あと、AIに職を奪われたくないから、プログラミング頑張る、みたいな奴は、俺的には間違った頑張り方だと思うw
そのプログラミング自体がなくなるかもしれない、って言ってるんだって
技術習得とか、自分の技術でマウンティングし合ったりする暇があるなら、別業種のことでも勉強した方がいい
そういえば、優れたアニメーターだった人が、作画として年齢的に限界にあるし、親族にもアニメーター辞めるように言われてたらしいけど、
ある日バイク事故にあって、アニメーターを続けられなくなって、その人は年齢的にギリギリで清掃車運転する仕事についてたはず
立派な公務員になれて、空いた時間で絵を描いては、市役所などで販売してたはずだ
何が人生として幸運かなんて分からないけど、必ずしもアニメーターが庵野とか宮崎駿を目指すのが幸せなのだろうか?
どこかで自分の仕事を辞めて、それを趣味にして、安定した仕事に就いた方が、心の平安が得られるのではないだろうか?
というか、富野アニメなんか、やたら名誉を優先して失敗する人が出てくるよね
長い人生生きてきた老害には、ああいうのなんかよくわかるんだよね…😟
みんなが驚き屋って読んでる人たちは、基本的にPythonとかも書けないし、計算機科学とか数値計算の知識とか曖昧というか、まったくないような輩がいるし、
元の文章である「ITがつまらなくなった」だったかの文章にもあったように、ビジネスのアイディアだけある胡散臭い素人が乱入してきた感があるわけだけど、
でも、老害って若い世代とか新しいものを疑ったり反発しがちなんだよな、自分も含めて
だから、たしかに驚き屋の連中のかなりは胡散臭い、詐欺師みたいな、出まかせで大金持ちになったスティーブジョブズの極小コピーみたいな連中ばかりではあるけど、
でも、生成AIとか、これから汎用AIとかもどうなるのか分からんけど、どんどん素人に有利になってくと思うんだよな
だって、UnityとかUnrealで作ってる世代はガリガリC++書くのなんて馬鹿げてると思ってるだろうし、
プログラミン技術がもっと怪しいのはWebアプリ界隈も同じだと思うんだよな
RailsやPHPで書いてる連中と、C++で書いてる連中の世界は、見えてる世界がかなり違うんだよ
そもそも、そういう輩はLinuxとかWindows上で書いてるわけで、いわゆる家庭用ゲーム機とかでコード書いたことないだろ?
でも、Xbox発売時にビルゲイツが言ったように、(なんかSEGAだかソニーだか知らんけど)所詮ゲーム機なんて機能が制限されたパソコンだよね、
nVIDIAとかGPUカードどんどん作るんだし、パソコンの方が最先端のグラフィックスが体験できるよね、
みたいに言いつつ、Xbox発売したわけだけど、自分もそう思ったけど、あの預言は的中したよね
情弱と信者だけ任天堂Switchとか使ってるんであって、ビルゲイツが言ったように、ゲーム機の中身は機能が制限されたパソコンだよ
昔、TRONというプロジェクトがあって、あれを孫正義がクソミソに言ったという話があったと思うんだけど、
日本だけで閉じたプロジェクトを出発させても、アメリカの豊富な資金で、カネと資源という暴力で作られるオープンな世界に絶対負ける、ようなことを言ってて、
当然、そのあとIntelなりWindowsに日本は負けるし、半導体としては台湾に90年代で既に負け始めてたわけで、
家庭用ゲーム機も同じで、家庭用ゲーム機の新しいバージョンが出るまでのスパン、機能は固定されるから安定して確実に動作するゲームが販売できるとか、
色々利点はあるんだろうけど、でも、その間に日進月歩で、それこそnVIDIAみたいな企業がどんどん進んでいくわけで、
グラフィクスシンセサイザーwとか名前はカッコいいけどさ、名前に準じてたら、今頃ソニーNVIDIAに勝ってない?違うでしょ?
話を戻すと、どんどん素人が参入してきて、その素人が頓珍漢なことを言ってるのが不愉快だ、許せない、驚き屋氏ね、みたいな気持ちは分かるけど、
素人が参入できるようになった、というのは、世の中の流れが変わったわけで、そういう若い世代をただバカにするというのは、老害しぐさだよね
気持ちは分かるけど、ドラえもんのように生暖かく見守るとともに、老害も新しい技術とか、素人が驚いていることをちゃんと咀嚼して、吸収していく必要があるんじゃないの?
ちゃんと大学、大学院で計算機科学、情報科学をやってきったわけだし、あやふやな知識でイキってる若者に対して老人が取るべき態度ってそういうもんじゃないの?
例えば、子供が初めて何かを見て驚く、それを大人が見て、そんなのはありふれてる、驚き屋wwwと思うだろうか?
子供は素人だから初めて体験したわけで、なぜ子供がそれを見て驚いたのか?とか、子供の目線でちゃんと考えられる人は、教える人に向いてる人だと思う
他人に教えることがうまい人は、自分の経験、能力も整理することがうまい
この人は可哀想なことに「学校の言うことに従っておけば人生が幸せになれる」という
恐らくこの先20年ぐらい同じような失敗を繰り返してしまうのだと思う
副業で食っていけるようなITエンジニアを簡単に教育できるとは思えないし
そもそもなんだが、スクールや学校の言うことを全て丸暗記すれば大丈夫、というレベルの教育は小学生の早い段階で終わっていて
を知るためであって、塾で丸暗記を教わるために出しているのではない
興味を持って調べたことというのは誰かに教えて貰ったこととは違って記憶への定着や新しい着想に繋がるので
大学には興味・好奇心を持った人が更なる高等教育を受け、新しい発見をするために進学する
プログラミングやITに関する技術も同様で全てをスクールで教わるというのは非現実的で不可能だ
例えばよく使われるプログラミング言語だけでもC,C++,Java,JavaScript,TypeScript,Rust,Python,PHP,Ruby,Perl,ShellScript ぐらいはあって
これらの言語仕様を覚えるだけでも大変だしよく使われるライブラリなどが組み合わされるととても現実的ではない
なのであくまでもスクールや教育機関ではどれか1つの言語を選んでプログラミングの概念や思考法を教えているに過ぎないし
お金を貰えるレベルになるには少なくとも3年は自分でプログラムを書いていないと到達できない
興味がないものを3年も続けられるわけがないので、スクールや学校で「興味が無い」と思ったのならやめた方が良い
つまりスクールに通ってITエンジニアになるにはスクール外で興味を持って学習することが必要なのだが
残念ながらこの法則は小学校高学年から同様で、ちゃんと学校外で勉強してきたような人は大人になってからスクールに通ったりはしない
JavaScriptの棚にJavaの本刺さってる……
https://anond.hatelabo.jp/20240625191650
念のため言っておくと底辺大や文系出身プログラマーも同様の傾向にある
入力値に想定外のものが入ることを考えていなかったりI/Oに関わるエラーについても配慮がない
「エラーが出たらとにかくtry-catchしてログ吐いて終わり」
ならまだマシな方で、「握りつぶして処理続行」みたいなことも平気でやる
とか滅茶苦茶多い
異常系の話と被るけど基本的に性善説でコード書くのでセキュリティの不備がめちゃくちゃ多い
API作らせてもリクエストの内容を信用して実装するしサニタイズチェックもしない
サーバー作らせてもrootか共通ユーザーだけで運用するしファイル管理も滅茶苦茶
とにかく「目の前に与えられた課題を解く」だけのコードなので他のことに関する配慮が全く無い
TypeScript使わせてもanyだらけだし、JavaとかだとObjectだらけ
うちはPythonでは型は使わないけど命名規則で担保してるのにそれもガン無視で実装する
結果としてできあがるのは
「一応、正常系では動いているけれど他の入力が来たときにどうなるか分からないし誰も修正できない」
っていうコード
最近はそういうコードはChatGPTにぶち込んで型付けて貰ったりするけど
8割ぐらいの確率でChatGPTも型付けできない状態になっててお手上げになる
そりゃ動くし性能も変わらないけど後でバグがあったり変更するときにすげー困る
これもChatGPTにぶち込んで「共通的な処理をメソッド化して」って言うとやってくれるのでめっちゃ便利
クソ重いwhileループになってるメソッドをフレンドリーに何回も呼び出したり
とにかく「最終的に出来上がるものが良好であれば時間がかかっても構わない」的なコードが非常に多い
競プロ系はこういう人はあんまりいないんだが機械学習出身者はマジでこれ
彼らはデータを解析したり優秀なモデルを作るために頑張ってきたので継続的に処理負荷を減らす、みたいなことに意識が回ってくれない
「これはPoCですから」
とか言うんだけど誰でも分かるようなクソ遅いコード書いておいて
とかしれっと言ってくる