はてなキーワード: javaとは
結局未だにはてなを利用し続けている。
最近AI増田が流行っていて、生きた人間の、線としてつながる日記を書いてみたくて投稿することにした。
匿名の人にも人生があって、その後もあるんだなって感じたので、そういえばと思い自分の記事を読み返してみた。
もし、誰かの暇な時間を満たせられれば幸いです。
片親の生活保護家庭から高卒後自立して貧乏学生になった増田です
将来の不安について綴ったところ、色んな人から反応をいただきました。
それから10年、何度か自分の記事がホッテントリに載ることはあったけど、そんなに多くは書いていない(年2~3記事?)
・所有資格は基本情報ぐらい、NCPやCCNA(期限切れ)みたいなベンダー資格は何度か取得したけど…
・当時のバイト先はスーパーの海鮮だったけど、その後、みんな知ってるレンタルサーバー屋さんでバイトしていた
・就職はもっと給与いいところを目指したので、バイト先には勤めなかった(高卒であっても入れるらしかったのも一因)
結局学生生活はバイトがそれなりに忙しいこと、成績維持のために楽単ばっか選んで、専攻分野もそんなに勉強できず、将来仕事に活かせられなかった。(とはいえIT分野については独学でそれなりにやっていたので、就職先は6社受けて4社受かる、みたいな感じだった)
成績上位は同じゼミの金持ちの子で、当時思っていた通り、生活に支障がないやつが学費免除受けられやすいんだろうなぁと実感した。
・総資産は300万程度
・年収400万は以前より貧困ではないかもしれないが、東京でみるとやっぱり貧乏だと思う
・職場で飼い殺されている
生活は苦しいままだと思うけど、定職があるのは確かにいいことだと思う。
大学の先輩は就活に失敗し、携帯電話販売スタッフを転々としていたので、それに比べるとマシかもしれない。
ITに関して独学していたからというのもあり、職場の同期や元同期からも信頼が厚いが、金融インフラ系という堅い仕事ながらに、裁量が多すぎる(というか抽象的でフワフワな職場)はかなり自分にあっておらず、6年経ってもスキルが1人前に身につかないと感じている。
書いてて思うけど、全く職場の風土が自分にはあっていない。しかし転職するスキルもないので、八方塞がりで、とにかくしがみつくので精一杯。
元同期からいつも「うちに来なよ!」と言われるが、みんなのように外資系とかIT大手とか行ける気がしないよ・・・
客観的に見て幸せだと思う。大学や職場では、優秀な友人たちに恵まれ、今でも交流がある。
だけど補助は2年後に打ち切られる予定だから不安でしかない・・・
ただ、貧乏生活を得て、「有るもの」を数えることが得意になった。
iPhone持ってて、好きなアニメや音楽聞けて、服も楽しめるし、ご飯は食べられるし、眠ることも、お風呂に浸かることもできて・・・
だから、無いものを数えていた昔に比べて今は幸せなんじゃないかと思う。
この選択は未だにわかっていない。姉は高卒で就職し、フリーターで精神障害2級で人生詰みみたいなところあったけど
弟も同じく工業高校出身で、最近死亡事故起きたような割と名前の知られてる会社で日勤夜勤を繰り返しながら働いている。
俺だけ偏差値真ん中ぐらいの総合学科で、そこから大学に行った。よく考えるとちょっと家族でも異質な生活してるかもしれない。
個人的には給付奨学金を収入のおかげで受けることができたこと、大阪の家賃2万の家に住めたことなどで
ある程度有意義な学生生活は送れたと思う。でも、不登校時代があったりヤングケアラーだったりして、ハングリー精神がないので
恵まれた環境にいながらも、大学という世界をうまく使えなかった気がする。
今も、東京に住んで、様々な専門家と触れる機会があり、趣味を最大限に楽しめる環境にいながらも、意欲がなくて機会を持て余している。
学費の借金は、車1台分と考えれば、まあそんなもんなのかなと思うし、会社も約1000人規模の大きな会社に勤められたので良かったと思う。
あとは転職でこの大卒という資格の恩恵を受けられれば・・・だけど産近甲龍未満の私文なので微妙そう。
一生このまま一人で趣味をしつつ、このままこの地でこのまま死ぬのかなぁとか25歳あたりまで考えていた
作業手順もステータスの判定基準も、ミス後のリカバリ手順などすら共有しない組織で、放り込まれた現場でみんなと大きなミスをしたところ休職をすることになって
希死念慮が高くなってしまった。大学まではITに意欲的で、スキルもあったと自覚している人材だけど、現場では情報共有もなく、何も得られず
飼い殺されて第2新卒期間を逃したあたりで、どうしていいのかわからなくなった。うつ病は今もそのまま残っている。
その時ゲームをしていた友達がウクライナ人で、ドローン爆撃や真冬のブラックアウトなどを間接的に体験したので、人のために生きることを決意した
貯金はないけど、なんとかボーナスとか持株会とか使って、空港チケット買ったり、大使館に連絡したりして友達を日本に連れてくることにした。
お互い狂っていると思う。会ったこともない相手同士をこんなに信頼して、モルドバ行って手続きをしたり、ポーランドから日本へ来たり
主に相手のほうが必死にやったと思うけど、その後の手続き周りは全部頑張った(歯列矯正のメンテナンスとか地味に大変だった)
今は一緒に1DKの狭い部屋で暮らしてる。最近他の人の手助けがあり、ようやく難民補助ももらえるようになって、少しだけ生活が安定し始めた。
貧乏学生はなりふり構わず差し伸べてくれた手を握れば、何とかなるかもしれない。
大学の奨学金制度は掲示板を見て自分で手続き行ったし、単身IT会社に自分を売り込みに行ってバイト採用決まったり
今も誰かに助けられつつも、自分も誰かを助ける番として生きることができている。
見返りを求めるわけじゃないけど、人助けは「砂の中の金」を探すものなのではないかと感じた。
恵まれないお腹の空いた子どもが、与えられたご飯を人1倍食べられるわけではないように、与えられたものを活用できる人は少ない。
財団の給付奨学金は、そんな人たちにも機会を与え、100人中1人でも大成できる人を見つけたかったんじゃないかと思った。
それを感じることが自分もたまにある。
独学したITの勉強は、他の友達にも教えた。一人は就活のときに俺を裏切ってどっか行ったけど、まあそういうこともある。
たくさん人を手助けしては、損をすることが多かったけど、今は真摯で誠実な友達に恵まれている。
ウクライナ人の友達もその一人で、難民申請中は俺が日本語を教えたりして、今始まった日本語学校では、ほぼトップの成績を誇る
何より、Javaの勉強を始めて、今後の人生を一緒に歩む目標に向かって進んでくれている。
「友達が死ぬのが怖いから」と差し伸べた手だけど、掴んでくれたのなら絶対に離さない。死ぬまで俺も人助けの責任を全うしようと思う。
俺は、砂の中から砂金を見つけたのだ。
社会に出て思うのは、貧乏も裕福も選んで決めたもんじゃないし、得られたものでやりくりするしか無いなということだった。
恵まれた人生の中でクソみたいな結果しか出さないやつも存在するし、恵まれた人生の中で、それでも更に欲深く生きるやつもいた。
苦労も惜しまない、得ようと思った人が得るのが社会に出てからの人生なんだなと感じた。
そういった「意志の強さ」が疲弊して、貧乏なままで居続けるのが貧困なんだなぁとも感じた。
自分は人を助ける側として、働きたいと思った。
当然職場など、色んなところで人に助けてばかりの人生だけど、それでも何か少しでもいいから誰かの助けをして
自分も誰かの役に立ちたいと思った。
https://survey.stackoverflow.co/2024/technology
https://survey.stackoverflow.co/2020#technology
- | 2020 | - | - | - | 2024 |
JS | 67.7 | - | - | - | 62.3 |
Python | 44.1 | - | - | - | 51 |
TS | 25.4 | - | - | - | 38.5 |
Java | 40.2 | - | - | - | 30.3 |
C# | 31.4 | - | - | - | 27.1 |
C++ | 23.9 | - | - | - | 23 |
C言語 | 21.8 | - | - | - | 20.3 |
PHP | 26.2 | - | - | - | 18.2 |
Go | 8.8 | - | - | - | 13.5 |
Rust | 5.1 | - | - | - | 12.6 |
kotlin | 7.8 | - | - | - | 9.4 |
Lua | - | - | - | - | 6.2 |
Dart | 4.0 | - | - | - | 6 |
Ruby | 7.1 | - | - | - | 5.2 |
Swift | 5.9 | - | - | - | 4.7 |
Scala | 3.6 | - | - | - | 2.6 |
※HTML/CSS,SQL,Bash/Shell,とかそういうのは省いた
順調に伸びるPython人気、そしてTypescriptの伸びがすごいな
Javaって永遠に人気なのかと思ってたけどじわじわと人気が落ちている
PHPも長期的にみると厳しそう。
GoとRustが着実に人気を獲得。
Luaが地味に人気出てる。
- | 2020 | - | - | - | 2024 |
PostgraSQL | 36.1 | - | - | - | 48.7 |
MySQL | 55.6 | - | - | - | 40.3 |
SQLite | 31.2 | - | - | - | 33.1 |
SQLServer | 33.0 | - | - | - | 25.3 |
MongoDB | 26.4 | - | - | - | 24.8 |
Redis | 18.3 | - | - | - | 20 |
MariaDB | 16.8 | - | - | - | 17.2 |
Elasticsearch | 13.8 | - | - | - | 12.5 |
Oracle | 16.5 | - | - | - | 10.1 |
MySQL+MariaDBではまだMySQL系が多いが・・・
- | 2020 | - | - | - | 2024 |
Node.js | 51.4 | - | - | - | 40.8 |
React | 35.9 | - | - | - | 39.5 |
jQuery | 43.3 | - | - | - | 21.4 |
Next.js | - | - | - | - | 17.9 |
Express | 21.2 | - | - | - | 17.8 |
Angular | 25.1 | - | - | - | 17.1 |
ASP.NET CORE | 19.1 | - | - | - | 16.9 |
Vue.js | 17.3 | - | - | - | 15.4 |
ASP.NET | 21.9 | - | - | - | 12.9 |
Flask | 14.2 | - | - | - | 12.9 |
Spring | 16.4 | - | - | - | 12.7 |
Django | 14.2 | - | - | - | 12 |
FastAPI | - | - | - | - | 9.9 |
Laravel | 11.1 | - | - | - | 7.9 |
Svelte | - | - | - | - | 6.5 |
Rails | 7.0 | - | - | - | 4.7 |
※フロントとバックエンドがごちゃごちゃなのなんでだろう。Node.jsってフレームワークじゃないだろ・・・
Next.jsの勢いがすごい。やはりWEBはTSでNext.jsの時代なのか
Pythonの人気は盤石だけど、DjangoとかFlaskは人気が落ちてる。FastAPIに食われたか?
LaravelとRailsはこのまま消えていく予感
サービスの根幹に当たる部分を、複数のありものフレームワークの比較評価ドキュメントをWeb記事から作り出して、どれを使うか決めるとか普通にやってて、「ここ、DDDを採用している現場だよね?(-_-)」って愕然としている。
DDDを実践してきた身としては、とても違和感があるんだが、今時の「イケてるエンジニア」ってそんなもんなんかな?
「Java書けます」っていう場合、ライブラリの使い方知ってます、とほぼ同義と聞いたことが、ないことはない。
ということは「イケてるエンジニア」ってのは、フレームワークの評価とか選択ができます、ってのと同義ってことなのか?
あり物の組み合わせは他の誰でもやれるから、固有のサービスとしての武器にはならんのだが、早く動いて市場占拠しさえすれば勝てる、って考えなのかなぁ?
「ドメインコンセプト」の概念がなければ、中心的なドメインコンセプトの抽出もできないから、何を内製しなきゃいけないかの判断もできない。
あるいはあれか?
そういうフレームワーク的なモノを作る技術力がないだけなのか?
どちらにしろ、エンジニア名乗るの、いかがなものかと思うが……。
恥ずかしくないのかねぇ?
バブル崩壊(1990年から1991年頃)以降に多くの企業が採用を絞った結果、大卒であってもまともな就職はできなかった、というのは誰もが知るところだ。
正社員の応募を何十、何百と出したけど全て不採用で落ちたとかそういうのもネットでは見た。私はそこそこの企業で5~10企業位だったが、ほぼほぼダメだったがあまり記憶が無い。そもそも就活で入社試験をやったり、SPI対策をやったり面接対策、論文対策なんかをやるのが非常にバカバカしいと思っていたくらいだから会社員には向いていなかったのだと思う。あ、NHKと中日新聞、公務員試験、あと出版社とかは受けたな。
結局、10月過ぎても決まらずに大学に来ていたエンジニア派遣会社に話を聞きに行きそのままトントン拍子で決まって就職した。ただ、給料は安かった。1997年当時で大卒18万とかだったと思う。会社の寮扱いのアパートが月6万、駐車場1万、これが天引きされて12万。所得税引かれて手取りは6-7万程度だったと思う。それでも食っていくのが無理だったからじゃがりこ1個で3日は食いつなぐ感じでした。そして年収にして250万くらいだったと思う。心も折れて休職もしそうになった。
大企業でも横並びで初任給20万円程度でこれがどこも同じだと感じていたが、実は福利厚生が全然違う。大企業だと引っ越し代、寮扱いアパート無料、電話代、ガス代、電気代無料といった具合だ。これだと月10万くらいは手元に残るお金が違う。そこで腐ってしまってはおしまいだ。
そこで次の手を考えた。当時(1997年頃)、IT業界ではWeb系システムが作られ始めておりWeb-AP-DBの3層アーキテクチャだった。一般的なアプリケーションサーバ(Apache, tomcat)+DB(MySQL他)で、大規模向けはMS SQL ServerやOracleだった。この頃、MS製品やOracle製品のベンダー資格がブームになり始める最初の頃だったと思う。そこで、Oracle Platinum資格を取得することにした。それには10個くらいの試験に合格しないといけないのだ。しかも、受験料が1科目15000円。すべて自腹を切っていく。そして適切な本も無いところで、2カ月余りで全て合格して取得。
まあ、やればできるんだよ。
そんなわけで、3年間の派遣はとっとと辞めて2000年に大手SIerへ転職しました。大企業はいいね。給与も待遇面も。でも、なぜかみんな暗いし有名大学卒で入社した割にはそれほど興味も無くて残念な感じ。スクラッチ系Webシステム開発やらERP(Oracle EBS)なんかを6年くらいやった。そしてだんだんつまんなくなってきた。心も折れて休職もした。ただ、IT系の資格で、Java、Linux、Solaris、などなどいろいろ取得してきたし総務省の情報処理試験も合格してきた。6年居た会社は不動産投資に失敗したり本業で失敗したりと経営危機のようだった。そこでさっさと去る。この時、年収500万くらいだったかな。
この頃、自分への先行投資を加速させるべく大前研一のアタッカーズビジネススクール、グロービスMBA講座、Bond-BBT-MBAプログラムを受講した。なんだかんだと数百万は使ったと思う。
そして、大手電機メーカーへ転職。年収700万くらいから始まって1000万いくて前くらいで辞めたんだが。12年間の中でSAP ERPをオンプレで新規導入して、アップグレードして、クラウドにしてとか、、まあ充実していたとは思う。一方で、システム運用要員がつまんなくてやめることに。
その後、独立した。最初は月60万くらいの仕事を請けてやっていたが、SAP導入支援となると跳ね上がる。既に独立8年目になるが、年収は5000万くらいになった。仕事も順調だ。100平米を超えるマンションも購入したし、スポーツカーも4台所有している。国内外はふらっといつでも旅行できる身分だ。とても幸せだ。
で、氷河期世代で社会が悪い、時代が悪い、と今でも言ってる人っているのか?努力が足りない!そう言われてきて育って、いま自分がある。心残りは結婚して子供を持つという余裕が無かったことか。あとは年々体力が落ちてきている事。別にそれは他人のせいにするつもりもない。自分がそれを選択しただけだから。そして、あなたは幸せですか?
JavaってAndroidアプリで返り咲いたと思ったけれど
面倒だからFlutterとかReact Nativeみたいな感じのフレームワークが使われてしまってるイメージ
それでも初期はネイティブじゃないと辛いこともあるから頑張ってたけど
フロントエンドでは全滅状態だし、バックエンドでもNodeに勝てるわけないから瀕死状態
LLMで置き換えが進むだろうから後数年の命だろうな
Javaは普通にまだまだメジャーで普及してるだろ。COBOLとはわけが違う。求人ググッたら他のメジャーどころと一緒に入ってる。普及範囲が広いからレガシーな現場で古いJava使ってるとこもあると思うが。JavaScript並にメジャーだぞ。
JavaもAtCoderもCCNAもLPICも基本情報も別にレガシーではないだろ。ただの基礎で全部現役
レガシーってのはもう使われていないものをいう。このへんをレガシーって言うのはモダンな技術の理解もあやふやなんじゃないか。逆にモダンな技術がどう動いてると思ってんだ
元増田が就活で弱いのは即戦力スキルが欠けてるからで、基礎そこそこありますって言われても即戦力部分を教えるのは高コストでビジネススキルゼロで高リスクだから忌避する。基礎スキルは普通に重要
Javaわかれば関数型言語もいけるしスクリプト系の言語もいけるし低レイヤーにもピボットできる。デザインパターンやInterfaceの学習もJavaなら容易。AtCoder緑なら基本のデータ構造とアルゴリズムはわかっててコードリーディングも速い。データベースの理解も速いだろう。データベースはB木の応用だからな。LPIC持ってりゃDockerの理解は一瞬だろう。CCNA持ってるならAWSでVPC構築できる。元増田が欠けてるのはこのへんの応用全般とIT系ビジネスの流れ全部。勉強のルート自体は表層的ではないので正しい。むしろ基礎が欠けてる奴があまりにも多すぎる。
自分が面接官なら元増田は正直にスキル不足と言って落とすが、少なくとも平均以上に学習しているという労力は買う。実務経験1年でそこらへんのジュニアは抜くだろうからな。ただその1年の教育を自分のチームで請け負いたくはないので落とす。
それあるなら諦めず応募してたら受かるだろ。もっとザコかと思ってたわ
もっとポートフォリオサイト作ってDockerやk8sやAWSやGCPやAI使ってアピールしろ。RAGやMCPサーバー構築できると良い。AWSとかの資格も取れ。あとはコード設計な。デザインパターンやれ。MVC理解したあとDDDやれ。IT系のビジネスの本も読め。Figmaでデザイン作れ。とにかくがむしゃらに受かるまでやれば受かる。どうせ全部あとで役に立つ。AtCoder緑あるならコンパイラ作れるだろ。そういうの作ってGitHubに置け。Slackも自分で使え。bot作れ。SOLID原則理解しろ。Java以外も書け。特にTypeScript。Java分かるなら楽勝だろ。データベース勉強しろ。Nginx立てろ。プロマネの本も読め。勉強会参加してこい
Q.
あなたのようなAIにとって、指定された動作をするプログラムの実行ファイルを得る手順として 1. 人間と同様に高水準プログラミング言語で記述してからコンパイラによって実行ファイルを得る 2. マシン語で直接実行ファイルを出力する ではどちらが効率的ですか?
A.
AIにとって、どちらの方法が「効率的」かは、何を基準に効率性を測るかによって異なりますが、現在の技術水準では一般的に**「1. 人間と同様に高水準プログラミング言語で記述してからコンパイラによって実行ファイルを得る」方が効率的**であると考えられます。 理由は以下の通りです。 1. **学習データと能力:** * AI、特に大規模言語モデルは、インターネット上に存在する膨大な量の高水準言語のコード(Python, Java, C++, JavaScriptなど)を学習しています。そのため、高水準言語でプログラムを生成する能力は非常に高いです。 * 一方、マシン語のコードは量が少なく、構造も複雑で多様(CPUアーキテクチャごとに異なる)なため、AIが直接高品質なマシン語を生成するように学習するのは困難です。 2. **抽象化と複雑性の管理:** * 高水準言語は、ハードウェアの詳細を抽象化し、人間(そしてAI)がロジックやアルゴリズムに集中できるように設計されています。これにより、複雑なプログラムでも比較的容易に記述できます。 * マシン語は非常に低水準であり、レジスタの割り当てやメモリアドレスの管理など、ハードウェアに密接に関連する詳細な記述が必要です。これをAIが直接行うのは、エラーが発生しやすく、非常に複雑なタスクになります。 3. **開発エコシステムの活用:** * 高水準言語には、コンパイラ、リンカ、デバッガ、ライブラリ、フレームワークといった成熟した開発エコシステムが存在します。AIはこれらのツールを活用することで、効率的に実行ファイルを生成し、最適化やデバッグを行うことができます。特にコンパイラは、長年の研究開発によって高度な最適化技術が組み込まれており、多くの場合、人間やAIが手書きするよりも効率的なマシン語を生成できます。 * マシン語を直接生成する場合、これらのエコシステムの恩恵を受けにくくなります。 4. **移植性と保守性:** * 高水準言語で書かれたコードは、異なるプラットフォーム(OSやCPUアーキテクチャ)に対応したコンパイラを使えば、比較的容易に移植できます。 * マシン語は特定のアーキテクチャに強く依存するため、移植性は非常に低くなります。AIが異なるアーキテクチャごとにマシン語を生成し直すのは非効率的です。 ***マシン語直接出力の利点(理論上):** ** 理論的には、コンパイラを介さずにAIが直接マシン語を生成することで、特定のハードウェアに対して究極の最適化を施せる可能性があります。 ** コンパイルのステップが不要になるため、その分の時間は短縮されます。 ***結論:** 現時点では、AIがマシン語を直接生成するメリットよりも、高水準言語と既存のコンパイラを活用するメリットの方がはるかに大きいと言えます。AIは高水準言語での思考やコード生成に長けており、複雑な問題を効率的に解決できます。コンパイラという強力なツールを利用することで、最適化やプラットフォーム対応といった難しい問題を効率的に処理できます。 したがって、AIにとっても、人間と同様に**高水準言語で記述し、コンパイラを利用して実行ファイルを得る方が、総合的に見てはるかに効率的なアプローチ**です。