파이썬을 이용한 개발에 즈음하여~ Develop Tip

이제 파이썬을 제대로 사용한지 반년이 흘러간다.
지난 20년 동안 사용하였던 언어들을 가만히 되짚어 보면...

사회에 나오자 마자, HP-UX와 SUN-OS를 접했고,
C언어와 더불어 Unix에서의 Awk, Sed, Shell Script 등의 스크립트 (간단한 자체 스크립트) 언어를 이용했었다.
그러다 몇년 지나 Perl 스크립트를 사용했다.

물론 개발 환경에 Unix에서 Windows 라는 PC환경으로 넘어오다 보니,
터보C, 볼렌드C++, VC++ 등을 했었고, 델파이와 파워빌더(이건 아주 잠깐)
VB와 같은 RAD(Rapid Application Development) 툴을 이용했다가,
후에 VisualStudio 등으로 통합되었다.
또한 PC에도 Active-Perl 등을 이용하여 간단하게나마 스크립트를 돌렸었다.

90년 중반 너머서 부터는 WAS, Java, JSP 등을 이용한 웹 개발을 하다가,
IIS를 ASP를 이용한 프로그램도 잠깐 했던 기억이 있다.

물론 SQL 89 표준을 이용한 SQL 개발도 나름 열심히 했었고,
오라클 튜닝과 더불어 MySQL 최적화에 고심했던 때도 있었다.

또한 90년 초반에 프로젝트에서는 내가 만든 B+트리 인덱싱과 SyBase DBMS와
경쟁하여 이기기도 했었다는 웃지못할 상황도 기억에 남는다.

2000년 들어서서야 Java의 추격을 시작한 MS의 .Net 을 이용한 C# 프로그램도
했었고 그 와중에서도 Linux의 C 개발은 꾸준히 있었던것 같다.

그 사이에 코블, DBF, 포트란 등등의 사장되는 언어도 있었고,
VM이라는 개념하에 Java, C# 등의 언어가 새로 부곽되기도 했었다.

물론 RIA(Rich Internet Application)을 지향한다는 플렉스와 실버라이트 중,
플렉스를 이용해서 일년동안 GUI를 해 보기도 했다.

이제와서 새삼 스럽게 이런 지나간 추억거리를 되짚어 살펴보는 이유는,
어디까지 개발 언어나 환경은 내가 만들고자 하는 연장에 불과하다는 것을
꼭 후배 개발자님들께 알려주고 싶어서 이다.

연장(개발 언어)을 어느 작업장 환경(프레임웍 또는 OS)에서 유효 적절하게
이용하여야만 만들고자 하는 정확한 제품(응용프로그램 또는 상응하는 제품)
을 적은 인원으로 시간에 맞게 만들 수 있기 때문이다.

예를 들어 쾌종시계를 만들 때 사용하는 연장 및 도구 작업 환경과,
가구를 만들 때 모두 틀릴 것이며, 또한 가구 때와 집을 만들 때는
아주 틀릴 것이다.

만약 어떤 사람이 전기 톱과 대패만 가지고 있고,
자신이 잘 할 수 있는 것이 그것이기 때문에 그것만을 이용하여
원하는 것을 만드는데 덤비는 것은 제대로 된 물건을 만드는데
어려움이 있을 수 있다.

똑 같은 시행착오를 소프트웨어를 개발하는 개발자들도 쉽게
범하는 것 같다.

파이썬은 1990년 크리스마스 휴가를 재미있게 보낸다는 네델란드 암스테르담의
귀도 반 로섬 이라는 개발자가 시작하여 만든 언어다.

Java 나 C#은 VM이라는 개념으로 Cross플랫폼을 지향했지만,
VM에 의하여 시스템을 제대로 활용하는데 제약이 있을 수 있다.
하지만 파이썬은 Perl과 같은 스크립트 언어로 Perl 이상의 지원 모듈이
존재하며 Java 보다도 더 객체지향 프로그램을 하기에 안성맞춤이다.

더군다나 어느 시스템을 프로토타이핑 하거나 (그렇다고 꼭 프로토타입에 사용하라는
이야기는 아니다) 테스트 목적으로 작업을 하는데 아주 유효 적절하다.
또한 같은 스크립트 언어들에 비하여 비교적 속도도 상위권에 들 정도로
빠르다.

