티스토리 뷰

개인적으로 올 초에 Ruby on Rails를 좀 살펴봤었습니다.

10년 전에 만들어진 Ruby라는 언어와.. 일종의 프레임워크를 적용하여 웹 어플리케이션을 개발할 수 있는 환경을 제공하는 Rails라는 것이었는데요...
물론 실전에서는 한번도 써보지 못하고.. 걍 예제 프로그램 정도만 만들어 봤었죠~

요즘은 Groovy라는 언어와 Grails라는 것을 보고 있습니다.
자바와 같은 바이트 코드를 만들어 주는 스크립트 언어인 Groovy에.. rails와 비슷한 MVC 환경을 만들어 주는 Grails가 있다고 하더군요..

아무래도 자바 환경에서 동작하므로 ruby on rails 보다는 쓰임새가 많을 것 같아.. 살펴보고 있습니다.

오늘 이런 이야기로 시작하는 이유는.. 제 개인적인 욕심 때문입니다. -.-
개인적으로 프로그래머는 언어에 구애를 받으면 안된다고 생각합니다.
또한, 최소한 1년에 하나씩 새로운 언어를 익히려고 노력해야 한다고 생각합니다.

제가 처음 대학에서 컴퓨터공학을 전공할 때만 해도..
언어는 Fortran, Basic, C 가 있었습니다.
이때는 C만 잘하면, 어디서든지 큰소리를 칠 수 있는 환경이었었죠..

하지만, 지금은 환경이 다릅니다.
매일 매일 새로운 언어가 나오고 있고.. 기존의 언어들도 끊임없이 업그레이드 하고 있습니다.

특정언어에 대해 아무리 잘 알고 있다고 하더라도..
다른 언어를 활용하면 더욱 쉽고 빠르게 구현할 수도 있는 것입니다.

그래서 구현에 얽매이지 말고.. 아키텍트나 알고리즘에 좀 더 신경을 쓰는 것이
바람직하지 않을까 하는게.. 제 생각입니다.
그러기 위해서 새로운 언어를 받아들이는데 거부감이 없어야 한다고 생각하구요..

그러나 현실적으로 쉽지는 않습니다.~~
또한 다른 프로그래머들에게 물어보면..
저에게 전형적인 프로젝트 관리자 적인 마인드라고 합니다.

개발자 입장에서는 새로운 언어를 익히는 것이 새로운 외국어를 익히는 것 만큼 낯설게 느껴지기 때문이기도 하는가 봅니다.

정리하면 제 생각은 이렇습니다.
"먼저 기본이 되는 프로그래밍 언어를 하나정도 아주 깊게 이해해야 합니다.
개인적으로는 C언어를 추천하지만, Java나 C++도 괜찮습니다.
그리고 난 후, 다른 언어들을 1년에 하나씩만 추가해 나가면.. 최고의 프로그래머가 되지 않을까요?"

과연 제 생각이 맞다고 보시나요?
또 최고의 프로그래머가 되면 그 다음은.....??

댓글
  • 프로필사진 폐인의세계 저도 미니님과 비슷한 생각을 가지고 있습니다.
    거기다가 약간의 의견을 추가하고자 합니다.
    프로그래밍 언어를 익히는 것도 중요하지만 자신의 생각을 그 프로그래밍 언어로 표현할수 있는 방법이 가장 중요한 것이라고 친한 교수님께서 언어선택으로 방황하고 있는 저에게 말씀하셨습니다. 왜냐하면 하나의 프로그래밍 언어로 표현된 프로그래머의 생각은 Pseudo Code로 작성될수 있기때문에 다른 언어로 옮겨가기가 쉽기 때문입니다. 그래서 한 언어라도 깊게 파놓는다면 다른 언어도 쉬운것이라고 저는 생각합니다.
    2007.07.23 21:51
  • 프로필사진 미니~ 네~~ 저도 한가지 언어를 깊게 파야 한다는 점이 정말 중요하다고 생각합니다.
    얇고 넓게 아는 것은 바람직하지 않다고 봅니다.
    한가지 언어는 자유자재로 구사할 수 있도록 깊게 알면서.. 다른 언어로의 확장이 필요하다는거죠..

    의견 주셔서 감사합니다. ^^
    2007.07.24 11:17 신고
  • 프로필사진 yundream 언어에 구애 받지 않는다는 것은 두가지로 해석할 수 있을 거 같습니다.
    1. 언어의 문법에 구애받지 않는거.
    2. 언어의 환경에 구애받지 않는거.

    언어에 대한 구애를 받지 않는다면, 1번보다는 2번의 의미가 더 클것이라 생각됩니다.
    그렇다면 언어에 구애받지 않는다는게 생각보다 쉽지 않다는 것을 경험하게 될 수 있습니다.
    알고리즘 프로시져 이전에 언어의 환경을 이해하는건 별개의 문제이기 때문입니다.

    대게 알고리즘, 자료구조이해, 이를 구체화시키는 프로시져코드의 작성등은 플랫폼과 언어, 기계에 상관이 없습니다.

    반면 언어는 그렇지가 않죠. PHP와 C언어가 문법이 거의 동일하지만, C언어를 하게 되면 전혀 다른 문제를 해결해야 합니다.
    웹환경이 아닌, 시스템/네트워크 환경을 이해해야 하기 때문이죠.
    마찬가지로 C에서 Java를 하는건 또다른 문제입니다.

    이런 환경 문제외에도 여러가지 사정으로 인해서 1년에 하나씩 추가해 나간다는건 - 문법만 익힐거라면 모르지만 - 거의 불가능합니다.
    2007.07.24 09:40
  • 프로필사진 미니~ 음.. 언어의 환경을 이해하기 위해서는 프로젝트를 진행하면서 경험을 쌓아야 가능할 거라고 생각합니다.

    그러기 위해서는 본인의 업무와 별도로.. 스스로 필요한 프로그램을 끊임없이 만들어 보는 것은 어떨까요?

    배운걸 써먹어 보자는 것인데.. 쩝~ 현실의 업무도 벅찬데.. 너무 가혹할까요?

    어쨌든 좋은 의견 감사합니다.
    2007.07.24 11:16 신고
  • 프로필사진 yundream 음.. 2가지 언어정도를 주력으로 하고...
    여기에 2가지 언어정도를.. 유틸언어로 하는 정도면 어떨까요.
    다양한 페러다임과 환경을 경험할 수 있도록 말이죠.

    이를테면 C, Java ==> 주력 아마 이경우 C++까지
    유틸언어로는 Python, Ruby, Perl, PHP등에서 선택정도.
    2007.07.24 11:58
댓글쓰기 폼