우리는 한때 원숭이들 사이에서 인기가 있었지만 다양한 신기술이 파괴 될 때까지 다양한 기술로 덮여있는 기술의 가치를 쉽게 잊을 수 있습니다. 그 당시 오래된 유인원이 사용하는 마법의 무기 인 Cobol을 마치 마치 죽은 물고기 인 것처럼 기본적으로 현대 원숭이에 의해 묘사되었습니다. 그것은 무가치하고, 어류가 많고, 구식이며, 당신에게 도움이되지 않을 것입니다. 현대 원숭이의 중추로서의 Java는이 시점에서 다음 COBOL이 될 수 있습니다.
Java Technology가 얼마나 많은 책을 판매했는지 오랜 시간이 지났습니다. 현재 중년에있는 Java 언어의 목적은 더 이상 다양한 잡지의 표지에 나타나지 않습니다. Java가 태어난 지 19 년이 지났으며 응용 프로그램 개발 서클은 "Node.js", "Objective-C", "Dart", "Go"등과 같은 새로운 기술을 중심으로 시작되었습니다. 자바? 그것은 웹 1.0 시대의 전설입니다.
우리가 Java가하는 역할과 컴퓨터 산업에서의 뛰어난 기여를 잊기 전에, Java가 Cobol처럼 파괴 될뿐만 아니라 그 이후의 시대에도 더 강해질 것이라고 말해야 할 12 가지 절대적인 이유가 있습니다.
다시 말해서, 이것이 Java의 반격이라고 말하지 마십시오. Java는 항상 거기에 있었고 그 상태는 흔들릴 수 없습니다.
Java가 계속 지배하는 주요 이유, No. 1 : 정치적 (일반적으로 열등한) 투쟁에서 불가능한
처음에 기술 커뮤니티는 Java가 상대가 너무 많고 모두 "부자"가 되었기 때문에 성공할 것이라고 생각하지 않았습니다. 그럼에도 불구하고 Java는 번성했습니다. Java가 여전히 존재한다는 사실에 놀랐던 사람들은 Java에 대한 원한을 가진 사람들의 말을 듣고 너무 많은 시간을 보냈으며 Java가 왜 성공하는지 이해하는 데 시간을 보내지 않아야합니다.
MS-DOS가 당시 보편성을 제공했기 때문에 Microsoft는 최초의 강력한 상대 인 Java가 직면 한 최초의 강력한 상대였으며 Microsoft는 Java 가이 보편성을 대체 할 가능성이 가장 높은 것으로 보았습니다. 레드몬드는 처음부터 Java를 비판하고 있으며 가능한 모든 방법으로 그것에 맞서 싸우고 있습니다. 데스크탑 응용 프로그램 방향에서 Java는 강력한 Java 가상 머신을 시작하는 데 너무 오래 걸리기 때문에 필요한 개발 원동력을 찾지 못했습니다. 일부 시작 지연에도 불구하고 Java 응용 프로그램은 여전히 창 플랫폼에서 사용할 수 있습니다.
Steve Jobs는 Adobe를 제외한 모든 사람이 Mac을 무시했을 때조차도 알려지지 않은 이유로 Java를 받아들이지 않았습니다. Java 호환성은 유용한 코드를 많이 가져올 수 있지만 Apple은 Java를 최초의 선택으로 간주 한 적이 없습니다. (실제로 iOS 스마트 폰은 내가 사용하는 안드로이드보다 매끄럽기 때문에 스티브가 옳을 수도 있습니다.)
Java 내의 많은 투쟁도 큰 고통을 겪었습니다. IBM은 Java를 좋아하지만 Sun과 싸우고 있습니다. IBM이 "Eclipse"를 개발 한 우수한 IDE 도구를 부르는 결정은 Sun의 직원들에 의해 쉽게 받아 들여지지 않았습니다. Sun은 비즈니스 분야를 IBM만큼 깊이 이해하지 못했습니다.
이러한 이유에도 불구하고 Java 제작자는 Java의 개발에 많은 실수가 있지만 Java는 여전히 빠르게 성장하고 있으며 서버 응용 프로그램 분야에서 유익한 결과를 얻었으며 데스크탑 응용 프로그램 분야의 기본 비즈니스 요구를 충족 시켰습니다. 모든 기술은 정치적인 난기류로 나아가 야 할 필요가 있지만 Java는 더 어려워지고 더 멀어서 Java가 일반적으로 많은 응용 분야에서 탁월한 선택임을 증명합니다.
Java가 계속 지배하는 주요 이유, 포인트 2 : 스레드의 마법
Java Virtual Machines의 강점 중 하나는 멀티 스레딩 컨트롤입니다. JVM은 대형 멀티 코어 머신에서 수백 개의 스레드를 실행하는 안정성에 대한 우수한 최적화를 만들었습니다. 이것이 바로 다른 언어가 JVM에서 실행하기 위해 크로스 컴파일러 및 에뮬레이터를 만드는 이유이기도합니다.
Java 의이 능력은 또한 많은 교통량이 많은 웹 사이트를 유치합니다. 그들은 데스크탑에서 개발 한 다음 서버에 던져서 JVM이 멀티 코어 기능을 수행 할 수 있습니다.
루비는 간결한 구문과 좋은 소스 코드 가독성 때문에 현재 Java의 라이벌이되었습니다. 그러나 성능이 병목 현상이되었을 때 Ruby 개발자들은 Jruby로 옮겼습니다. Jruby는 Java로 시뮬레이션 된 Ruby 환경과 높은 하중에서 스레드 처리 기능을 향상 시켰습니다. Sun의 오래된 원숭이의 세부 사항 처리는 Jruby가 매우 인기를 얻었습니다. (Translator 's Note : 대부분의 사람들이 Ruby 프로그램 작성을 마치고 Jruby를 사용하여 전쟁을하고 서버에 던지는 것 같습니다 ...)
Java가 계속 지배하는 주요 이유, 포인트 3 : Java는 초보자를위한 언어입니다.
종교, 군대 및 국가의 번영은 젊은이들의 중국인들의 세뇌와 분리 할 수 없습니다. University AP Computer Course (Translator 's Note : 고등학생은 대학 학점을 취득하고 계산할 수 있습니다. 미국 University Council에서 제공 한 미국 SAT)는 많은 학생들이 먼저 Java와 접촉한다는 것을 의미합니다. 이 선입견으로 인해 다른 새로운 언어를 배울 때 Java의 장점과 단점을 반영합니다. 대부분의 학생들이 경력을 바꾸고 다른 언어를 배우더라도 대부분의 학생들은 코스를 수강 한 후 자바를 제쳐두고 있지만 생각할 때 여전히 Java의 영향을받습니다.
교육 언어로서의 Java는 그 이유가 있습니다. 일부 젊은 유인원은 데이터 유형을 선언하는 것을 좋아하지 않으며, 누군가가 당신에게 바지를 입고 벨트를 착용하는 사람과 같다고 생각합니다. 이것은 추상적 인 것처럼 보일 수 있지만 젊은 유인원이 컴퓨터의 일부 원칙을 이해하도록하기 위해 좋은 방법입니다. 젊은 원숭이가 코드를 작성할 때 데이터 유형을 선언하게 한 다음 컴파일러는 데이터 유형이 일치하지 않으며 컴퓨터의 기본 원리를 더 잘 이해하는 데 도움이 될 수 있음을 알려줍니다.
소위 세련된 언어는 곱슬 곱슬 괄호를 버렸습니다. 이것은 사실 일 수도 있지만, 곱슬 괄호는 초보자에게 매우 유용합니다. 이것은 중첩 된 코드 블록을 이해하는 데 도움이됩니다. 곱슬 괄호는 신규 이민자들이 모든 둥지를 분해하도록 도와줍니다.
어떤 사람들은 자신의 언어를 홍보하기 위해 열심히 노력하기를 원하며 대부분의 경우 사랑하는 언어는 더 자유롭고 Java만큼 제한과 규칙이 많지 않습니다. 그들은 아주 좋은 생각을 가지고 있지만, 문법이 더 단순하고 깨끗할수록 늦은 개발에 명백한 문제가 있다는 사실을 무시합니다. 어떤 사람들은이 "바지 착용 및 벨트 착용"질식을 발견하지만 Java는 처음부터 더 나은 프로그래밍 습관을 촉진합니다. 초보자가 잘 훈련되면이 무료이고 위험한 프로그래밍 방법을 처리 할 수 있습니다.
Java가 계속 지배하는 주요 이유, No. 4 : Cross-Platform 호환성 (이미 가까운)
Java는 크로스 플랫폼 호환성을 제공하는 최초의 언어는 아니지만 Java는 가장 인기있는 (크로스 플랫폼 언어)가되었습니다. 이것은 Java가 완벽하다는 것을 의미하지는 않습니다. 누락 된 라이브러리 또는 불일치 한 라이브러리로 인해 프로그램이 충돌하게됩니다. Java Me 전화기에서 최신 JRE 1.7과 함께 컴파일 된 많은 메모리가 필요한 데스크탑 프로그램을 넣을 수 없습니다. Java는 그다지 호환되지 않습니다.
그러나 Sun과 이제 Oracle은 플랫폼에서 프로그램을 이용할 수 있도록 최선을 다했습니다. 프로그램 (여러 플랫폼에서 사용할 수 없음)이있는 경우 (이러한 문제를 일으키는 원인)는 일반적으로 이해할 수 있습니다. 적절한 Java 버전을 사용하고 충분한 메모리가 있는지 확인하는 경우 (프로그램) 일반적으로 제대로 작동합니다. Java 프로그래머는 데스크탑 개발 도구를 사용하여 대상 장치, 전화 나 서버를 인코딩하고 배포 할 수 있습니다. 컴파일러에 올바른 라이브러리가 포함되어 있고 올바른 버전을 사용하면 코드가 실행될 수 있습니다. 이것은 귀중한 기능입니다.
Java가 계속 지배하는 주요 이유, No. 5 : 칩에서 지속적인 성공
Java는 데스크탑 분야에서 큰 응용 프로그램을 만들지 않았을 수도 있지만, 모바일 세계에서는 폭발적인 시장 부문 인 온상을 발견했습니다. Android 플랫폼은 위에서 아래로 Java를 기반으로하며 판매는 오늘날 iPhone을 쉽게 능가합니다.
이 지배적 인 입장은 새로운 것이 아닙니다. 간소화 된 언어로 Java Me는 소위 장편 전화기에서 널리 사용되었으며 세계의 스마트 폰 수는 거의 수십억입니다.
당신이 그것들을 모두 섞을 때, 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)가 어떻게 Colly Brace 키를 반복적으로 대상으로 코드 세그먼트의 시작과 끝을 명확하게 표현하도록 요구하는지 행복하게 혐오했습니다. 교정기, 곱슬 괄호, 심지어 정사각형 괄호 -이 사람들은 그들을 깊이 미워합니다. (나도 그들도 싫어하지만 여전히 정사각형 브래킷으로 모든 것을 끝내는 LISP 언어의 일부 유형이 있습니다.)
그러나 구두점 마크를 변경한다고해서 복잡성을 제거하지는 않습니다. 유용하다면, 그것은 단지 복잡성을 숨기거나 숨기는 것입니다. 탭과 같은 빈 공간을 사용한 후에는 직관으로 볼 수없는 것만 느낄 수 있습니다. IF 문이 한 줄의 코드만을 리드하면 문제가 없지만 많은 레이어가 중첩되면 명확하게보기가 어렵습니다. 파이썬으로 프로그램 할 때, 나는 이러한 들여 쓰기를 계속해서 반복해서 계산하고 있음을 알게됩니다. 영어처럼 보이다고해서 한 문장을 이해하는 것만 큼 간단하다는 의미는 아닙니다.
Java가 계속 지배하는 이유, No. 8 : Groovy
Java 개발자가 동적 유형의 더 깨끗하고 간단한 구문을 가져야한다면 새로운 언어를 실행할 필요가 없었습니다. 그들은 사전 프로세서와 함께 깔끔한 도구 인 Groovy를 사용할 수 있으며, 이는 Java 바이트 코드를 생성 할 수 있습니다. 이 언어는 Java에도 완전히 통합되어 있으므로 Java 라이브러리로의 통화를 그루비에 혼합 할 수 있습니다. 그것은 Java 코드 약어를 쓰는 것과 같습니다.
이러한 유연성을 통해 개발 엔지니어는 문제를 해결할 수있는 방법을 찾을 수 있습니다. 물론 Groovy는 느리게 진행됩니다. 일반적으로 동적 메소드 호출이 사용되는 경우입니다. 개발자는 항상 Java를 사용하여 중요하고 시간이 많이 걸리는 핵심 작업을 다시 작성할 수 있습니다.
Java가 계속 지배하는 이유, 9 번 : Java Virtual Machine
Java Virtual Machines는 Java 컴파일러가 생성 한 코드를 실행하기 위해 설계 및 최적화되었지만 어느 시점에서 개발자는 Java Virtual Machines도 다른 코드를 실행할 수 있음을 깨달았습니다. 컴파일러가 표준 Java 바이트 코드를 생성하는 한 Java 가상 머신은 사용하는 프로그래밍 언어를 신경 쓰지 않습니다. Haskell, Scala 및 Clojure 개발자는 Java Express 기차를 타기 위해 이러한 방식으로 컴파일러를 설계했습니다. 그리고 그들은 Java Virtual Machines에서 생성 한이 생태계에서 더 나은 대표자 중 일부에 불과합니다.
매력은 분명합니다. 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 Virtual Machines에서 실행되는 Acid-State와 같은 일부 프로그램이 있습니다.
이러한 도구는 일반적으로 오픈 소스이며 쉽게 통합 될 수 있습니다. 일부 개발자는 독립적으로 실행하는 반면 다른 개발자는 라이브러리와 같은 자체 모듈에 통합합니다. 어느 쪽이든, Java는 데이터베이스 계층에서 공통 언어가되어 Java 개발자의 삶이 더 쉬워집니다. 캐릭터 인코딩 및 라인 엔딩 캐릭터로 인해 결함에 대해 걱정이되지 않습니다. 이것은 Java 개발자가 NOSQL 혁명이 가져온 유익한 과일을 즐길 수 있음을 의미합니다.
Java가 계속 지배하는 이유, No. 11 : Minecraft Games는 00 년대의 일반적인 단지에 통합됩니다.
어쩌면 Brooklyn Fashion 이외의 사람들이 Java에서 비웃을 수도 있지만 Java 프로그래머는 한 발 앞서 있습니다. Ruby Fashion Group이 자체 팬 그룹을 모으는 동안 이후의 세대는 Java와 사랑에 빠졌습니다. 왜? 한 단어 : Minecraft. Java로 작성되었습니다. 아이들이 게임을 연장하려면 플러그인을 디자인하기 위해 Java를 배워야합니다. 이를 통해 차세대 프로그래머가 먼저 Java를 배울 수 있습니다.
Java가 계속 지배하는 이유, 12 번 : 오픈 소스
Sun은 항상 오픈 소스 필드의 리더 중 하나 였지만 Java를 완전히 열 때 망설입니다. 그러나 이로 인해 Java 프로그래머가 오픈 소스 라이센스가 느슨한 많은 훌륭한 라이브러리와 프로젝트를 공개하지 못했습니다. Apache Project는 우수한 Java 코드를 제공하기 위해 많은 수익을 필요로하지 않는 라이센스를 사용하고 있습니다.
Sun은 2007 년 GPL 라이센스에 따라 대부분의 코드를 노출시키는 작업을 완료했으며, 그 이후로 IT와 새로운 소유자 인 Oracle은 자격을 갖춘 Java의 자격을 갖춘 청지기를 고려하기 위해 열심히 노력하고 싶었습니다. 물론,이 열린 입장으로 인해 Oracle은 Google을 혼란스러운 법적 소송으로 끌어내는 것을 막지 않았지만 반면에 Java 플랫폼은 크게 개방적이고 무료입니다.
많은 사람들이 그것을 싫어하지만 Java는 계속해서 앞으로 나아갑니다.
Java는 고유 한 문제가 있으며 Java를 싫어하는 사람들이 점점 더 많아 질 것이며, 온라인 의견 섹션을 불만으로 채울 것입니다. Java Garbage Collector는이 프로그램에서 약간의 좌절감을 초래할 것입니다. 쓰기 프로그램의 무거운 규칙은 실제로 나쁜 코드를 막을 수 없습니다. 주석이 너무 복잡합니다. 특성은 이전만큼 자주 아닙니다. 버팀대는 혼란을 더합니다. 단점 목록은 길지만 일반적으로 합리적입니다.
그러나 현재 폭과 깊이로 경쟁 할 수있는 경쟁자는 없습니다. 일부 불만은 해결하기 쉽지만 솔루션 자체는 자체 문제를 가져올 수 있습니다. 아마도 가장 가까운 것은 Lightning-Fast Node.js에 의존하는 JavaScript 일 것입니다. 이는 서버 공간에서 점점 더 매력적입니다. 그러나 이러한 아이디어는 복사 할 수 있으며 프로그래머는이 아이디어를 사용하여 빠른 Java를 작성할 수 있습니다.
결국, 이것은 Java의 장점 중 하나입니다. 모든 프로그램을 실행하고 변경 사항을 수락합니다. 다른 기능이 필요한 경우 대부분의 라이브러리를 자신의 코드로 교체 할 수 있습니다. 언어는 오픈 소스이며 유연합니다. 언어 나 플랫폼이 어떤 한계인지 상관없이 비교적 쉽게 해결할 수 있습니다. 이는 Java 프로그래머가 계속 가장 생산적인 사람들 중 하나임을 의미합니다. 관련 서적이 더 이상 베스트셀러 목록을 차지하지 않더라도 소프트웨어 업데이트는 이전과 마찬가지로 빈번하지 않더라도 Java는 여전히 존재하거나 더 번영 할 것입니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.