かつて類人猿の間で人気があったが、それらが破壊されるまでさまざまな新しいテクノロジーで隠されていたテクノロジーの価値を簡単に忘れることができます。当時の古い類人猿が使用していた魔法の武器であるCobolを、それが死んだ魚であるかのように、それは基本的に現代の類人猿によって説明されていました。現代の類人猿のバックボーンとしてのJavaは、この時点で次のCOBOLになる可能性があります。
Java Technologyによって販売されている本の数から長い時間がかかりました。現在中年になっているJava言語の目的は、さまざまな雑誌の表紙にはもはや登場しません。 Javaが生まれてから19年が経ち、アプリケーション開発サークルは、「node.js」、「Objective-C」、「dart」、「go」などの新しいテクノロジーを回避し始めています。ジャワ?それはWeb 1.0 ERAの伝説ですよね?
Javaが果たす役割とコンピューター業界での顕著な貢献を忘れる前に、JavaはCOBOLのように破壊されないだけでなく、その後の時代にも強くなるという12の絶対的な理由があります。
言い換えれば、これがJavaの反撃であると言ってはいけませんが、Javaは常にそこにあり、そのステータスを揺さぶることはできません。
Javaが支配し続ける主な理由、No。1:政治的(通常は劣っている)闘争では不慣れな
当初、テクノロジーコミュニティは、敵が多すぎて「リッチ」だったため、Javaが成功するとは考えていませんでした。それにもかかわらず、Javaは栄えました。 Javaがまだ存在することに驚いた人は、Javaに対するgrみを抱いている人たちの話を聞くのに多くの時間を費やしていたに違いありません。
マイクロソフトは、MS-Dosが当時普遍性を提供していたため、Javaが直面した最初の強力な対戦相手でした。Microsoftは、Javaがこの普遍性の最も可能性の高い代替品であると考えました。レドモンドは最初からジャワを批判しており、あらゆる方法でそれと戦っています。デスクトップアプリケーションの方向では、Javaは、強力なJava仮想マシンを開始するのに時間がかかりすぎるため、必要な開発の原動力を探したことはありません。いくつかのスタートアップの遅延にもかかわらず、Javaアプリケーションはウィンドウプラットフォームで引き続き利用できます。
スティーブ・ジョブズは、Adobeを除くすべての人がMacが無視された時代でさえ、何らかの未知の理由でJavaを受け入れることはありませんでした。 Javaの互換性は多くの有用なコードをもたらすことができますが、AppleはJavaを最初の選択肢と見なしたことはありません。 (実際、iOSスマートフォンは私が使用しているAndroidよりも滑らかなので、Steveは正しいかもしれません。)
Java内の多くの闘争もそれに大きな痛みをもたらしました。 IBMはJavaが好きですが、太陽と戦っています。 「Eclipse」を開発した優れたIDEツールを呼び出すというIBMの決定は、Sunのスタッフに容易に受け入れられたことはありません。 SunはIBMほど深くビジネス分野を理解したことはありません。
これらの理由にもかかわらず、Javaの作成者はJavaの開発に多くの間違いを持っていますが、Javaはまだ急速に成長しており、サーバーアプリケーションの分野で実りある結果を達成し、デスクトップアプリケーションの分野での基本的なビジネスニーズを満たしています。すべてのテクノロジーは政治的乱流で前進する必要がありますが、Javaはより困難でさらに遠くになり、Javaは通常、多くのアプリケーションにとって優れた選択であることを証明しています。
Javaが支配し続ける主な理由、ポイント2:スレッドの魔法
Java仮想マシンの長所の1つは、マルチスレッドコントロールです。 JVMは、大規模なマルチコアマシンで何百ものスレッドを実行する安定性のための優れた最適化を行っています。これが、JVMで実行するために他の言語がクロスコンパイラとエミュレータを作成する理由でもあります。
Javaのこの能力は、多くの交通量の多いウェブサイトにも魅了されます。デスクトップ上で開発し、サーバーにスローして、JVMがマルチコア機能を実行できるようにすることができます。
Rubyは、簡潔な構文と優れたソースコードの読みやすさのために、Javaの現在のライバルになっています。しかし、パフォーマンスがボトルネックになったとき、Rubyの開発者はJrubyに移りました。これは、JavaでシミュレートされたRuby環境と、高負荷の下でスレッド処理機能を強化しました。 Sunの古い類人猿の詳細の取り扱いは、Jrubyが非常に人気を博しました。 (翻訳者のメモ:ほとんどの人はRubyプログラムを書き終えてからJrubyを使用して戦争を行い、サーバーに投げます...)
Javaが支配し続ける主な理由、ポイント3:Javaは初心者向けの言語です
宗教、軍隊、そして国の繁栄は、若い頃の中国人の洗脳とは不可分です。大学として、APコンピューターコース(翻訳者のメモ:高校生は大学のクレジットを利用して数えることができます。アメリカ大学評議会によって提供された米国の責任者機関が提供することは、多くの生徒が最初にJavaと接触することを意味します。この先入観のために、彼らは他の新しい言語を学ぶとき、彼らはJavaの利点と短所を反映します。ほとんどの学生がキャリアを変えて他の言語を学んだとしても - ほとんどの学生はコースを受講した後にJavaを捨てますが、考えているときにJavaの影響を受けます。
教育言語としてのJavaにはその理由があります。若い類人猿の中には、データ型を宣言するのが好きではありません。それは、オーバーオールを着用してベルトを着用するように頼んでいるようなものだと考えています。これは抽象的に思えるかもしれませんが、若い類人猿がコンピューターの原則のいくつかを理解できるようにするためには、これは良い方法です。 Young Monkeysがコードを作成するときにデータ型を宣言し、コンパイラはデータ型が一致せず、コンパイルできないことを伝えます。
いわゆるファッショナブルな言語の中には、それらを維持するのが面倒だと思うため、巻き毛を放棄したものもあります。これは真実かもしれませんが、巻き毛の装具は、それらの初心者にとって非常に便利です。巻き毛の装具は、新人がすべての巣を分解するのに役立ちます。
一部の人々は自分の言語を宣伝するために一生懸命働きたいと思っていますが、ほとんどの場合、彼らの最愛の言語はより自由であり、Javaほど多くの制限やルールを持っていません。彼らは非常に良いアイデアを持っていますが、彼らは文法をよりシンプルで清掃するほど、開発後期に明らかな問題を抱えるという事実を無視しています。一部の人々は、これが「オーバーオールを着用し、ベルトを着用する」ことを窒息させると感じていますが、Javaは最初からより良いプログラミング習慣を促進しています。初心者がよく訓練されている場合、彼らはこの無料で危険なプログラミング方法を処理できます。
Javaが支配し続ける主な理由、No。4:クロスプラットフォームの互換性(すでに近い)
Javaはクロスプラットフォームの互換性を提供する第一言語ではありませんが、Javaは最も人気があります(クロスプラットフォーム言語)。これは、Javaが完璧であることを意味するものではありません - 欠落しているライブラリまたは不一致のライブラリがプログラムをクラッシュさせます。 Java Meの電話で最新のJRE 1.7をコンパイルしたメモリを大量にコンパイルする必要があるデスクトッププログラムを実行することはできません。 Javaはそれほど互換性がありません。
しかし、サンと今、オラクルは、プラットフォーム全体でプログラムを利用できるようにするために最善の努力をしました。プログラム(複数のプラットフォームでは使用できない)の場合、理由(これらの問題を引き起こす)は通常理解できます。適切なJavaバージョンを使用して、十分なメモリがあることを確認する場合、(プログラム)は通常適切に機能します。 Javaプログラマーは、デスクトップ開発ツールを使用して、ターゲットデバイス(電話またはサーバー)にエンコードして展開できます。コンパイラに正しいライブラリが含まれ、正しいバージョンを使用すると、コードが実行できます。これは貴重な機能です。
Javaが支配し続ける主な理由、No。5:チップでの継続的な成功
Javaはデスクトップフィールドに大規模なアプリケーションを作成したことがないかもしれませんが、モバイルの世界に温床が見つかりました - 爆発的な市場セグメントです。 AndroidプラットフォームはJava上に上から下に構築されており、その販売は今日のiPhoneを簡単に超えています。
この支配的な位置は新しいものではありません。 Java Meは合理化された言語として、VMは多くのいわゆる機能携帯電話で広く使用されており、世界のスマートフォンの数はほぼ数万人です。
それらをすべて混ぜると、Javaの利点は驚くべきものです。
Javaが支配し続ける主な理由、No。6:Blu-ray
Javaはかつて「Oak」と呼ばれ、セットトップボックス用に設計された言語であり、Sunはこの市場を占領したいと考えていました。物事は計画どおりに進んでいませんでしたが、Javaは「リビングルーム」で適切な場所を見つけました。 Blu-ray標準はJavaを中心に構築されており、Blu-Rayディスクに追加のコンテンツを追加したい人なら誰でもJavacコンパイラバージョンを取得する必要があります。
Blu-rayディスクは、ビデオコンテンツの保存に限定されません。これらの追加機能とインタラクティブツールは、純粋なJavaコードを使用して変更および強化できます。 Blu-rayディスクは、圧縮ビデオと圧縮Javaバイトコードの混合物です。 Blu-ray標準を使用すると、多くの機能を実現できます。
Javaが支配し続ける主な理由、No。7:Curly Bracesはちょうどうまく機能します
Ruby、Python、またはCoffeescriptなどの流行の言語の愛好家は、Java(およびC)がどのようにプログラマーにCurly Brace Keysを繰り返し並べ替えて、コードセグメントの開始と終了を明確に表現することを繰り返したために喜んで軽視しました。ブレース、巻き毛のブレース、さらには四角い括弧でさえ - これらの人々はそれらを深く嫌います。 (私も自分自身が嫌いですが、私はまだ、正方形のブラケットですべてを終わらせるためのいくつかのタイプのLISP言語があります。)
しかし、句読点を変更しても、複雑さは排除されません。便利な場合は、複雑さを隠すか隠します。タブなどの空白のスペースを使用した後、直感的に見えないものだけを感じることができます。 IFステートメントがコードの1行のみをリードしている場合、問題はありませんが、多くのレイヤーがネストされている場合、はっきりと見ることは困難です。私がPythonでプログラムするとき、私はこれらのインデントを何度も何度も数えていることに気づきます。英語のように見えるからといって、1つの文を理解するのと同じくらい簡単であるという意味ではありません。
Javaが支配し続ける理由、No。8:Groovy
Java開発者がダイナミックタイプを備えたよりクリーンでシンプルな構文を持たなければならなかった場合、新しい言語を実行する必要はありませんでした。彼らは、Java Bytecodeを生成できるプリプロセッサを備えたきちんとしたツールであるGroovyを使用できます。この言語はJavaにも完全に統合されているため、JavaライブラリへのコールをGroovyに混ぜることができます。 Javaコードの略語を書くようなものです。
この柔軟性により、開発エンジニアは問題の方法を見つけることができます。もちろん、Groovyは遅いです - これは通常、動的なメソッド呼び出しが使用されるときです - 開発者は常にJavaを使用して、重要かつ時間のかかるコア操作を書き直すことができます。
Javaが支配し続ける理由、No。9:Java仮想マシン
Java仮想マシンは、Javaコンパイラによって生成されたコードを実行する目的で設計および最適化されていますが、ある時点で、開発者はJava仮想マシンも他のコードを実行できることに気付きました。コンパイラが標準のJava Bytecodeを生成する限り、Java仮想マシンは、使用するプログラミング言語を気にしません。 Haskell、Scala、Clojureの開発者は、このようにコンパイラーを設計してJava Express列車に乗って設計しました。そして、彼らはJava仮想マシンによって生成されたこのエコシステムのより良い代表者のほんの一部です。
魅力は明らかであり、Sun/Oracleはクロスプラットフォーム環境を作成するために一生懸命働いており、他のすべての環境から利益を得ています。 Sun/Oracleのエンジニアは、プラットフォーム間の違いを排除し、互換性の問題を検討し、誰もが実行したいプログラムを実行できます。
Microsoftは、C#を作成する際にこのアイデアを借用(および拡張)し、ほとんどの主要言語のコンパイラを設計して、C#仮想マシンがこれらの言語で記述されたすべてのプログラムを実行できるようにしました。 C#プログラマーは、さまざまな言語でプログラムを作成し、Windowsボックスを介して仮想マシンで実行できると言います。なんて柔軟だ!
Javaが支配し続ける理由、No。10:NOSQL革命のほとんどはJavaに基づいて構築されています
昔、データベースは情報を保存し、クエリリクエストに迅速かつ効率的に応答した神秘的なブラックボックスでした。その後、NOSQL革命が登場し、プログラマーは自分のデータベースを自分で書いて、ニーズに応じてコードを剪定できることに気付きました。最も重要なNOSQLツールの多くは、Javaで書かれています。 Cassandra、Lucene、Elasticsearch、HBase、Neo4Jは、頻繁に言及されたNOSQLオプションのほんの一部です。次に、Haskellで書かれ、Java仮想マシンで実行される酸状態のようなプログラムがいくつかあります。
これらのツールは通常、オープンソースであり、簡単に統合できます。一部の開発者はそれを独立して実行し、他の開発者はそれらをライブラリなどの独自のモジュールに統合します。いずれにせよ、Javaはデータベース層の共通言語になり、Java開発者の生活がより簡単になるようにします。キャラクターのエンコードとエンディングキャラクターのために、不具合についてはあまり心配していません。これは、Javaの開発者がNoSQL革命によってもたらされた実り多い果物を楽しむことができることを意味します。
Javaが引き続き支配し続ける理由、No。11:Minecraft Gamesは00年以降の共通の複合体に統合されています
たぶん、ブルックリンファッションの非メインストリームの人々はJavaでsc笑しますが、Javaプログラマーは一歩先を行っています。 Ruby Fashion Groupが独自のファンのグループを集めている間、その後の世代はJavaに恋をしました。なぜ?一言:Minecraft。 Javaで書かれています。子供がゲームを拡張したい場合は、プラグインを設計するためにJavaを学ぶ必要があります。これにより、次世代のプログラマーが最初にJavaを学ぶことが保証されます。
Javaが支配し続ける理由、No。12:オープンソース
Sunは常にオープンソースの分野のリーダーの1人でしたが、Javaを完全に開くことに関してはためらっています。しかし、これにより、Javaプログラマーは、オープンソースのゆるいライセンスで多くの優れたライブラリやプロジェクトをリリースすることを妨げていません。 Apacheプロジェクトは、優れたJavaコードを提供するためにあまりリターンを必要としないライセンスを使用しています。
Sunは2007年にGPLライセンスに基づいてコードのほとんどを公開する作業を完了し、それ以来、ITとその新しい所有者であるOracleは、Javaの資格のあるスチュワードと見なすものになるために一生懸命働きたいと考えていました。もちろん、このオープンなスタンスは、オラクルがGoogleを混oticとした法的訴訟に引きずり込むことを止めていませんが、一方で、Javaプラットフォームはほとんどオープンで無料です。
多くの人がそれを嫌っていますが、Javaは前進し続けています
Javaには独自の問題があり、Javaを嫌う人がますます多くなり、彼らは不満を抱いてオンラインのコメントセクションを埋めるでしょう。 Java Garbage Collectorは、プログラムにわずかなフラストレーションを引き起こします。執筆プログラムの重いルールは、それらの本当に悪いコードを止めることはできません。注釈は複雑すぎます。特性は以前ほど頻繁ではありません。ブレースは混乱を追加します。その欠点のリストは長いですが、通常は合理的です。
ただし、現在、幅と深さで競争できるライバルはありません。一部の苦情は簡単に解決できますが、ソリューション自体は独自の問題をもたらすことができます。おそらく最も近いのはJavaScriptです。これは、サーバーの空間でますます魅力的になっているLightning-Fast Node.jsに依存しています。しかし、これらのアイデアをコピーすることができ、プログラマーはそれらを使用して高速Javaを書くこともできます。
最終的に、これはJavaの利点の1つです。すべてのプログラムを実行し、変更を受け入れます。さまざまな機能が必要な場合は、ほとんどのライブラリを独自のコードに置き換えることができます。言語はオープンソースで柔軟です。言語やプラットフォームがどんな制限であっても、それらは比較的簡単に解決できます。これは、Javaプログラマーが引き続き最も生産的な人々の一人であることを意味します。関連する本がもはやベストセラーリストを占めていなくても、ソフトウェアの更新は以前ほど頻繁ではありませんが、Javaはまだ存在したり、繁栄したりします。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。