편집자 주: 1990년대 초부터 Java의 종말에 대한 다양한 주장이 나타나기 시작했습니다. 10여년이 지난 올해에도 이런 발언은 여전히 들려온다. 구글에서 "java is dead"라는 키워드로 검색하면 약 199,000개의 검색결과가 나오는데, 이는 많은 사람들이 자바의 죽음에 대해 글을 쓰거나 댓글을 달았음을 알 수 있다. 사라진 지 10년이 넘은 이 언어에 대해 저자는 이 글에서 자바의 현황과 개발 동향을 개략적으로 설명하며 이러한 소문에 효과적으로 맞서고 있다. 전체 내용은 다음과 같습니다.
Java의 죽음에 대해 많은 평론가들은 Java의 특정 기능(예: 당시 Java에서 사용할 수 없었던 클로저)을 싫어하고 이전 버전과의 호환성을 고려하기 때문에 그렇게 하며 때로는 새로운 기능의 효율성과 적합성에 의문을 제기하기도 합니다. Java가 너무 복잡해졌습니다. 물론, 이 화자들은 거짓말을 하면서 자신이 가장 좋아하는 언어인 다른 언어를 제안하기도 합니다. 나는 그들이 Java를 비판하는 만큼 그들이 제안한 언어도 비판할 수 있다고 감히 말할 수 있습니다. 단지 우리가 전혀 그럴 필요가 없다는 것뿐입니다.
아이러니하게도 죽은 언어치고는 Java가 정말 잘하고 있습니다. Tiobe 프로그래밍 커뮤니티 지수에서는 여전히 10년 동안 1위를 유지하고 있습니다(2000년 중반에는 C 언어에 이어 2위를 차지했습니다). ). 채용 웹사이트에 따르면 Java 프로그래머에 대한 수요는 여전히 높습니다.
따라서 Java가 죽었다는 말은 정말 말도 안되는 소리이며 적어도 앞으로 몇 년 동안은 말도 안되는 소리로 남을 것입니다. 여러 가지 이유가 있습니다. 첫째, 다른 분야의 많은 컴퓨터 공학 프로그램이 Java로 작성되었습니다. 둘째, Java는 거대하고 안정적인 코드 기반을 가지고 있습니다. 셋째, 많은 양의 공급업체 투자, 도구, 교육이 있습니다. 및 기타 제품은 공급업체와 고객 모두를 Java에 의존하게 만듭니다. 넷째, Java는 가장 큰 개발자 커뮤니티와 오픈 소스 생태계를 보유하고 있으며 향후 개발 방향으로 사용할 도구, 공급업체 및 개발자를 선택할 때 여전히 Java가 첫 번째 선택입니다. 분명히 Java는 전혀 죽지 않았습니다.
한 발 물러서면, 자바가 정말로 황혼기를 맞이하거나 노후화를 앞두고 있다고 하더라도, 죽음에 가까운 다른 언어들에 기반을 두고 그 미래가 암울하지는 않을 것입니다. 예를 들어 많은 개발자들이 C++가 죽었다고 이야기하지만 최근 Google Go 언어의 출시로 C와 C++의 활력이 다시 살아나면서 C++가 부활하고 있습니다. 그리고 C++의 역사적 축적과 기초를 고려할 때 이를 완전히 대체할 수 있는 유일한 언어는 아마도 Java일 것입니다. 그리고 Java가 자체 강점 영역(예: GUI 및 데이터베이스 개발)에서 C++를 완전히 대체하려고 하더라도 여전히 큰 장애물에 직면하게 됩니다. 즉, C++ 애플리케이션을 Java로 마이그레이션하는 데 드는 막대한 비용입니다. JNI, CORBA, 웹 서비스 및 유사한 기술 분야에서는 두 언어가 혼합되어 있지만 고유한 복잡성과 문제가 있습니다. 그러므로, 부진한 프로그래밍 언어가 완전히 죽기까지는 오랜 시간이 걸릴 것이고, 자바는 슬럼프에 빠질 일이 전혀 없습니다.
물론, Java에 대한 가장 큰 위협은 Groovy, Scala, JRuby 및 Clojure와 같은 JVM 호스팅 언어의 수가 급증하고 있다는 것입니다. 이러한 언어는 JVM에서 실행되므로 Java 언어와의 통합은 Java 자체보다 더 편리하고 간단합니다. 그리고 Java는 Oracle의 Sun 인수라는 큰 충격에 직면해 있습니다. 하지만 결과가 좋든 나쁘든 우리는 거래가 최종적으로 완료(또는 취소)될 때까지만 기다릴 수 있습니다.
따라서 Java의 부풀림과 노후화에도 불구하고 모든 요소(Java의 방대한 생태계와 제품, 기존 코드 및 투자)를 고려할 때 가까운 미래에 언어가 어떻게 성공할지 예측하기 어렵습니다. 자바. Java는 결코 죽지 않으며 죽어가는 언어 목록에 포함되어서는 안 됩니다. (왕위레이 번역)
원본 링크: http://www.dzone.com/links/i_use_dead_programming_언어s_java.html (방화벽을 우회해야 함)