1991년에 탄생한 Java는 이제 전 세계에서 가장 널리 사용되는 프로그래밍 언어 중 하나가 되었습니다. 오늘 기사에서 우리는 Java의 7가지 주요 새로운 기능을 공동으로 이해하고 Java가 슈퍼컴퓨팅, 빅데이터, 사물 인터넷 등 미래 분야에서 어떻게 계속해서 중심 역할을 할 것인지 기대해 보겠습니다.
자바. World Wide Web과 함께 성장한 프로그래밍 도구로서 다른 어떤 언어도 웹 애플리케이션을 처음부터 끝까지 정의할 수 없습니다. 1991년 Sun Microsystems(현재 Oracle에 인수됨)에서 탄생한 이래 James Gosling, Mike Sheridan 및 Patrick Naughton이 공동 설계한 Java 언어는 많은 엔터프라이즈급 애플리케이션 솔루션의 핵심 구성 요소가 되었습니다. 거의 25년 동안의 개발과 진화를 거쳐 Java가 향후 개발 계획에서 계속해서 자리를 차지할 수 있을까요?
Java의 가장 큰 장점은 WORA(한 번 작성하고 어디서나 실행)입니다. 간단히 말해서 이는 개발 팀이 Java로 애플리케이션을 작성하고 실행 가능한 형식으로 컴파일한 다음 Java를 지원하는 모든 플랫폼에서 실행할 수 있음을 의미합니다. 이는 분명히 프로그래밍 작업의 실제 효율성을 크게 향상시킬 수 있지만 이러한 효율성을 달성하려면 약간의 비용을 지불해야 합니다.
이로 인한 주요 비용 중 하나는 낮은 수준의 기계 하드웨어에 액세스할 때 WORA가 적용되는 일련의 제약 조건입니다. 범용 호환성을 위해서는 애플리케이션 성능에 일정한 영향을 미치는 추상 메커니즘의 지원이 필요합니다. C++가 계속해서 주요 개발 언어 중 하나로 사용되고 종종 Java와 함께 작동하는 것은 바로 Java와 하드웨어 사이의 특정 격차 때문입니다. 그러나 이는 비용의 표현일 뿐이다. 다른 높은 비용은 Java의 향후 개발을 방해할 수도 있습니다.
Java 애플리케이션은 일반적으로 브라우저 창에서 실행됩니다. 브라우저 인터페이스에 대한 익숙함은 많은 기업 개발자가 Java를 사용하여 애플리케이션을 만드는 주된 이유 중 하나입니다. 그런데 문제는 자바가 플러그인 아키텍처를 통해 브라우저와 연결되어 브라우저의 필수적인 부분이 되지만, 이 아키텍처가 점차 사라지고 있다는 점이다. 새로운 Microsoft Edge 브라우저에서는 플러그인 사용을 허용하지 않습니다. Chrome 브라우저는 현재 플러그인에도 많은 제한을 두고 있습니다. 다른 브라우저도 동일한 경로를 따르는 것으로 보입니다. 그러면 이는 Java가 점차 우리 시야에서 사라질 것이라는 의미입니까?
아니요, Java는 여기서 끝나지 않습니다. Java 애플리케이션은 계속해서 독립적이고 고유한 방식으로 작동합니다. 기존 Java 코드가 많이 존재한다는 것은 비용에 민감한 개발자(및 개발 관리자)가 앞으로도 계속 Java를 사용할 것임을 의미합니다. 그렇다면 Java에 대해 어떤 사실을 알아야 할까요?
소프트웨어 개발과 프로그래밍 언어 자체는 끊임없이 진화하고 있습니다. 물론 Java도 수년에 걸쳐 진행되는 이러한 발전에 참여하고 있습니다. Java와 관련된 몇 가지 핵심 사항을 살펴보고 Java의 개발 방향이 향후 개발에 어떤 영향을 미칠지 살펴보겠습니다.
물론 마지막입니다. Java로 프로그래밍하고 있거나 개발 전망에 대한 아이디어가 있는 경우 댓글 상자에 공유해 주세요. 참여해 주셔서 감사합니다 :)
Java는 더 이상 브라우저에만 국한되지 않습니다.
주로 브라우저 기반 애플리케이션 개발 언어로서 Java의 역사적 역할이 바뀌었습니다. Windows 10 시대에 진입한 후 우리는 새로운 Edge 브라우저를 소개하고 여기서 Java와 완전히 작별 인사를 할 것입니다. 왜냐하면 이 새로운 브라우저는 더 이상 플러그인 메커니즘을 지원하지 않기 때문입니다.
이제 작은 비밀을 알려드리겠습니다. 어떤 이유로든 브라우저 기반 Java 애플리케이션을 계속 사용해야 하는 경우에는 괜찮습니다. Windows 10은 IE 11 브라우저도 제공합니다. 이 전통적인 브라우징 솔루션은 Java를 포함한 다양한 플러그인 솔루션을 환영합니다. 이는 모든 사람이 플러그인으로 인해 발생하는 보안 문제에 여전히 주의를 기울여야 함을 의미하지만 적어도 선택 사항이 하나 더 있습니다.
그러나 미래에 대비하여 모든 사람은 Java 애플리케이션을 점차적으로 데스크톱 플랫폼으로 이전할 계획을 세워야 합니다. 여기에는 새로운 개발 공간이 도입될 것이며 사용자는 점차 브라우저 창 외부에서 Java 애플리케이션과의 원활한 협업에 적응하게 될 것입니다.
JavaScript는 항상 존재합니다
Java와 JavaScript는 완전히 다른 두 가지입니다. Java는 Sun Microsystems에서 개발한 컴파일된 프로그래밍 언어인 반면 JavaScript는 Netscape에서 개발한 회사의 해석된 스크립트 언어입니다. . Java 애플리케이션은 플러그인 아키텍처를 사용하여 브라우저에서 실행될 수 있으며 독립형 프로그램으로 존재할 수도 있습니다. 반면 JavaScript는 브라우저 창 내에 기반을 두어야 하며 자체적으로 독립적으로 실행될 수 없습니다.
미래에 초점을 맞추면 JavaScript는 여전히 브라우저 리더십에서 중요한 위치를 유지할 것입니다. HTML 5와 함께 작동하여 사용자에게 풍부한 대화형 브라우저 경험을 제공합니다. JavaScript 사용 경험이 풍부한 개발자라면 전망은 매우 밝습니다.
개발 관리자라면 계획 시 애플리케이션 개발에 HTML 5와 JavaScript를 사용하는 것도 현명한 방법입니다. 이 두 가지를 결합하면 엔터프라이즈 웹 및 모바일 웹 애플리케이션에 대한 이상적인 지원을 제공하여 향후 오랫동안 실제 요구 사항을 충족할 수 있습니다.
Java 진영의 다양한 구성 요소가 점차 융합되고 있습니다.
오라클은 Java 프로젝트를 계속 개발하고 있으며 2016년에는 Java 9 버전을 출시할 계획입니다. 큰 그림은 Jigsaw 프로젝트를 개발자에게 공식적으로 제공하고 Java를 더욱 모듈화하는 것입니다. 이는 우리가 선택할 수 있는 다양한 "플러그인 및 적용" 아키텍처가 있어 Java의 기존 프로그래밍 모델이 더욱 확장된다는 의미입니다.
개발자들은 Jigsaw 프로젝트에 대해 일련의 개발 목표를 설정했는데, 이를 성능과 확장성이라는 두 가지 범주로 요약할 수 있습니다. 모듈의 등장은 구조를 더욱 단순화할 수 있으며 일반적으로 구조가 간소화된다는 것은 코드 크기가 작아지고 실행 속도가 빨라진다는 것을 의미합니다. 전체 애플리케이션 안팎으로 모듈을 쉽게 이동할 수 있는 기능을 통해 Java 코드는 대규모 엔지니어링 워크스테이션부터 소형 임베디드 IoT 프로세서에 이르기까지 모든 규모의 다양한 플랫폼에서 원활하게 실행될 수 있습니다.
Java는 사물 인터넷의 온상이 될 것입니다
처음 탄생했을 때 Java는 원래 현재 사물 인터넷 장치라고 부르는 애플리케이션용 프로그래밍 언어였습니다. 언어의 초기 개발자들은 인터넷에 연결된 텔레비전을 위한 프로그래밍 언어를 만들고 싶었습니다. 그러나 문제는 1991년의 임베디드 프로세서가 Java 프레임워크와 해당 애플리케이션을 모두 지원할 수 없었다는 것입니다. 오늘날 상황은 완전히 바뀌었습니다.
Java Platform, Micro Edition(JPME)은 Oracle이 임베디드 및 모바일 플랫폼용으로 개발한 솔루션으로, TV, 미디어 센터 등 특수 플랫폼도 대상으로 합니다. 사물 인터넷 분야에서는 '한 번 작성하면 어디에나 적용'이라는 원칙이 존재하여 상당한 비용 절감 효과를 가져왔습니다. 더 언급할 가치가 있는 점은 기업이 이를 사용하여 개발자가 상용 Java 프로그래밍 결과를 생성하고 이를 IoT 작업에 할당하도록 안내할 수 있다는 것입니다.
위의 기능을 종합하면 Java 언어는 성공적인 엔터프라이즈급 IoT 개발 전략에 없어서는 안 될 부분이 될 것입니다.
모바일 분야로 진출하는 Java
사물 인터넷에서 Java의 위력을 발휘할 수 있게 해주는 Java 플랫폼, Micro Edition은 모바일 애플리케이션 개발에서도 중요한 역할을 할 수 있습니다. Java가 iOS 분야에서 엄청난 경쟁 압력에 직면해 있다는 점을 강조해야 합니다. Apple의 Swift 언어는 자신의 앱을 App Store 진열대에 올리기를 원하는 개발자가 선호하는 프로그래밍 환경이 되었습니다. 그러나 주요 목표 시장이 Android라면 Java는 여전히 매우 강력한 개발 도구이며 이상적인 크로스 플랫폼 기능을 제공할 수도 있습니다.
자바는 슈퍼컴퓨터 장비를 지원할 수 있다
고성능 컴퓨팅(약칭 HPC)에 적합한 프로그래밍 언어를 생각할 때 가장 먼저 떠오르는 것은 자바가 거의 불가능하다는 것이다. . 그러나 현실은 전 세계 상당수의 고성능 컴퓨팅 프로젝트가 Java를 사용하여 그 뒤에 있는 유체 분석(또는 천문 관측) 작업을 담당하고 있다는 것입니다. Java의 인프라는 고성능 컴퓨팅에 적합하지 않은 것처럼 보일 수 있지만 고성능 애플리케이션에 적합한 다양한 기능을 갖추고 있습니다.
Java의 주요 고성능 컴퓨팅 기능은 멀티스레드 실행 메커니즘에 대한 기본 지원입니다. 또 다른 중요한 점은 Java를 통해 개발자가 네트워크 애플리케이션을 쉽게 작성할 수 있다는 것입니다. 멀티 코어 프로세서를 사용하는 데 있어 Java의 어려움이라는 단점이 위의 장점을 어느 정도 상쇄하지만, 특별한 고성능 컴퓨팅 목표를 가진 과학 프로젝트에서는 여전히 Java를 중요한 부분으로 사용하려는 의지가 있습니다.
그렇습니다. Java는 고성능 컴퓨팅 분야에서 C++를 완전히 대체할 수는 없지만 이미 오래된 FORTRAN보다 확실히 더 역동적입니다. 프로그래밍 팀에 갓 졸업하고 Java 개발 지식에 익숙한 신입 사원이 많이 포함되어 있다면 이 언어는 확실히 놓칠 수 없는 첫 번째 선택 프로그래밍 언어입니다.
빅데이터 기술 분야의 다크호스, 자바
잠깐, 자바가 빅데이터 분야에 변화를 가져올 수 있을까? 예, 그렇습니다. 가장 강력한 빅 데이터 구성 요소와 최신 HPC(고성능 컴퓨팅) 시스템을 핵심으로 결합할 수 있기 때문입니다. 작년에 IBM은 Tesla 그래픽 처리 장치(GPU)를 사용하여 구축된 시스템에서 Hadoop 인스턴스가 실행되는 실험 프로젝트를 시연했습니다. 이는 가장 복잡한 데이터 세트 분석 작업을 쉽게 처리할 수 있는 매우 강력한 조합입니다.
GPU는 오늘날 대부분의 가장 빠른 슈퍼컴퓨팅 장치에 없어서는 안 될 프로세서 옵션이 되었습니다. 그리고 Java의 "한 번 작성하면 어디서나 실행 가능" 아키텍처는 기술 팀이 워크스테이션에서 자체 소프트웨어를 개발한 다음 이를 강력한 시스템으로 포팅할 수 있음을 의미합니다. Hadoop과 같은 빅데이터 데이터베이스 관리 도구를 사용하여 이러한 시스템을 실행하면 결과가 정말 인상적입니다.