프로그래밍 오리엔테이션

어떤 언어를 배워야 할까?

세상에는 정말 많은 언어가 있습니다. 필자도 모든 언어를 알지 못합니다. 어떤 언어는 다른 언어를 만듭니다. 이를테면 C는 많은 언어들의 어버이입니다. 많은 언어들이 C로 만들어져 있습니다. 또 어떤 언어는 대체 불가합니다. 이를테면 웹페이지를 만드는 언어는 HTML,CSS,JavaScript 밖에 없습니다. 브라우저는 이러한 언어 외에는 어떠한 언어의 문법도 이해하지 못합니다. 또 어떤 언어는 대체 가능합니다. 예를들어 데이터베이스와 웹서버를 중계해주는 역할을 하는 PHP는 Java, Python, C, C++, Ruby, Perl, JavaScript등 거의 모든 언어로 대체 가능합니다. 무엇을 선택하느냐는 여러분의 취향이거나, 여러분이 속해있는 조직의 선택입니다. 하지만 한가지 언어와 그 언어가 동작하는 방법을 이해하면 다른 언어를 배우는 것은 어렵지 않습니다. 이때의 장애물은 익숙한 언어를 놔두고 낯선 언어를 배우면서 생겨나는 조급증과 지루함 밖에 없습니다.

그렇다면 어떤 언어가 좋은 언어일까요? 정답은 없는 것 같습니다. 이를테면 PHP는 웹을 위한 언어고, 배우기가 쉽습니다. 만약 컴퓨터를 전공하지 않은 필자가 C로 웹을 시작했다면 필자는 프로그래머가 되지 못했을지도 모르겠습니다. 하지만 PHP는 좋게 말하면 관대한 언어이고, 나쁘게 말하면 어떻게 동작할지 예측이 다소 어려운 언어입니다. PHP는 개발자의 실수를 알아서 바로잡습니다. 반대로 Java나 C와 같은 엄격한 언어는 이러한 실수를 용납하지 않습니다. 이것은 장점일 수도 있고, 단점일 수도 있습니다.

필자가 언어를 공부한 것은 만들고 싶은 것이 있었기 때문입니다. 만들고자 하는 것이 있을 때 그것을 빠르게 만들 수 있는 언어가 필자의 성향에는 더 잘 맞습니다. 반대로 엔지니어링적인 미학을 추구한다면 엄격한 언어들에 호감이 갈 것입니다. 그리고 필자는 요즘에서야 엔지니어링을 수단이 아닌 그것 자체가 추구할만한 목적이라는 것을 느끼고 있습니다. 언어는 자연어건 프로그래밍 언어이건 그 언어를 사용하는 사람들이 직면한 문제와 그것을 해결한 성취를 담고 있습니다. 이러한 성취에 접근하기 위해서는 언어를 알아야 합니다. 필자가 생각하는 언어의 정수는 바로 이것입니다. 이점을 기억하신다면 엔지니어링을 좀 더 풍부하게 경험하실 수 있을 것 같습니다. 

댓글

