[Practical-Java] 1. 자바의 역사(과거)와 발전(미래)


개발을 하다 보면 "책 한권만 읽은 사람이 제일 무섭다는 말"을 다시 한번 느낀다. Practical JAVA 책을 다시 읽고 포스팅을 하는 이유이다.

java 라는 프로그래밍 언어는 1996년도에 JDK1.0으로 출시되고 1997년도에 JDK1.1부터 많이 쓰이기 시작했다고 한다. 그 이후로 2004년도에 제네릭이 기능이 추가 된 JDK1.5이 릴리즈가 되고 본인이 개발하는 시기에는 2014년도에 나온 JDK8 를 주로 사용했고 2017년 이후로는 지속적으로 매년 업그레이드 된 JDK18까지 나왔다.

7년 넘게 java 위주로 개발한 나는 항상 주변에서 “JAVA는 쓰레기다.”, “한국에서만 JAVA공화국이다.”, “국비지원으로 비전공자 JAVA개발자를 뽑아내서 그렇다.” 라는 말을 듣는다. 그런데 그런말들을 하는 개발자(?)들은 java를 안해서 배아파서 하는 말 같고, 본인이 추구하는 다른 언어에 대한 철학과 경험도 없는 거 같다.

본인도 잘 나간다는 언어나 라이브러리들 그리고 그 외에 CS지식이나 서버 공부를 꾸준히 얇게 나마 하다보면 java 언어에 대해 단순하게 폄하할수 없다고 생각된다. 가볍게 말해도 객체지향프로그래밍 기반으로 어플리케이션 아키텍쳐 구조나 자바의 제네릭의 타입추론과 어노테이션은 다른 언어를 해보면 엄청난 것이다. 자바는 프로젝트가 무겁다고 해서 스프링부트가 출시되고 App 개발과 자바스크립트의 단순화에 JVM기반으로 Kotlin 언어가 나오고 함수형프로그램밍이 유행이 되자 그것 또한 java8에서 익명함수와 인터페이스로 람다식과 함수형프로그램을 지원한다. stream 이며 비동기를 위한 api 등 많은 api와 library들이 나왔으며 레퍼런스 웹서비스, 기능, 코드 들이 많다. 이 모든 건 내가 개발일을 하는 동안의 발전된 java이다.

그래서 꾸준히 발전된 java를 보면, 나는 한 부분에서만큼은 서비스 위한 프로그램밍 언어로서 발전 될거라고 본다.