Javaは過去と同じ重要性を持ちますか、それとも今日よりも重要性が低くなりますか?
Javaは過去と同じ重要性を持ちますか、それとも今日よりも重要性が低くなりますか?
回答:
Javaは関連性があり、今後もエンタープライズコンピューティングの世界で関連性があります。
他の分野で引き続き関連性があるかどうかは、Oracleの機能に大きく依存します。ME、デスクトップアプリケーション、およびその他の領域に何らかの命(およびリソース)を注入し、Java言語の進化を推し進めれば、Javaはうまく機能します。
しかし、OracleがR&Dを削減したり、Javaの分野で他のプレーヤーを踏みにじろうとすると、誰か/会社がより良い(そしてよりオープンな)Javaライクな言語を開発する可能性が高くなります。OracleがGoogleに対する訴訟に勝った場合、C#で起こったのと同じように、次世代のAndroidプラットフォームには新しい言語が搭載されると予測しています。もしGoogleがオープン性を正しく得るなら...そしてゲームは始まります!
I predict that the next generation of the Android platform will have a new language, just like happened with C#.
ゴスリングは現在Googleのために働くことを忘れないでください。nighthacks.com/roller/jag/entry/next_step_on_the_road
はい、Javaは確かに関連性があり続け、おそらくソフトウェア開発のためのNo.1プラットフォームとしての地位を長期間維持するでしょう。
まず、Javaが強力な選択肢であり、今後も強力な選択肢であり続ける理由:
Javaは依然として最も人気のある言語です。つまり、ほとんどの開発者、進行中の開発、最大のインストールベースなどがあります。急激な減少の兆候はありません。今後10-15年間でNo.1
Javaは、その欠陥にもかかわらず、エンタープライズアプリケーションを開発するための優れた言語です。冗長であり、OOP開発のかなり標準化されたスタイルを促進する傾向があるという事実は、アプリケーションを多くの異なる開発者が長年にわたってかなり標準化された方法で維持する必要がある場合に良いことです。スマートCIOはこれを認識しています。そのため、企業内でJavaがすぐに消えることはありません。ところで、Javaが作成されたときのJavaの明確な目標は、「単純で、オブジェクト指向で、馴染みのある」ものでなければならないということでした。
言語の成功は、言語そのものだけでなく、その言語で利用可能なライブラリのエコシステムの周りにあります。この点で、Javaは誰にも劣らず、膨大な数のオープンソースおよび商用ライブラリを備えています。
パフォーマンス -最新のJVMでJITコンパイルされたコードは、速度の点で最適化されたネイティブコードに非常に近い状態で実行されます。実際には、これはJavaが通常、利用可能な最速の言語/実装の組み合わせの1つであることを意味します(必要に応じて、欠陥のあるベンチマークを参照してください)。Javaが遅いと思う人(または、わかりやすくするために "解釈")は、前世紀の事実を更新する必要があります。
主要な企業支援-Javaは、世界最大かつ最も重要なテクノロジー企業および組織の多くがサポートする戦略的プラットフォームです-Google、Oracle、IBM、Apache Software Federationなどについて話します。Javaは、テクノロジーの主要ユーザーからも実質的なサポートを受けています。 -銀行、メディア企業など。他の言語/プラットフォームには、このような広範な業界サポートはありません(プレイヤーが時折tiffを持っている場合でも:-))
Android-モバイル分野でJavaを大きく後押ししています。多くのスタートアップがこれをターゲットにしていますが、モバイルスタートアップがサーバー側でもJavaを選択する十分な理由があることを期待するのは不合理ではありません。
移植性:Javaは、真のクロスプラットフォームプログラミング環境に最も近い存在です。ハイエンドサーバーからスマートフォンに至るまで、すべてのプラットフォームでコンパイルされた純粋なJavaコードが変更されずに実行されます。同じ程度の信頼性でこれを言える言語はほとんどありません。また、バイトコード言語として、Javaはライブラリスペースに固有の利点があります。これは、コンパイルされたライブラリがプラットフォーム間で本質的に移植性があるためです。
優れたツール -そのほとんどは無料またはオープンソースです。NetbeansとEclipseは、IDEスペースの素晴らしい例です。開発者は、完全に生産的になるために優れたツールを必要とするため、これは言語/プラットフォームの選択における重要な要素です。
Javaはオープンソースです。ここではなぜこれが良いことなのかは説明しませんが、a)OpenJDKのコアJava実装とb)興味深いJavaライブラリとツールのほとんどがオープンソースであると言えば十分です。
Javaは単なる言語ではなく、プラットフォームです。ClojureやScalaなど、JVMには、言語の面でプラットフォームの未来を表す多くの有望な言語があります。私の予測では、Java言語は機能(JDK 7、8など)のマイナーな機能強化を引き続き受けており、これらの新しいJVM言語は最先端のイノベーションが起こる場所です。しかし、それはすべてJavaプラットフォームの一部です。
第二に、Javaはどのように置き換えられますか?代替候補を見てみましょう。
最後に、いくつかの結論/予測:
主要言語の全体的な相対的な位置(市場シェア)は、今後数年間で少し進化しますが、あまり変わりません。JavaはNo.1のままです。
今後10〜15年間、Javaプラットフォームを選択するのに間違いはありません。Javaがすぐになくなることを心配しないでください。
短期的には、Java言語は安全で信頼できる賭けです。長期的に、または革新/言語設計の最先端にいる必要性を感じているなら、ClojureまたはScalaを新しいJVM言語としてお勧めします
人々はJavaについてFUDを広め続けます。無視してください。
最悪の場合(最良の場合)でも、5年以内にJavaが無関係になるとは考えられません。Javaは十分に使用されており、COBOL、Fortranなどとほぼ同じ状況にあります。既存のコードを持っている全員が、できるだけ早く別の言語で既存のシステムをすべて書き直すことを決めたとしても、5年以上かかりますそれをすべて交換してください(そして、5年後には、まだかなりの量のメンテナンスが行われているので、アクティブな使用に十分残っています)。
現実的には、それは起こりそうにありません-Oracleの意見は確かに異なっていますが、Javaに莫大な投資をしているすべての主要なプレーヤーがすぐにそれを落とすほど明らかにひどいことをしているとは想像できません。正直なところ、IBMが(たとえば)Javaの代わりに何か他のものを使用することを検討するまでに、おそらく5年近くの明らかに悪い決定が必要です。彼らはJavaに十分に大きな投資をしており、実質的に代替手段がないと信じるまで、またはそれを落とす可能性は低いでしょう。
私はそれが減少していると言うでしょう。なくなってはいませんが、ピークを過ぎています。
2つの答え:
1)Android
2)ブラックベリー
真剣に、デスクトップ上では、それは減少しているかもしれませんが、それはiPhoneへの2つの競合他社を動かしています。
また、昨年、私は学校でJavaの宿題をしている多くの人々を助けました。ポイントは、Javaはまだ大学で教えられています。
編集:
2011年10月現在、BlackBerryは衰退しているようです。Androidは引き続き強力です。
モバイル市場では重要性を失いつつありましたが、Androidを使用すると再び重要性を取り戻しました。
Javaは、レガシーメンテナンスモードではなく、新しいコードのみを含めるように関連を定義しても、近い将来に関連します。はい、この言語はプログラマーを大人に同意するのではなく、いたずらな子供のように扱い、扱い、石器時代から改築されていません。一方:
Javaには素晴らしいライブラリがいくつかあります。
JVMは素晴らしいプラットフォームです。
JVM言語が急増している今、これらのライブラリを使用するためにJavaでプログラミングする必要はありません。
私見では、物事が進化する方法は、JVMの世界のJavaが、ネイティブにコンパイルされた世界のCになることです。人々は日々のコーディングでScala、Jython、Groovyなどを使用しますが、これらの言語から古くて粗末なJavaコードを永遠に呼び出し続けます。おそらく最も低レベルで最も効率的なJVM言語であるため、特定のパフォーマンスクリティカルなコードは依然としてJavaで記述されている可能性があります。古いライブラリには新しい機能を追加する必要があります。したがって、Javaは、平均的なプログラマーが日々使用していない場合でも、非常に関連性が高いままです。
関連性が失われるとは思わない。Java 7には、開発者が優れたソフトウェアを簡単に作成できるようにする多くの優れた機能が搭載されています。
また、Blackberryアプリケーションの作成にはJavaが使用されます。大手企業の携帯電話の1つ。それはすぐにどこにも行かないと言うのは安全です。
私は主に.NET開発者ですが、タスクを手に入れるために必要に応じて他の言語(Javaを含む)で作業しています。このように、言語を使った私自身の経験に基づいて、私はそれがすぐにいつかなくなるとは思わない、ここに理由がある:
Java 言語はゆっくりと衰退しているかもしれませんが、Java プラットフォーム(JVM + JDK)はここ数年で確実に活況を呈しています(Scala、Clojure、その他の多くの言語、Androidフレームワーク)。組み込みのモバイルデバイスからメインフレームエンタープライズまで拡張可能なマルチアーキテクチャ、マルチOS、マルチ言語プラットフォームが簡単に(実行可能な場合のみ)最適であり、現時点で匹敵するライバルは存在しません。そのため、Javaのプラットフォームは5年、さらには15年で関連するものになると期待しています。また、Javaの人気がピークを過ぎたとしても、Javaは長期的に関連する言語になります。
TIOBEは言語の使用を評価します... http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
彼らの統計に基づいて、Javaは道をリードし、おそらく長い間そうするでしょう-2005年以来#1。私はキャリアを通してJavaを使用しており、働いたことのあるすべての場所で-自分自身を考慮した場所でもMicrosoft Dev Shops。Javaは、MacまたはLinuxサーバー上でソリューションを開発する必要がある場合に簡単に習得できる言語です。
また、優れたole C / C ++は、#2と#3で依然として強力です-C#-誰もが最も人気があると思う言語(MSマーケティングが最高)-は近づいていません!現在C#を使用していますが、JavaとDelphiで記述したコードの量に匹敵するようになるには何年もかかります。
だから、Javaを学び、使用することを恐れないでください-彼らのために掲示される仕事が常にあります。ですから、はい、Javaは今後非常に重要なものになるでしょう。
言語がどのように進化するかによります。
現在、Javaは言語としてあまり機能的ではありません。OOPという1つのパラダイムをサポートするために生まれました。高レベルの抽象化を許可する言語(C ++やそのメタプログラミング機能など)とリフレクション機能を備えたスクリプト言語(Pythonの「exec」や「dir」コマンドなど)の中間に位置していますが、どういうわけか実際の場所を見つけることができません。基本的に「言語」として廃止されています。それがモバイルデバイスの事実上の標準であるという事実のために、私はそれがもう死んでいると思う。
それがOOPにとって良い教育言語であるという事実に関しては、私が見ることができることには疑問があります:すべてのJava生まれのプログラマーはどこでもVisitorとObserverパターンを生み出しますが、Javaプログラマーで素晴らしい経験を持っているわけではありません。
まだ多くのレガシーコードがあり、モバイルデバイスでは標準です。つまり、デスクトップまたはWebアプリケーションのいずれにもJavaを選択することは決してないということです。ビジネス用のものとは別に、理由はありません(「Java」と言うとほとんどのマネージャーがうなずきます。それがモバイルデバイスの標準である理由です)。
私見ですが、Javaはその構造や能力が実際に進化していなくても、非常に関連性を保ち、使用が拡大します。
私の理由は次のとおりです。-多くのコードがあり、メンテナンスには新しいコードを書くよりも多くの人が必要です。
「VM言語が遅すぎる」キャンプは徐々に失われています(特にJavaがアルゴリズム取引に成功したため)。
大手企業は、オラクルを含むすべてのセクターでまだ使用しています。
AndroidプラットフォームはiOSよりも急速に成長しており、他の競合他社は見当たりません。
人々にとって関数型言語よりも簡単に使用できます。言語の純粋主義者や学者は関数型言語とその機能を評価するのは簡単ですが、CS学位のないほとんどの初心者はラムダの力を完全に評価していません。ですから、これらの言語が飛び立つとは思いません。
完全に無料です(.NETとは異なり、Windowsエコシステムにより近いにもかかわらず、代替手段があります)。
COBOL、Fortran、およびCは引き続き関連しています。Javaが5年間でなくなる可能性はどのくらいですか?5年以内に新しいJava開発はそれほど多くないでしょうが、Javaを使用する人が多く、ショップが好みの言語を切り替えるのがかなり遅いため、私もそれに反対します。
Javaの世界には、特にJRubyとRailsまたはGroovyとGrailsの完全に素晴らしい採用など、Javaにまだ多くの命が残っていることを示す傾向があります。次に、Androidの状況がありますが、これもJavaに有利です。最近のMac上のSnow Leopardのように、特定の変更(外部ドライバーなしでMidiをサポートするようになった)により、デスクトップでも可能性が高まっています。そして、Swingアプリはようやく99%ネイティブに見えます(または、少なくとも今ではこれを信じている多くのナットケースがあります。10年前には何もありませんでした)。
Javaには90年代の素晴らしい瞬間があり、それがすべてのソリューションであるように思えました。今では、すべての解決策は何もないことは明らかです。.Netは、お尻、Ruby、Python、PHP(間抜けなCMSソリューションと、人々が生涯結婚するフレームワーク全体を備えています!)、Java(Groovy JRuby JPythonを何とでも)、およびその他多くの機能を備えています。答えは:
多元的宇宙を期待する
Javaはこの宇宙で引き続き主要な役割を果たしますか?「JVMで実行される言語」を意味する場合、答えは最も確実です。答えが単なるJava(言語、JVMなど)の場合、答えは「たぶんそれほど重要ではない」です。しかし、さあ、まだCobolがぶら下がっています。
GoogleはJavaで多くのことを書いており、GoogleはWebの最大の会社です。ウェブは未来であると思います-ウェブアプリケーション、クラウドコンピューティング-そして、私はJavaがまだ未来に関連すると思います。
そして、私の意見ではスマートフォンの未来であるAndroidがあります。そして一部の人々は、スマートフォンはコンピューターの未来だと言っています-私の意見ではありません:)-しかし、誰もがJavaに大きな未来を与えました。だからJavaに行く:D
Javaの衰退に関するReadWriteEnterpriseの記事を次に示します。
http://www.readwriteweb.com/enterprise/2011/02/javas-not-dying-its-mutating.php
私たちが目撃しているのは、Javaの死ではなく、Javaの変容です。企業を支配していた単なる汎用プラットフォームから、さまざまな特殊アプリケーション向けの多くの異種テクノロジーの根幹になりつつあります。
また、特定のツールがJavaテクノロジーの代替手段を提供する方法についても説明していますが、必ずしもそれを置き換えるものではありません。
NoSQLデータベースはリレーショナルデータベースに代わるものを提供しますが、リレーショナルデータベースがなくなるということではありません。同様に、Node.jsはApacheに特化した代替手段を提供しますが、Apacheを強制終了しません。