본문 바로가기

Trivia

자바의 기술에 대한 이해

  얼마전 OKJSP에서 였지만 자바(Java)라... 그 역겨움이란... 글을 읽고 몇가지 잘못된점을 이야기 한다면,

 먼저 framework에 대한 잘못된 이해가 보인다.

 기본적으로 framework는
1. 공통으로 사용되는 기능들을 제공함으로서 개발 생산성을 도모하고
2. 개발자의 능력에 따른 소스의 편차를 줄이고 개발된 소스의 일정한 품질을 보증하기 위해서 쓰인다.

 이는 프로젝트에서 위에 언급된 2가지를 충족한다면 framework를 쓸 이유가 없어진다는 것 이다.

하지만 일반적인 개발에서 위의 2가지를 충족하기란 어렵고 특히나 프로젝트의 규모가 어느정도 이상을
넘어선다면 프레임웍크를 쓴것 이상으로 생산성을 내기란 쉽지가 않다.

 다시말해 만약 당신이 프레임웍크없이 이 생산성을 보증하는 그 어떤 것(공통된 처리를 줄이며 소스를
간단하게하는 패턴을 가진 소스코드의 집합)을 만든다면 그것은 프레임웍크라 불릴수 있을것이다.
물론 이 생산성에 대한 평가는 전체 개발에 있어서 총시간을 말한다.

 위의 분은 Struts의 단점과 framework를 혼동하고 있는것같다.
당신이 Struts를 능가하는 생산성을 보장하는 그어떤 소스를 만든다면 그것을 사용하면되는것이다.
그것이 바로 framework가 될테니 말이다.

 그리고 현재 나오는 framework와 기술들에 대해 혼동하고 있는부분이 있는데,
자바의 기술들은 소프트웨어 자동화를 위한 진화의 일부분으로 생각될수 있다는것이다.

 Case Tool 을 통한 소프트웨어 자동화로서 IDE를 통해 기능 및 소스의 변화를 자동화 시키기 위한
Interface와 implememt의 분리 즉 xml과 java source code을 유기적으로 연동시킴으로서
궁극적으로는 몇번의 클릭 및 입력을 통해 소스코드의 자동생성을 목표로한다는 것 이다.

 이미 구현되어있을수도있고 몇몇 불완전한부분이 있지만 아마 궁국적으로는 이러한 기술들이
현실화 될것이라 생각된다. *java beans 의 getter,setter와 map의 편의성에 관한 토론과 같은맥락이다.

일일이 비판하기 귀찮기에  위 사안의 몇몇 핵심적인 부분을 언급하고 이만 글을 끊겠다.
(MVC가 생산성을 높여주는가? 이것은 OOP가 생산성을 높여주는가?의 문제로 환원된다.)