お疲れ様です。
ずっとc#の勉強をしてますが最近javaに切り替えようかと迷っています。
ネットを見ていると将来性があって現在も需要が高いので将来的に残っていくと思うのでjavaに切り替えようか悩んでいます。
みなさんはc#とjavaだとどちらの言語が将来性があると思いますか?
また他に将来性高い言語があれば教えていただけること嬉しいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/10 07:25
2020/06/10 07:29
2020/06/10 07:39
2020/06/10 07:45
2020/06/10 08:03
回答5件
0
ベストアンサー
Javaはそのうち滅びます。
[理由1] Oracleが近いうちにJavaを捨てる
OracleはJava環境を有償のOracle Javaと無償のOpenJDKに分離しました。OracleのOpenJDKは長期間サポート(LTS)が無かったため、商用レベルの長期間動作をサポートするためには有償のOracle Javaにするしかないと目論んだのです。しかし、この戦略は大失敗に終わりました。無償のOpenJDkをLTSで提供する所が現れたのです。そのため、多くのJava開発者達は、メインでサポートするJava環境にOracle以外が提供するLTSである無償のOpenJDkを選択しました。もし、Java環境に有償サポートが欲しい場合は、それらのOpenJDKの有償サポートを利用すれば良いとなりました。
もう、Oracle Javaを選択する理由はありません。この状況から、Oracleは確実にJavaを捨てます。これまで捨てていったSunの資産と同様に、簡単に捨て去るでしょう。Oracleに期待することは無駄の極みです。
[理由2] 古くさい言語設計への継ぎ接ぎ
Javaの言語設計はとても古くさいものです。Java 8以降はラムダ式、Stream、var等を追加してきましたが、過去の互換性のせいか、使い勝手が悪いか、何か制限があるか、本当に欲しいものが不足しているかの何れかです。根本的に言語設計を作り替えないと、今さら何を継ぎ足しても無駄です。
[理由3] 優秀なJava代替言語の登場
JVMで動作するJava以外の言語と謂えば、Scala、Groovy、Clojureと他にもあり、そして、今最も注目されているのがKotlinです。もはや、Javaで書く理由はありません。JVMが提供する安定性や並列性が欲しいのなら、過去のJavaの資産を流用したいのなら、Kotlinでもできます。そして、JavaよりもKotlinの方が言語的に優れており、使わない理由はありません。
[結論] COBOLと同じ道を辿る
もうJavaはCOBOLと同じ道を辿るでしょう。これは必然です。ですが、COBOLの仕事がまだなくなっていないように、Javaの仕事もあなたが定年になるまでは残っている可能性は高いです。しかし、仕事は全体的に少なくなったのに、Javaができるという人だけがたくさん残ります。その中で仕事が取れるのは本当に優秀な一握りの人達です。
かつて多くのCOBOLerは、突然、Javaの本を渡され、明日からJavaをやれと言われました。時代は流れて、Javaerも、突然、別の言語の本を渡され、明日から別の言語をやれと言われることでしょう。
あなたはそれでもJavaを学びますか?
※この回答は個人の感想であり、あなたの住んでいる世界とは異なる世界の出来事かも知れません。
投稿2020/06/10 10:02
総合スコア21735
0
この手の「将来性のある言語」的なことを問う質問はたまにありますが、そのたびに「未来のことは誰にも分からない」というアドバイスがつきます。
それはその質問や回答がついてから幾何か月日が流れた今でも変わりません。
それに赤の他人のアドバイスをどれくらい信じますか?大嘘言うかもしれません。
これは人生相談系の質問に限らずです。
結局、自分で決めて、確かめるしかない。
C#からJavaに乗り換えようかというのは別にかまわないと思いますが、「ネットを見てると」というところは非常に引っ掛かります。
私がteratailはじめる2年ほど前にたてられたphpがダメと言われる理由という質問がありますが、それから5年たった今、ダメかどうかは置いといて、廃れたと言いきれるでしょうか?
質問数はteratail内ではトップクラスです。
質問数はあくまで目安ですが、回答者も多く、回答もつきやすいです。フレームワーク利用者も多いです。
PHPはあくまで一例。
C#もJavaもいろんな使われ方がありますよね。
結局は自分がどうしたいか?
もし仕事をしていくのが目的なら、狙っている業界で何を求められているか?
のほうが大事でしょう。
ちなみに私のアドバイスも「ネットで見つけた1私見」にすぎませんので、どれくらい取り入れるかは自分で決めてください。
結局は自分の人生です。
自身で決める力、切り開く力がないと、何やってもうまくいかないと思います。
投稿2020/06/10 07:24
総合スコア80850
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
どっちか一つに決める必要がありますか?
両方やればいいのでは?
現役のプログラマで使える言語が一つだけという人はあまりいないと思います。
C#をある程度身に着けたらJavaに移行すればいいだけです。
両方もしくはもっといろいろな言語が使えた方が、仕事の幅が広がりますよ。
むしろ柔軟に対応できないと生き残れないとも言えるかと。
もっとも今色々学ぶ必要はなく、必要な時に学べばよいと思います。
何かひとつでもマスターしている言語があるなら、他の言語でもそれほど苦労はしないはずです(例外はあります)
投稿2020/06/10 07:28
総合スコア16998
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ずっとc#の勉強をしてますが最近javaに切り替えようかと迷っています。
(プログラミング言語そのものに情熱を持っているような一部の人を除けば)プログラミング言語は、あくまで目的のものを作るための道具です。
目的のものを作るのにどれだけ向いているのかが、言語選択の第一の評価軸となります。
そういう観点で見れば、C#とJavaはメインとするプラットフォームやバックグラウンドが大きく違ってきますので、この2つで「どちらでも作るのに同じぐらい向いている」となるものはあまり多くありません。
投稿2020/06/10 07:29
総合スコア145184
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。