はてなキーワード: javaとは
50代のおっさんだけど、自分は最初は構造化もされてないBASICやFOTRANで、それからアセンブラをやって、これからは構造化プログラミングだ!ってことでCやPASCALをやって、それからオブジェクト指向のC++やJavaをやった。
大変だよな。
node.jsだとJavaScriptは古いゴミみたいな情報がー、とか毎回言い出すわけだけど、どうせWebやるだけなんだったら尚更で、
ASP.NETだったらMicrosoftがドキュメント書いてるし、日本語にもなってたり、まあ、昔のMSDNに比べたら投げやり機械翻訳のページもあるけど、
Appleとかだったら日本語翻訳なんてサービスしないわけだし、オープンソースなプロジェクトなら尚更なわけで
英語圏が中心メンバーだったら日本語ユーザーが率先してコミットしていかないとドキュメントの日本語対応なんてやらんわけで
そういう意味で、中国は頑張ってる?というか、言語の選択肢に中国語、韓国語はあるけど日本語はない、ってよくある気がするし
Microsoftのドキュメントの方が下手なドキュメントよりしっかりしてる気がするんだけど
初学者にもそこそこ優しいはず
もっと優しいドキュメントは手取り足取りの書籍を読んでもらうしかない気がするし
node.jsもそうだし、Pythonなんかも2と3はもう問題あんまりない(といっても昨日あったのだけど)わけだけど、3.6と3.8で挙動が違うとか対応しないはある気がするし
JavaもStruts 1が当然だった時代から今ならSpringなのかもしれんけど、まあ、Springのドキュメントも古いのと混在してたりする気がするけど、
Struts 1に比べれば断然環境は良くなってるけど、開発環境もSpringに特化したEclipseは提供されてるけど、Visual Studioの方がいいんでないかと思う
Spring以外の選択肢もあるし、JavaVMで動く言語は他にもあるし、そういった他の言語の方が先があるかもしれないわけで、良くも悪くも混沌としてるわけだ
良くも悪くも混沌としているというのはコミュニティとしては活気があるとも言えるわけで、創造的ではあるのだけど、
初学者的には何もない荒野に放り出されるような気分になるのかもしれない
そこでフリーソフトの本当の意味とは、自由なソフトウェアとはみたいな話は迷惑なだけで、
寧ろ大資本が全部お膳立てを揃えてくれていて、やっぱりお金でメンテされてるものって最高、って感じがあるんだよなあ
ある種の敗北宣言でもあるんだけど
ラーメンハゲが言ってたように、無償の労働だと人はいい加減になるのが普通なわけで、そこは熱意では乗り越えられない壁がある
だから、オープンソースのプロジェクトも継続するにはパトロンが必要だったり、主要な開発者が金銭的な問題を被らないように援助する必要がある
MozillaからRustを分離した団体にしたように、Mozillaの政治的なしがらみを受けず、独立してお金を集めるべきみたいな話とか、脱線してまとまらなくなったどうしよう
大学院を中退して久しい。記憶が正しければ、私が大学院中退を決意したのは6月末であったことから、あともう少しで半年が経つ。
さて、就活についてはようやく良い風が吹いてきた。金融の、ある分野において業界上位三位以内の地位にある企業の最終面接の一歩手前まで進めることができている。
一部上場のIT企業(Sier)については、最終面接を控えるところまできた。ESを提出した後に任意の質問会をやると聞いたのでそれに参加してみると、人事が質問会で「この質問会でESブラッシュアップしてね」なんて言い出した時は冷や汗が止まらなかったが。
どちらの企業も来週面接であることから、中々にプレッシャーではあるが、何とかなるだろう。
ところで、前回の記事で「まあ、プライドが高いお前は上場企業じゃなけりゃ満足しないんだろう(⇔身の程を知れ)」といった趣旨のコメントが付されていたが、当然である。プライドが高いからこそ、私は結果を出せないと満足できない。そのお陰で、就活もここまで進めれている訳だ。実は、総合商社の中途枠についても、二次選考まで進めれていたりもした。とは言いながらも、今現在も無職であることには変わりがないことから、彼彼女をあざ笑うにはまだ時期尚早ということで、この程度にしておく。内定が出たら改めてあげつらう予定だ。
エントリー中はなりふり構わず履歴書を送りまくっていたし、後輩にESや面接の方針について教えを乞うたりもしていたので、どちらかというとプライドをかなぐり捨てているような気もしたが。キレてノートパソコンを叩き割ったりと結構な醜態を晒していたし。
さて、私は上のどちらかの企業で王手をかけて上がる予定でいる(が、一応今も履歴書は送りまくっている)。金融の方はやはり選考難易度が高いことからまだまだ気は抜けないが、ITの方はコロナ禍であるにも関わらず敢えて増員していたぐらいだし、「最終面接で落ちることは基本的には無い」というのが就活サイトでの定説である(らしい)から、余程の地雷を踏みぬくか、ドジを踏まなければ内定は出ると睨んでいる。金融の方で面接を何度もしたから、これが活きてくれば良いのだが…。
そんな時、「私は一体何をしたいのか」と考えた。前の記事でも書いたが、私は資格を取ってプロになろう、という心づもりでいた。実は、この思いは今でも捨てきれていない。
そして、その資格であるが、実は金融ともITとも親和性が良いのだ。シナジーが大きいだけでなく、その両者について深い理解をしている有資格者が少ないことから、収入の面でも大きく期待できる。社会にも十分貢献できると思う。
ただ、金融 or ITのプロとして生きていくのも楽しそうだと感じるのだ。
金融については所謂部門別採用ではないため、基本的にはその足で走り回って数字を上げることになるだろうが、人と話すのが好きな自分としては極端な苦手意識はない。一時はクラブナンパなんかもしていたぐらいなので、目の前で蹴り捨てられる程度じゃヘタレることもない(流石に悪意むき出しの悪口を言われた時は少しキツかったが)。また、金融については学部・院生時代にある程度かじっていたので、苦手意識は全くないどころか得意と言い切ることもできる。勿論、いわゆる金融マンであることから死ぬほど大変であろうが、楽しめる気はする。
ITについては、大昔に自分でパソコンを組んだことの他、ネットサーフィン経験を通じてセキュリティ・ネットワーク周りのことを最低限身に着けたことを除けば、全く知識がない。今現在基本情報技術者試験の勉強をしているが、何が分からないのか分からない、という部分が大半である。ただ、参考書を見た瞬間に脳がストレスを感じる、ということはない。Javaの解説ブログなんかも流し読みしてみたが、面白かった。全く適性がない、ということはないと思う。金を産めるか、という質問について胸を張ってイエスといえる自信はやはりないが。
就活生は、どのようにして自己のキャリアを定めるのだろうか。学部時代のある友人は、憧れを理由に、その企業を選んでいた。金を理由にその企業を選んだ友人もいる。その企業の製品が本当に好きだからということで、その企業へ進んだ友人もいる。
どの友人も、見事であると思う。内定をきっちりと取り切っているし、何より行動に対する結果が伴っている。そして、今も尚働いている。素直にすごいと思うし、心の底から尊敬している。将来的に転職をすることになったとしても、私からすると学部時代にそのようにはっきりとしたキャリアプランを持つことができていたことそれ自体が大変素晴らしいことだと思う。
私自身、それなりに将来のことを考えて進路設計はしてきたつもりだったが(母親に奨学金を使いこまれるのは流石に予想外だったが)、良いように言えば知的好奇心が強い、悪いように言えば器用貧乏なタイプなのだ。この性格から、上記の企業で知識を身に着けながら学部時代より抱いていた思いを実現するべきか、それともその道のスペシャリストとして生きていくべきか、と今もくよくよと悩んでいる。一刀両断的な判断はあまり好まないため、どこかでグレーゾーンを設定して落ち着くことになるとは思うが、今現在それを設定できない自分に対するもどかしさは結構感じている。
馬鹿に継承を扱わせると、仕事している感を醸し出すために継承を活用せざるを得ない。だから、継承はクソに見える。よって、増田の言いたいことはわかる。
しかし、冒頭で書いたとおり、多態を適切に扱うために継承は必要なのだ。これ以上は書けない。これからもクラスベースの OOP は消えることないであろう。それを書くすべを私は持ち得ていないので、null が消えない事実を例にして語ろうと思う。
21世紀のプログラミング言語のチャレンジの1つはなにか、と言ったら「null 撲滅」であろう。関数型言語は null を排除することに努めたし、Swift 言語は Optional という null がはいっていないことを保証する仕組みを作ったり、Haskell は圏論という数学の概念で応対しようとし、Ruby 言語は &. という「null をスルーするメソッド」を開発した。でも、null は撲滅出来ないままである。
そもそも null とは何か?C言語では、ポインタが指すとそこでお終いだし、Java だとヌルポ(例外)の要因だし、Ruby だと NilClass のインスタンスだし、SQL言語だと「3値論理」では未来のことを記述するためのものだし、言語によって null はバラバラである。つまり、null 自体には特に意味はないのだ。逆に null があると便利だと思わないか?C言語ではポインタに死んでもらえるし、Java だとヌルポがあったら例外にできるし、Ruby だと nil があったらなにかの理由があるからだし、SQL言語だと未来のことは不明と記述できるし。そうなのだ、null はプログラミングに必要なのだ。null をちゃんと扱うのが難しいだけで、null 自体に罪はない。
これを継承、というか多態にあてはめてみよう。多態がないとどうなるか想像してくれ。とてもしんどいことになる。なぜなら...
(作者は眠たくなりました。続きが読みたかったら反応ください。)
まぁ、でも多分こんな目的では?という予想はあるよ。
・Java が単一継承となり、振る舞いの規約として Interface が生まれ、具象化が不要な始祖クラスとして抽象クラスが発明された。おかげで、言語が官僚化した。
・Ruby と Scala では、Interface に振る舞いが記載できるようになって、Mix-In という方法で振る舞いを継承できるようにした。その継承に優劣をつけれるようにすることで、C++ と Java の出来なかったことを解消しようとした。
・今のところ、単一継承を行うクラスベースの継承を行う言語でこれ以上の解答を用意できた言語はない。今のはやりは Rust のような後付の継承を良しとするプロトタイプベースの継承が時代のはやりである。
こんな感じなんじゃねーの?Ruby が好きだから、Ruby 史観で書いたけど。つまり、トレイトって「振る舞い」が記載できる Interface のことだと思うよ。
東京ではないが、東京の最も近い繁華街へ電車で30分、丸の内や霞が関などには1時間ちょっとで出られる場所に住んでいる。
転職活動をしていたときに家に近い会社もあるかインディードで検索をしてみた。
ちなみに僕はプログラマだ
すると家から歩いて3分のところに求人を出している会社があった。
ある業界の物流をやっているの会社が家の近くにあるのは知っていたが、まさかシステムエンジニアを採用しようとしていたとは思わなかった。主に倉庫とトラックの会社だと思っていたからだ。
調べて見ると、その業界の商慣習にあわせた受発注システムを作ったらしい。
採用の要件はJavaの実務経験が必須なのだが、月給は額面で17万だそうだ。その会社の規定により試用期間は14万程度らしい。
これまじで来る人いないだろうなと思う。
電車に30分乗ればもっと待遇のよく異動もない会社はたくさんあるだろう
おそらく月給を上げることは難しいだろうから、システムを畳むか、ランサーズで格安でなんとかしてもらうか、自社内で頑張って勉強してもらうかしか無いんだろうなと思っている。
仰ることはわかりますよ。フレームワークを使いこなしているだけで、言語や理論を知った気になっているという指摘はわかります。
しかしながら現実問題、大多数が使っているフレームワークを使わないと CSRF や SQL インジェクションといった脆弱性に対して低コストで応対できる方法がありますか?まさか WAF でどうにかなるなんて、言いませんよね。今どきフルスクラッチでアプリ作れ、なんて逆に技術力がないとしか聞こえませんが。
ぶっちゃけ Ruby や PHP なんて、クライアントとサーバのデータを低コストで受け渡すだけのツールとしか思ってないわ。RDB や S3 といったドメインはストレージにより近いなにかだし、iOS/Android/ブラウザ もたかが Swift/Java/HTML+CSS+JavaScript をいじるだけじゃねーか。ウェブ領域はセキュリティ気にしないと死ぬから、むしろメンテされているフレームワークを更新し続けないと死ぬんだよ。自作やメンテしてないフレームワークを利用する方が気がふれているとしか思えませんがね。
40歳過ぎたあたりで、突然気づいたんだけど
「転職してない人」を見かけなくなったなと気が付く。
なんというか、「年取っていくと求人が減っていく」という現象は見受けられるんだけど、1〜3社くらい転職している人がごく当たり前。
就活を終えて年を取りいろいろ経験すると、何か特別だと思っていた新卒企業もこのままいるとヤバいと気づき、
上司もいい人ではあるんだけど「まあ、人生ってそんなもんだよな」とあきらめて、転職をする。そんな過程をイメージしてた。
んだけど、たまには生き残ってしまう人間というのもいるわけで、そういう人間とたまたま話す機会があった。
誰でも知っているあの有名なFから始まる総合電機メーカーを新卒入社後23年勤めて、弊社で2社目。
ハローワークの職業訓練でJavaを習って実務経験はなし。働き方改革がうんたらかんたらでジョブ型雇用がうんたらかんたらで、うちの会社では定年まで働きたいらしい。
「へー、なんかこういう感じの人久々に見たな。」と思ったらOJT担当から「『クラスって何ですか?』って質問された...」とSlackが来た。
さすがに前職や職業訓練でもやるんじゃないのかと思ったけど、俺は何も聞かなかったことにして、なるべく一緒の案件が振られないことを願った。
そんなこんなでコロナ禍がやってきて、人々はリモートで働くことになった。彼はというと、JIRAのチケットも特に割り振られることもなく、
全体のMTGでも特に何をやっているわけでもなく、Zoomでの進捗報告の場でも「本を読んでいます。今日は何章まで進みました」しか言わない。
「あの人大丈夫ですか」と上司に聞いてみたら、「gitの使い方が分からんらしいので自習してもらっている。今度人事と面談して部署替えを検討する」という話だった。
なんか不憫だな。。。と思っていたら、いつの間にかSlackにログインしなくなっていた。定例ミーティングにも顔を出さないし、勤怠もつけていない。
人事から連絡はしたらしいが、連絡はつかなかったらしい。「4X歳なのにバックレとかないっしょw」と思っていたが、
1社で23年働いてて、職業訓練通ってうちに来た。という人だしな。。と思うと、何も意外性はなかったのかもしれない。
ある日、全体ミーティングで彼が退職した旨が部長から伝えられ、面接にコーディングテストが追加されたという話が同時にされ、部署内で爆笑が巻き起こった。
俺はなぜか笑うことが出来なかった。
まあ、冷静に考えると痛い中途が入ってきてバイトみたいな辞め方したってだけの話だと思うんだけど、
彼が会社に来なくなってから色々と考え事をしてしまうようになった。
会話のパターンが4つくらいしかない人だった。「F通の話」「日経新聞の話」「松下幸之助の話」「松下電器の話」
松下幸之助の本は読んだことないらしいけど、「天才だ」「天才だ」とあがめて、当時の富士通がいかにヤバく、松下電器がいかにヤバいのかを教えてくれる。
率直な感想として、「コピペみたいだな」って思った。話も。人生も。
自分で語りえるものはなく、情熱をもって成し遂げることもなく、「終身雇用ストーリー」を純粋に夢見て行動を続ける彼は、まるで課長島耕作のコピペみたいな人生。
日経新聞を購読し、プレジデントを購読し、養分として過ごした自分に気づいたときには、元F通のプライドが邪魔をしてもう抜け出せない。
じゃあどうすれば良かったのかってことも考えたんだけど、たぶん彼の振る舞いはある一定の時期においてはプラスに働くこともあったんだと思う。
よかれと思ってやっていたし、それがきっと良いことだとも思っていた時期もあるんだと思う。
多分、ピュアに彼は「終身雇用は続く」って信じてたんじゃないかなと思うし、行動してなかった。
それが深くアイデンティティと結びついた状態でなにも成長しないとああいうキメラが生まれてしまう。というのが事の顛末なのではなかろうか。
言動と能力は年々差が開いているなかで、年齢を積み重ねてどこかでまたクソ高い購読料の新聞や雑誌をまた契約するのだろうかと思うと、変な声が出そうになる。
そして、現在完了進行形で養分になっているのだ。この広い世界のどこかで。こんなにしんどい話があっていいのかと思うが、ある。
4X歳で突然Javaを習い始めても、技術者になるのはかなり難しいし、隠れた才能が突然開花する! みたいな異世界転生ものみたいなことも起きえない。
きっとアイデンティティと結びついた、彼の行動を変えることはもう誰にもできない。