취미로 웹 프로그래밍을 하려는데 어떤 언어를 선택할지 고민입니다.

bisbeta의 이미지

취미로 프로그래밍을 하고 있는 사람입니다.
전공도 직업도 프로그래밍과는 관련 없습니다.
엑셀에서 VBA로 몇 가지 노가다성 작업을 자동화 한 것이 시작이었죠.
점점 더 복잡한 작업도 VBA로 자동화 할 수 있게 되었고... 한계를 느껴서 Python을 배웠습니다.
Python으로 몇 가지 toy program들도 짰었고, 일회용 프로그램들도 종종 짜서 쓰고 있습니다.
업무에서 항상 쓰는 프로그램에 extension으로 작동할 수 있는 프로그램도 만들었습니다.
이 extension은 틈틈히 1년 정도 걸려서 만들었으며, 주변 동료들도 매일 유용하게 쓰고 있어요.^^


수없이 삽질하고 배우면서 만들었는데... 정말 재미있더군요!!
진로를 잘 못 선택했나 고민했을 정도로 재미있었어요!!


지금까지는 본업이 꽤 바빴지만 아마 내년 봄 정도 부터는 여유시간이 많이 생길 것 같습니다.
그래서 만드려고 구상하고 있는 웹 기반 프로그램(데이터 정리 중심)이 있는데 혼자서 만들기에는 규모가 좀 커요.
이것도 아마 삽질하고 배우면서 만들어야겠죠.
몇 년이 걸려도 좋으니 배워가면서 천천히 만드려고 합니다.


어떤 언어, 어떤 환경에서 만들지에 대해서 고민이 많습니다.

Option 1. Python
일단 제가 가장 많이 써 본 언어입니다. Google app engine이라는 환경도 있더군요. 혼자서 개발 시작하기에는 가장 좋을 거라고 생각했습니다. 마음에 걸리는 점은 물어보거나 찾아 볼 수 있는 한글 문서가 부족하다는 점입니다. 아까 말씀드린 extension으로 작동하는 프로그램에도 해결이 어려운 문제(아마도 함께 사용했던 autohotkey와의 연동문제)가 있었는데 끝내 해결 못하고 해당 기능을 삭제한 경험이 있어서 이점이 너무 걸리네요. 제 영어 실력은 정리된 영어 문서를 읽는 것 정도는 문제 없지만 외국 포럼이나 IRC 채널에서 질문하고 답을 구할 정도는 아닙니다.

Option 2. JAVA
남들이 많이 쓰는 언어를 써야 찾아볼 곳도, 물어볼 곳도 많으니 자바로 짜다보면 막혔을 때 troubleshooting에 도움이 되지 않을까 하는 기대가 있습니다. 그래서 자바 입문서를 사서 훑어보기도 했죠. 이래저래 자바 웹 프로그래밍을 배우려 검색하다 보니 배울게 엄청나게 방대하더군요. 배우기만 하다가 몇 년 지나갈 것 같은 느낌입니다.

Option 3. Haskell
요즘 오일러 프로젝트를 이걸로 풀고 있습니다. 언어 자체로만 보면 가장 마음에 들지만(아름다운 코드...^^) 이걸로 뭘 만들기는 어렵다고 생각됩니다. 자료 부족도 너무 심하구요. 한글 문서는 고사하고 영어 문서도 부족한 듯 하네요. 이건 사실상 제외했습니다.



쓰다보니 두서없이 단점만 적었네요..?! 장점은 생략한겁니다... ㅡㅡ

정리해서 질문하겠습니다.

1. Python으로 만들다가 막힐 경우 국내에 도움을 청할 곳이 있나요?
2. 자바를 선택한다면 그 방대한 자바세계는 다 배워야 하나요? 일부만 배워도 된다면 어디까지 배우면 될까요?
3. 제 입장에서 어떤 언어를 선택하는게 좋을까요?

감사합니다.

lns0801의 이미지


1.
Python을 하셨다니 개인적으로는 Python을 추천해 드리고 싶습니다.
스크립트 언어 중 상당히 많이 쓰이는 언어라 직접 물어보지 않아도
영어 문서만 어느 정도 읽을 줄 아신다면 대부분 검색으로 해결할수 있을겁니다.
좋은 프레임워크나 라이브러리도 많구요

2.
자바에 많은 프레임워크가 있지만 단지 좀더 쉽게 다루기 위한 툴이니 전부 다 보실필요는 없습니다.
보면 좋은거지 꼭보아야 하는건 아니니까 너무 부담가지실 필요는 없어 보입니다.

프레임워크 하나만 잡고 공부하셔도 충분할것 같네요
사실 간단한 페이지라면 jsp만으로도 충분하기도 하구요
전문적으로 사용하실것이 아니라면 개인적으로 play 프레임워크 추천해 드립니다.
저도 잠깐 써본게 전부이긴 하지만 참 쉽고 편하게 잘만들어졌더군요
한글판 책도 나온것 같구요
다만 아직 그리 대중적인 프레임워크가 아니라 Python처럼 한글로 정보를 찾기가 쉽지 않을 수 있습니다.

http://www.playframework.org/

kasworld의 이미지

http://www.web2py.com/
일단 이거 하나로 필요한 모든것이 된다는 것도 좋은 점이구요. ^^

만일 실무에 쓰려면 좀 고민이 필요하긴 합니다.

bisbeta의 이미지

자바라면 스프링, 파이썬은 장고인줄 알았는데 훨씬 간단한 프레임워크들도 있군요.^^

주말내내.. 그리고 방금 전까지 play, web2py, django의 tutorial들을 읽고 조금씩 따라해봤습니다. spring의 tutorial도 잠시 봤는데 "무슨 Hello world가 이리 어려워??!!"라고 생각하며 바로 접었습니다.-_-;;

web2py가 가장 빠른 시간 안에 배워서 이거저거 시험해보기 좋을 것 같아서 선택하기로 했습니다.
만일 web2py의 한계에 부딫힌다면 그 때 가서 다시 고민해보도록 하겠습니다.

두 분 모두 답변 감사합니다.

helpbygrace의 이미지

생각보다 어렵지 않습니다. ... 한번 해보시는것도;; .. 게다가 Djangobook 이라는 좋은 사이트도 있구요.

Haskell로는 Hakyll인가.. 하는 프레임웍이 있는것으로 알고 있습니다만 이건 정적인 문서를 만들어내는데에 적합한 듯 하더군요.

shaegis의 이미지

Yesod를 많이 사용하는 것 같습니다.
http://www.yesodweb.com/

gauryan의 이미지

Grails 도 추천 드려요. ^^

http://grails.org/

취미개발자 '해피가이'
[ http://gauryan.blogspot.com/ ]

세벌의 이미지