Study/Java

[Java] java의 버전에 대해서 생각

dororong 2022. 2. 10. 09:10

저는 프로젝트를 진행 할 때에 막연하게 java 8은 너무 오래 된 버전 같기도 하고 java 버전 중에 LTS 버전이 무언가 좋다고 들은 것 같았기 때문에 java 8 다음의 LTS 버전인 java 11을 사용하고 있었습니다. 그리고 최근 보았던 면접에서 사용하고 있는 java 버전에 대한 질문을 받은 적이 있습니다. 답변은 java 11버전을 사용하고 있다고 하였는데 그렇다면 java 11버전이 되며 바뀐점이나 특징에 대한 연속 질문이 있었고, 제대로 답변을 하지 못한채 면접이 흘러간 경험이 있습니다.

 

이후 java 버전에 대해서 알아보기 시작했고 그 내용을 제가 알게된 것과 느낀 점을 적어보게 되었습니다.

 

java는 현재 글을 작성하는 2022년 2월 10일 기준 17(LTS) 버전이 나온 상태이며 18, 19, 20 ... 계속해서 나올 예정이라고 합니다. 일단 LTS 버전이 무엇인지 알고 가야 할 것 같습니다. LTSLong Term Support 의 약자이며 출시 후 8년 이라는 긴 기간동안 보안 업데이트와 버그 수정을 지원할 것임을 선언한 버전이라고 알 수 있습니다. 그렇기에 보다 안정적으로 java를 사용하고 싶다면 이 LTS 버전을 사용하는 것이 바람직하다고 볼 수 있습니다.

자바 버전 지원 로드맵 (https://www.oracle.com/java/technologies/java-se-support-roadmap.html)

그리고 이 java LTS 버전 중에도 가장 많이 사용하는 버전은 java 8이라고 알려져 있는데 이는 java 8에서 등장한 lambda와 Stream API 등 편리한 기능들이 많이 제공이 되었고, 오라클이 자바를 인수하고 나서 출시한 첫번째 LTS 버전 이라는 점, 또 32비트를 지원하는 마지막 공식 java 버전이라는 점 등이 이 이유가 될 것이라고 생각합니다. 또 2020년 3월 즈음 oracle에서 공식으로 밝히기를 java 8이 오늘날 가장 많이 사용된 java 버전이라고 밝히기도 하였습니다.

 

그리고 이렇게 막대한 사용자의 영향 때문인지 oracle 에서는 java 8에 대한 지원을 2030년 까지로 확장하기도 하여서 이후에 출시된 LTS 버전인 java 11, java 17 보다도 긴 시간을 지원 받을 수도 있게 되었습니다. ( 추후에 java 11이나  java 17 도 확장될 수도 있긴 하겠지요. )

 

저의 생각은 이렇습니다. 사람들이 많이 사용하는 java 8 버전이 그만큼 안정적 이라는 것을 인정합니다. 그렇지만 시간이 계속해서 흐르는 동안 java 8 버전만을 사용한다면 계속해서 생겨나는 새로운 java 버전의 기술들을 외면하는 형상이 될 것이라고 생각합니다. 그렇기 때문에 저는 사용하던 java 11을 사용하며 프로젝트를 진행할 예정이며 얼마 전에 나온 LTS 버전인 java 17 버전에 대한 사람들의 평가가 이루어지고 안정이 되었다 생각하면 java 17버전을 공부해서 또 사용하는 식으로 진행을 할 것 같습니다. 

 

물론 새로운 프로그래밍 언어가 계속해서 생겨나고 있는 상황에 java의 수요가 미래에도 많다면 이라는 가정이었습니다. 새로운 언어가 시장을 지배하고, java의 수요가 계속해서 줄어든다면 흐름에 맞춰 새로운 언어를 배워서 사용하는 것이 개발자로서 올바른 길이라고 생각합니다. 그렇지만 java를 통해 개발 공부를 시작했다는 것은 좋은 경험이라고 생각합니다. 공부할수록 어려운 java 이지만 그만큼 좋은 언어라고 생각하기 때문입니다.

 

출처

https://www.oracle.com/java/technologies/java-se-support-roadmap.html