다른 여러가지 장점 들에 앞서 현재 구글사에서 공식적으로 사용하는
세 가지 언어 중 하나이고, 구글 메일 시스템을 포함하여 많은 부분이
파이썬으로 구현되어 있다 한다. 무엇보다도 파이썬을 만든 개발자
자신을 구글에 영입한 사실을 보고도 알 수 있다.
NASA에서도 파이썬을 상당히 비중있게 사용하는 프로그래밍언어라 하였다.

무엇보다도 자신이 자신만의 객체를 만들고 쌓아가면서,
때로는 블럭을 다른 블럭으로 교체하기도 하고,
개별 블럭 테스트를 진행하면서 전체를 아우르기도 하는
그런 시스템을 만저보면서 좋다는 것을 이해 할 수 있을 것이다.


덧글

  • akudoku 2010/05/04 20:07 # 삭제 답글

    파이썬을 좋아하는 입장에서 기쁜 글이었습니다.
    요즘 이래저래 matlab과 비교할 기회가 있었는데
    꽤나 유사한 느낌?
    다만 계산뿐 아니라 구현 시에도 유효하다는데 강점이 있는 것 같습니다.
    어쨋거나 이제 사회에 나갈 입장에서 존경스럽습니다.
  • 지훈현서아빠 2010/05/06 13:44 #

    이제 사회에 나가신다니 조언을 한두가지 더 해보겠습니다.
    막상 사회에 나가, 실제 개발하는 현실과 "조엘 온 소프트웨어"에 나오는
    이상적인 개발 과는 사뭇 다르다는 것을 쉽게 알 수 있습니다.
    그런 현실 속에서 묵묵하게 십년 이십년 개발을 해 오신 분들 또한
    계시구요.
    최근들어 아이폰과 덜불어 S/W에 대한 설왕설래가 많습니다만,
    저처럼 60까지 프로그램 개발을 할거야 하는 어렸을 때의
    마음이 변치 않고 계속 될 수 있는 사회나 환경이 되었으면 좋겠고,
    또한 환경이 그렇지 않더라도 지켜나가는 개발자가 되시기를
    (뭐 3D 의 열악한 환경에서 한번 당해봐라... 는 식이 아니구요 ^^)
    바랍니다...
  • akudoku 2010/05/06 17:09 # 삭제 답글

    음... 댓글 감사합니다.
    저는 무엇보다 무계획적인, 우왕좌왕하는 프로젝트 진행이 참 안타깝더라구요.
    결국 지금은 다니던 회사를 접고 학교에 다시 들어왔습니다...
    하지만 결국 완전히 다른 일을 하진 않을 것 같습니다.
    언젠간 개발에 몸 담그게 되겠죠.....
  • 자유인 2010/05/10 12:12 # 답글

    대단하신 분이네요.. 개발 13년차인 제가 고개가 숙여지는군요.. 연차만 오래됐지 깊이있게 여러 언어를 공부못해본게 좀 아쉽더라구요.. 파이썬에 대해서도 공부좀 해봐야겠네요~
  • 지훈현서아빠 2010/05/10 14:57 #

    정말 년차는 중요한거 하나도 없습니다. 1개월에 하나씩 새로운 것을 공부하는 사람은
    1년에 하나씩 공부하는 사람에 비하여 12배나 더 많은 것을 알 확률이 있으니까요.
    암튼 저는 연차에 연연하지 않고 꾸준히 배우면서 더 나은 내일을 위하여
    노력하고자 합니다.
    감사합니다.
  • lifeguru 2010/10/05 16:49 # 삭제 답글

    언어는 단지 도구라는 말씀에 심히 공감합니다. 최적의 결과를 위해, 최적의 도구를 선택할 수 있는 것이 가장 좋은 것이라는 것을 개발자와 기획자들이 인지할 때 좀 더 나은 환경이 오지 않을까 합니다. 어찌하여 개발에 손을 떼게 되었지만, 늘 손이 근질거립니다. 근래들어 파이썬과 루비에 심취하여 즐기는 중인데 역시 재밌군요.
  • 지훈현서아빠 2010/10/05 17:01 #

    음... 저는 아직까지 업으로 하고 있는데 즐기고 계시다니요~
    You Win! 입니다요~ ^^
댓글 입력 영역

구글애드텍스트