woowacourse-study/2022-modern-java-in-action

자바는 왜 계속 진화하고 있는가?

Opened this issue · 1 comments

문제

1996년 JDK 1.0 이 발표된 이후 JDK 8, 11 등을 거쳐서 현재 JDK 17 버전 까지 나왔다. 그렇다면 왜 자바는 초기에 갖추었던 객체지향 언어를 넘어서 여러가지의 변화를 하고 있을까?

선정 배경

앞으로의 책을 읽어갈 때 Java가 왜 이런 변화를 선택했고, 나아가고 있는지에 대해서 간단하게라도 짚고 넘어간다면 추후에 도움이 될 듯 하기에 선정했다.

관련 챕터

[1장] 자바 8, 9, 10, 11 : 무슨 일이 일어나고 있는가?

그동안에 자바가 1995년 베타 버전이 나온 이후로 많은 기간이 지났습니다.

자바가 안정성과 하위 버전과의 호환성을 중요시 하면서 다른 언어에 비해 버전을 많은 시간이 걸리면서 업데이트를 해왔지만, 많은 변화가 있었던 것은 사실입니다. 특히나 JDK 8 변화는 기존 값을 변화시키는 데 집중했던 고전적인 객체지향에서 벗어나 함수형 프로그래밍으로 진화하고 있다는 생각이 듭니다. 그렇다면 왜 자바가 이렇게 변화 하게된 원인은 무엇일까?

하드웨어의 발달과 개발자들의 요구 변화

하드웨어 발달이 가속화 되어 프로그램에서 다루게 되는 데이터의 양이 많아지고 효율적으로 연산을 처리하는 언어에 대한 수요가 많아졌고, Java는 이에 대응하기 위해서 기존에 가지고 있던 객체지향의 성격을 가진 언어에서 더 많은 데이터를 처리 하기 위한 방향으로 변화 하고 있다고 생각합니다. 여기서 나오게 된 것이 람다&Stream이며 많은 데이터를 멀티 코어 시스템으로 쉽게 처리할 수 있도록 도와주며, 나아가 고성능 병렬시스템에 대한 편의를 제공하려고 변화하고 있다는 점입니다.

프로그램의 영역이 늘어남에 따라서 다양한 시도 이루어지고 있다는 점

많은 영역에서 프로그램을 사용한 대체와 변화가 일어나고 있고 이에 대응하기 위해서 많은 인력이 투입되어 다양한 프로그램이 만들어지고, 보수가 이루어지고 있습니다. 이에 Java는 기존에 가지고 있던 코드에서 확장성을 더 쉽게 부여하기 위해서 디폴트 메서드를 추가 했고 많은 사람들이 Java 코드에 대한 유지 보수와 제작이 쉽도록 자연어에 가깝고 간결한 표현을 위해 다양한 기능들을 추가했다고 생각합니다.