Oracle 은 Java SE 에 대해서 유료화 모델을 발표했습니다.
상업적 목적으로 이용시 어떻게 해서든 과금을 시키겠다는 정책입니다.
주변분들의 평가들이 서로 다른 거 같습니다.
무료화 버젼도 있으며, openJDK 를 쓰면 된다, JVM != OracleJDK 가 아니다라고 생각하는 사람과,
유료화 모델이 나왔기 때문이 아니라, JAVA 자체의 생산성보다 더 좋은 것들이 많이 나오는 시점에서,
유료화 모델은 국내 회사에서의 개발 언어에 대한 선택의 폭을 좁히는 결과가 올 것이라고 생각하는 사람도 있습니다.
예전 같았으면, 이 두가지 생각 중 하나를 선택했을 거 같습니다. 토비님의 [Oracle Code Seoul 2017] Java 9과 Spring 5로 바라보는 Java의 변화와 도전 을 들어보면, 이 위기도 결국 극복해나갈 거라 확신합니다.
그럼에도 불구하고 개발자로 살아가기 위해서는, 결과적으로 여러 언어는 많이 알아두면 좋은 거 같습니다.
모든 언어가 영원할 거라 믿지 않기 때문입니다.
예전 javascript 의 MVN 패턴에 대해서 크게 뜨면서, 7년 전 프로젝트에 Ext.js 를 사용했지만,
모바일로 잠깐 반짝거리고 지금은 잘사용안하죠.
5년전에는 backbone.js 가 떳고 요즘 대세는 Vue.js 입니다. 작년엔 React.js 를 모르면 바보였던거 같습니다.
자바로 평생 먹고 살 생각을 했던게 10년전이라면, 요즘은 어떤 언어든 배우면 된다로 바뀐거 같습니다.
자바를 하기 위해 몽고DB를 알아야하고 OracleDB, Mysql, MariaDB, 카산드라, ehcache 이제는 HBase, 카프카 등등.. 알야할 게 끊임없는거 같습니다. 다만, 예전 backbone.js 와 Vue.js 나 React 를 비교해보면 요즘 나온 언어는 예전에 비해 정말 사용하기 쉬운거 같습니다.
코틀린이 뜬다고 해서 코틀린도 해봤습니다.
재미있더군요.
그냥 지정된 API 나 commands 만 알면 왠만한 것은 해당 라이브러리, 툴, 솔류션들이 알아서 해주니, 점차 개발자들은 단순히 해당 오픈소스를 그냥 쓰면된다라는 마인드로 바뀐게 아닐까요? 도메인 주도의 설계의 본질에 조금 더 접근하는 거 같습니다.
소프트웨어의 본질은 기술이 아니며, 기술력의 너무 촛점을 둬서 본질을 흐려서는 안된다고 봅니다.
저는 당연히 개발자는 도메인에 대한 개념을 알아야한다고 생각합니다. 모든 개발 시작시 어떤 요구사항인지, 궁극적으로 원하는 것이 무엇인지 파악하는데 중점을 둡니다.
자바가 쉽게 사장되진 않겠지만, 계속 무언가 변화하고 있습니다. 자바 8 의 람다. 자바 9 의 모듈화. 자바 10 의 var.
변화하는 것에 따라가지 못하면서, 근시적인 유료화에 불만을 가지지 않고 나아가야겠습니다.
참고로,
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
java version "10.0.2" 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
openjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10)
OpenJDK 64-Bit Server VM (build 10.0.1+10, mixed mode)
openJDK 는 openjdk라고 뜨고, OracleJDK 는 Java(TM)이라고 뜹니다.