댓글 본문
  1. 코딩두
    23.07.27
    본인에게 맞는 언어 선택
  2. ddangon
    오늘도 배워갑니다
  3. 바보
    엔지니어링을 수단이 아닌 그것 자체가 추구할만한 목적이라는 것을 느끼고 있습니다. 언어는 자연어건 프로그래밍 언어이건 그 언어를 사용하는 사람들이 직면한 문제와 그것을 해결한 성취를 담고 있습니다. 이러한 성취에 접근하기 위해서는 언어를 알아야 합니다.
    rmdjsdlqslek.
  4. 주말좋아
    22.03.03
  5. 김태형
    좋은 글 감사합니다~~
  6. 크림치즈마늘빵
    21.12.12
  7. hyo236
    감사합니다
  8. shinahyo
    저도 빠르게 만들 수 있는 언어, 결과물을 내서 직접 볼 수 있는 언어를 더 선호하는 것 같습니다. JS 따라가고 있습니다! 양질의 강의와 조언들에 항상 감사드려요!
  9. 허공
    감사합니다!
  10. 돼지천재
    감사합니다.
  11. 제로스
    언어는 자연어건 프로그래밍 언어이건 그 언어를 사용하는 사람들이 직면한 문제와 그것을 해결한 성취를 담고 있습니다...
    감사합니다
  12. 빛보다 밝은 빛
    언어를 공부한 것은 만들고 싶은 것이 있었기 때문입니다. 만들고자 하는 것이 있을 때 그것을 빠르게 만들 수 있는 언어가 필자의 성향에는 더 잘 맞습니다.

    넘나 공감 또 공감입니다. 저도 이고잉님과 함께 달립니다!!!!
  13. hanulsso
    서점에 가서 무슨 책을 살까 고민하던 때 이 글을 봤다면 참 좋았을 것 같네요.
    그 많은 언어들.. 정리가 좀 됩니다.
    HTML책 본 후, JS책 보고, 파이썬, 루비 차례로 공부하면 되겠군요.
    앱 만드는게 목적이니까 이 진도로 가면 맞을까요?
  14. momo
    네!! Python과 Ruby 수업 모두 듣겠습니다~~! 언제나 좋은 정보 감사합니다. ^^ 여기서 많이 배워갑니다.
    대화보기
    • egoing
      전 모든 언어를 좋아하지만 웹에 국한한다면 PHP는 여전히 현장에서 많이 쓰고 있고, 앞으로도 많이 쓰일 언어랍니다. Python은 PHP 보다 더 넓게 사용한다는 점에서 장점이 있구요. 파이썬과 루비에 관심이 있다면 아래 수업도 링크해봅니다~ 아름다운 언어들이죠 :)

      https://opentutorials.org......750
      대화보기
      • momo
        오 그런가요!! 감사합니다 이고잉님 ㅎㅎ
        대화보기
        • egoing
          참고로 파이썬이 PHP 보다 3~4살 연상입니다 ㅎㅎ
          대화보기
          • momo
            저도 Python 나왔어요! 재밌네요 ㅎㅎㅎ

            제 남자친구가 소프트웨어 엔지니어인데 PHP는 너무 오래된 언어라 최근 회사들에서는 잘 안쓰인다고 하네요. 배우는 건 좋지만 좀 더 심화적으로 들어가려면 Python이나 Ruby를 선택하는 것이 좋다고 해요.
            대화보기
            • 명진
              이고잉님은 공대생 체질이 아니신 듯ㅋ
            • Daniel Sun
              원하는 것을 만들기 위한 언어.. 마음에 와 닿네요 ㅎ
            • WAlk7
              잘 읽었습니다.
            • 파랑빛
              멋지네요!
            • 김민근
              언어는 자연어건 프로그래밍 언어이건 그 언어를 사용하는 사람들이 직면한 문제와 그것을 해결한 성취를 담고 있습니다.
              너무나 공감가는 말입니다.
            • 양수
              저는 무엇이 만들고 싶은 걸까요?
              공부를 하면 할 수록 되새김질 하지만, 뚜렷한 목표가 없네요.

              개인적인 프로젝트를 작게나마, 알차게 만들어 보아야 하겠습니다!!
            • JiYoung Choi
              감사합니다.
            • nnbetter
              멋있는 말씀과 태도!!!^^
            • 강경호
              아직은 초짜라 어떤 언어부터 접근하기 어려웠는데 그나마 길이 보이네요
            • pitt
              감사합니다
            • JustStudy
              고맙습니다 2.
            • Sy Kim
              자신의 목적에 적합한 언어가 어떤것인지 yes/no로 따라가보는 인포그래픽 링크겁니다. 참고로 저는 python이 나왔습니다.. ㅎㅎ http://carlcheo.com......png
            • JustStudy
              고맙습니다
            • Metanoia
              Thank you!!!
            • dsider
              읽기 쉽게? 정리하면

              언어 = (자연어, 프로그래밍 언어 상관없이)모든 언어
              인터페이스 = 그 언어를 사용하는 사람들이 a에 엑세스 할 수 있도록 하는 것
              a = 직면한 문제와 그것을 해결한 성취와 그 사람들을 연결해주는 문화

              "언어는 인터페이스면서 또 그것들을 담아내는 컨테이너입니다."
              대화보기
              • 오빠는다르다
                감사합니다!!!
              • Amonu
                프로그래밍 언어의 대한 고정관념이 깨졌습니다. 감사합니다!
              • twopower
                고맙습니다.~~
              • 검사무운
                잘 봤습니다.
                저도 만들고 싶은 것이 있어서 프로그램 공부를 시작했습니다.
                열심히 하겠습니다.
              • Yoon Jung Choi
                감사합니다
              • 새우과자튀김
                저는 프로그래머가 아니니 정확하게는 모르지만 웹 페이지에 루비 온 레일즈 라는 유명하지 않는 언어도 있다고 알고 있습니다.
              • soogonlee
                이 말을 이해하기전에 쉼표 꼭 두개 짚고 넘어가세요.
                인터페이스라는 말에 참 깊은생각을 해봅니다.
                대화보기
                • 포도당
                  성취에 접근하기 위해서는 언어를 알아야 한다는 말에 공감합니다.
                • [ 언어는 자연어건 프로그래밍 언어이건 그 언어를 사용하는 사람들이 직면한 문제와 그것을 해결한 성취와 그 사람들을 연결해주는 문화에 엑세스 할 수 있는 인터페이스면서 또 그것들을 담아내는 컨테이너입니다. ] 무슨말인지 이해하기가 힘드네요. 쉼표라도 한두개 찍혀있으면 좋겠네요.
                • 찍찍이얌
                  감동!
                • 강백호
                  글 속에 철학이 있습니다. 이 홈페이지도 그렇고요 ^^
                버전 관리
                egoing
                현재 버전
                선택 버전
                graphittie 자세히 보기