여러분이 투덜이 프로그래머라면 자주 투덜거리실 말 중에 하나가 ‘이놈의 프로그래밍 세상은 새로 배울게 쏟아져 나온단 말야.. 공부할게 너무 많아’ 일 것입니다.

저도 특히 그랬습니다. 이것 좀 알았다 싶으면 저게 나와서 새로 배워야 된다고 압박을 줍니다. 그러나 요즈음에는 바꿔 생각해서

‘우리(프로그래머)의 고민을 해결해줄 신기술이 등장했다. 그래서 나의(프로그래머의) 고민을 해결해줄 신기술을 언능 익히자~’

라는 긍정적인 생각을 가지게 되었습니다.

신기술이 왜 탄생되는가 곰곰히 생각해보니 '기존 기술의 불편함을 개선하기 위해 탄생되는 것' 이라는 당연한 진리를 생각하게 되었습니다. 그래서 내가 불편했던 것을 해소해주는 신기술이라 생각하고 부단히 익히기로 하였습니다..만 귀차니즘은 항상 작동되고 있습니다.

루비 온 레일스’ 라는 새로운 언어가 각광을 받고 있습니다. 특히 ‘루비 온 레일스’의 간결함에 따른 생산성(빠른 개발) 효과는 저의 호기심을 자극했습니다. 어떻게 언어 구성을 했길래 생산성이 높다는 거지?

그래서 한번 다뤄보고는 싶었지만 현재 ‘자바’위주로 다루고 있어 이질감이 들었고, 회사 업무만 해도 벅찬대다가, 현재 주력으로 익히고 있는 스프링 프레임워크도 완벽하게 습득하지 못한 상황이라 공부 우선순위는 뒤쳐져 있었습니다.

이런 와중에 ‘그레일스(Grails)’ 라는 새로운 IT용어를 IBM developerWorks를 통해 보게 되었습니다. 그레일스? 이건 또 무슨 용어야.. 하고 읽어봤더니 ‘루비 온 레일스’의 자바 버전이라고 합니다.

“자바(Java™) 프로그래머는 최신 웹 개발 프레임워크에 적응하는 데 자신들이 가장 좋아하는 언어와 기존 개발 기반을 포기할 필요가 없습니다. 자바 전문가인 Scott Davis의 새로운 연재인 Mastering Grails의 1회에서는 Grails를 소개하고, 첫 Grails 애플리케이션을 구축하는 방법을 설명하겠습니다.”

루비 온 레일스의 효과적인 개발 기법을 배우는데 기존 자바 환경을 포기할 필요가 없다고 강조 합니다. 솔깃 합니다.

좀더 읽어봤더니 루비 온 레일스의 간결함에 따른 생산성 증대 효과는 '설정보다 관례(convention over configuration)’ 효과에서 비롯된 것 같습니다.

그러고 보니 예전 기술로 개발할 때, 당시 좋은 프레임워크 기술이라고 선전하던 BPM 프레임워크를 사용한적이 있었는데요. 극악의 설정파일 관리 때문에 속이 부글부글 끓은적이 있었습니다. 세상에 하나의 거래 화면을 개발하는데 관련 파일을 6~8개나 만져야 했습니다. 과장되게 말해 수많은 에디터 창 덕분에 윈도우가 다운될 정도였던 끔찍한 기억이었습니다.

이것은 하나의 생산성을 위해 다른 생산성을 완전히 죽인 실패한 프레임워크 였습니다. 그러나 루비 온 레일스의 중요한 언어 사상인 '설정보다 관례(convention over configuration)’는 네이밍 규칙 등의 관례만 따르면 별도의 설정 파일을 최대한 줄여서 개발이 가능하고, ‘그레일스(Grails)’는 이 루비 온 레일스의 장점을 자바로 옮긴 프레임워크입니다.

이 기사를 읽어보니 레일스는 루비가 필수인것처럼, 그레일스는 그루비가 필수라고 하더군요. 스프링 프레임워크를 어느정도 다루고 나면 그루비와 그레일스 통한 '설정보다 관례(convention over configuration)’ 효과나 다른 기술 도입 효과를 느껴봐야 겠습니다.

그레일스(Grails)를 보더라도 새로운 기술은 과거의 불편함을 해소하기 위해 등장한 해결사~ 라는 생각이 들었습니다. '설정보다 관례(convention over configuration)'를 따르면 예전처럼 하나의 거래 화면을 개발하는데 8개 정도나 되는 파일을 손봐야 할 일은 없겠죠? ^ ^

> IBM developerWorks

Grails 마스터하기: 첫 번째 Grails 애플리케이션 구축하기 (한글)
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 산골
산골 블로그 소개 저는 하얀머리 개발자와 작가를 꿈꾸는 블로거 산골 입니다. 프로그램 개발자로서 저의 관심사는 개발자의 숨통을 트여준 아이폰 개발, 철학과 같은 깊이가 있는 객체지향 방법론입니다. 글쓰기와 수영을 좋아합니다. 블로그를 통해 관심사를 공유합니다. 제 블로그에 관심 있으시면 아래 RSS나 즐겨찾기로 편하게 구독하세요.

rss Bookmark and Share

댓글을 달아 주세요

  1. BlogIcon 2008.03.28 09:37 신고  댓글주소  수정/삭제  댓글쓰기

    새로운 기술에 단점은 검증이 안되었다는 거지.
    이론적으로는 그동안의 기술에 단점을 커버했다고 하지만
    그로 인한 새로운 단점이 생기는 악순환^^
    그래도 신기술은 필요하고
    그로인해 개발자는 바쁘고^^

  2. BlogIcon Keating 2008.03.30 20:14 신고  댓글주소  수정/삭제  댓글쓰기

    Convention over Configuration!
    아~
    생각이 잠시 머물게 하는 말이네요.
    Convention 은 관습, 습관,,,
    결국, 모든 인간이 같은 습관을 가져준다면...
    하드웨어든 소프트웨어든... 구현하기가 훨씬 손쉬워지겠죠...
    하지만 컴퓨터의 획일성은 인간의 다양성을 결국 따라잡을 수가 없죠...
    Convention over Configuration......
    생산성이 극대화되는 만큼 분명히 잃어버리는 것들이 있겠죠