/////
Search
Duplicate
2️⃣

왜 아직도 자바는 변화하는가?

완벽한 언어는 없다. 모든 언어가 각각 장단점을 가지고 있다.
자바는 1995년 첫 베타 버전이 공개된 이후로 커다란 생태계를 성공적으로 구축했다. 어떻게 그러한 성공을 거둘 수 있었는지 한번 살펴보자.

1. 프로그래밍 언어 생태계에서 자바의 위치

자바는 처음부터 많은 유용한 라이브러리를 포함하는 잘 설계된 객체 지향 언어로 시작했다. 스레드와 락을 이용한 소소한 동시성도 지원했다.
코드를 JVM 바이트 코드로 컴파일하는 특징 때문에 자바는 응용 프로그램의 주요 언어가 되었다.
최근 들어서는 프로그래머는 빅데이터라는 도전에 직면하면서 멀티코어 컴퓨터나 컴퓨팅 클러스터를 이용해서 빅데이터를 효과적으로 처리할 필요성이 커졌다.
⇒ 즉 병렬 프로세싱을 활용해야 하는데, 지금까지의 자바로는 대응이 힘들었다.
자바 8은 더 다양한 프로그래밍 도구와 다양한 프로그래밍 문제를 더 빠르고 정확하며 쉽게 유지보수할 수 있다는 장점을 제공한다.
자바 8에 추가된 기능은 자바에 없던 완전히 새로운 개념이지만 현재 시장에서 요구하는 기능을 효과적으로 제공한다.

2. 스트림 처리

조립라인처럼 Stream API는 파이프라인을 만드는 데 필요한 많은 메서드를 제공한다.
또한 스레드라는 복잡한 작업을 사용하지 않으면서 공짜로 병렬성을 얻을 수 있다.

3. 동작 파라미터화로 메서드에 코드 전달하기

동작을 파라미터화 해서 전달 가능하다. 함수형 프로그래밍 기술을 이용한다.

4. 병렬성과 공유 가변 데이터

병렬성을 공짜로 얻을 수 있지만 이를 얻기 위해 포기해야 하는 점이 있다. 안전하게 실행할 수 있는 코드를 만들려면 임계 영역에 접근하지 않아야 한다.
이런 함수를 순수 함수, 사이드 이펙트가 없는 함수, 상태 없는 함수라 부른다.

5. 자바가 진화해야하는 이유

언어는 하드웨어나 프로그래머 기대의 변화에 부응하는 방향으로 변화해왔다.
새로운 기능이 생길수록 다른 언어가 담당하던 생태계 영역을 자바가 정복하며 자바 프로그래머들에겐 많은 기회가 생길 것이다.