티스토리 뷰

사실 C언어로 처음 프로그래밍을 시작했던 나에게 처음 자바는 불편한 언어였다.

책의 저자가 했던 말처럼 "Hello World!" 문자열 한 줄 출력하기 위해, 많은 것들을 써야 했으니까.

그 시절 내 생각을 추측해보면, 아마 타이핑이 귀찮았던 것이 가장 큰 이유가 아니었을까.

하지만 취직을 하고 자바를 사용해야하는 환경에 많이 노출 되었다. 사실, 이 책을 읽기 전까지 자바를 사용하는 것에 큰 생각을 해본 적이 없었다.

저자가 책에서 얘기한 '행사코드'에 대해서도 사실 얘기해 주기 전까진 깨닫지 못한 불편함이었다. 자바의 그런 모습마저도 익숙함으로 극복했던 것 같다.

물론 지금도 많은 프로젝트들에서 자바를 사용하고 있지만, 내가 사용하는 자바는 어떻게 보면 다양한 프레임워크에 가려 자바 그대로의 그것을 사용하지는 않는다.

책에서 얘기해 주어 다시 생각난 자바의 모습. 저자의 견해에 비추어 생각해 본 자바의 모습은 주가가 오를 대로 오른 주식 같았다.

가지고 있으면 엄청난 자산인데, 주가가 떨어질까봐 두려운.

사실은 이런 면을 책을 읽고 있는 독자들에게 이해시키기 위한 작가의 의도 일 수도 있다. 자바를 사용하고 자바를 사랑하는 당신에게 주는 경각심.

 

와 닿았던 구절.

  • 프로그래머 들에게 적어도 한 해에 하나의 언어를 학습해 나갈 것을 권장한다.
  • 앞으로는 프로그래머가 어떤 언어에 대해서 얼마나 많이 알고 있는가 하는 것이 아니라 어떤 언어를 얼마나 빠르게 학습할 수 있는가 하는 것이 중요하다.
  • 어쩌면 우리는 자바를 원래 의도되었던 범위 이상으로 확장하고 있는 것일지도 모른다.
  • 우리가 사용하는 새로운 언어의 배경이 되는 언어는 행사코드가 범람하게 되면서 생산성이 점점 낮아진다.
  • 오늘날 좋은 프로그래머는 단순히 프로그램을 짜는 것이 아니다. 좋은 프로그래머는 다른 사람이 사용할 수 있는 어휘를 늘려나간다. 다시말해서 그들은 자기도 모르는 사이에 언어를 설계하는 것이다. 언어의 설계를 처음부터 시작하는 것은 아니지만, 기초가 되는 언어의 프레임안에서 새로운 언어를 만들어 나간다.

더 알아볼 것들.

  • 스칼라, 함수형 패러다임
  • 자바의 제네릭. 와일드카드, 경계, 공변성convariance, 반공변성 contracovaricance
  • 이펙티브 자바 effective java
  • 애자일 소프트웨어 개발 Agile software java
  • Seven languages in Seven weeks
  • 조엘 온 소프트웨어
  • 의존성 주입 dependency injection패턴
  • 조슈아 블로흐
  • 제프 아트우드
  • Discourse.org
  • 자바8 람다.
  • 빌드build패턴
댓글
댓글쓰기 폼