외규장각 도서 환수 모금 캠페인

'프로그래밍 언어'에 해당되는 글 2건

  1. 2008/01/09 현재 가장 인기를 끌고 있는 프로그래밍 언어는? (4)
  2. 2007/04/27 윈도 프로그래밍에 대한 생각 (10)
TIOBE Software라는 곳에서 매월마다 현재 세계적으로 가장 인기를 얻는 프로그래밍 언어가 무엇인지 통계를 내놓는다. 현재 전 세계적으로 프로그래밍의 동향이 어떤지 알 수 있는 괜찮은 자료인듯 싶다.

TIOBE Programming Community Index for January 2008

구글와 MSN, 야후, YouTube 등에서 얻은 데이터를 바탕으로 통계를 내었다고 한다. 아무래도 국내 자료가 아닌 해외 자료인 만큼 현재 해외에서는 어떤 프로그래밍 언어가 인기를 끌고 있는지 알 수 있을 듯 하다. 해외 취업을 할 때도 꽤나 도움이 될 듯 하다.

사용자 삽입 이미지

현재 가장 인기를 끌고 있는 언어는 자바다. 전년 대비 1.69%가 더 많이 사용하고 있다고 한다. 웹2.0이 전세계 IT를 이끌면서 자바 역시 다시 활기를 되찾고 있는 상황이다. 게다가 JSP는 PHP, ASP 등의 다른 웹 스크립트 언어보다 보안이 뛰어나서 많은 사이트에서 사용하고 있는 언어이기도 하다. 다만 자바 스크립트는 한단계 하락을 했다. 내부적인 문제가 여전히 많는 상태이기 때문이 아닌가 생각이 든다.

다음에는 프로그래밍 언어의 영원한 고전이자 표준인 C언어다. 전년 대비 1.89%가 더 떨어졌지만 자바에 이어 2등을 달리고 있다. 임베디드 분야에서나 서버 프로그래밍, 시스템 프로그래밍에서는 아직까지 C언어가 인기를 끌고 있기 때문에 C언어의 강세는 앞으로도 계속 진행될 듯 하다.

재밌는 것은 작년에 3등이었던 C++이 5등으로 주저앉았고 그 자리에 비주얼 베이직(혹은 일반 베이직)과 PHP가 올라간 것이다. 이는 윈도 프로그래밍에 있어서 점점 Visual C++(VC++)의 역할이 줄어들고 있다는 얘기도 된다. MFC, Win32 API 등으로 대표되는 MS의 윈도 프로그래밍이 파워빌더나 델파이 등의 서드파티 툴에 의해서 그 힘을 잃어가고 있다고 봐도 좋을 것이다. 그 자리에 비주얼 베이직(VB)이 올라섰다. Visual Studio(VS)의 버전이 올라가고 .NET 프레임워크 환경하에서 VB의 기능이 강화되고 더 사용하기 쉬워져서 VC++ 사용자들이 많이 VB로 옮겨가는게 아닌가 하는 추측을 낳게 한다. 웹 스크립트 언어의 강자인 PHP 역시 꾸준히 사랑을 받고 있는 언어다. 해외 많은 웹사이트들이 PHP 기반으로 만들어져 있다는 사실이 그것을 증명한다.

눈에 띄는 것은 파이썬의 약진이다. 인터프린터 언어인 파이썬이 데스크탑 프로그램에서 웹 프로그램까지 그 세력을 넓히고 있는 상황에서 그 버전이 올라감으로 기능 역시 강력해지고 있다. 기능이 다양해지고 더 빨라짐으로 퍼포먼스 측면에서도 상당한 효과를 보이는 것으로 알려졌다. 파이썬의 약진과 동시에 펄 언어는 조금씩 내려오고 있는 추세다. 펄에서 파이썬으로 옮기는 사용자들이 많아지고 있다는 얘기를 들은바 있다.

C#은 아무래도 자바와 많이 중첩되고 자바의 강세가 두드러지면서 약세로 돌아서지 않았나 생각이 든다. 게다가 ASP.NET이나 VB.NET이 점점 힘을 얻어가는 상황에서 윈도 프로그래밍의 축이 VC++과 C#을 지나 VB로 넘어가는게 아닌가 하는 나 나름대로의 추측을 해본다.

델파이의 선전이 눈에 띈다. 윈도 프로그래밍이 VC++이나 C# 등에서 점점 파워빌더, 델파이와 같은 서드파티 툴로 넘어가고 있다는 생각이 든다. 더 간단하게 조작할 수 있는 편리한 툴을 제공하기 때문에 윈도 시스템 프로그래밍을 하지 않는 이상에는 무거운 VS를 사용할 이유가 없다는 판단이 아닐까 생각이 든다. 그런데 파워빌더는 아예 순위에도 없는게 아쉽다.

오라클 때문인지 PL/SQL도 순위에 들어있다. 코볼도 여전히 많이 사용하는 언어다(참 오래도 간다). 파스칼과 로고도 눈에 띈다. 다 1970년대에 만들어진 언어들인데 계속 꾸준히 인기를 얻고 있는거 같다. 각기 사용하는 분야가 확실히 정해져서 그런것인지도 모르겠다.

Lua라는 언어는 나도 처음 들어보는 언어다. 하기사 전세계적으로 수백가지의 언어가 필요에 의해서 생겨나고 없어지는 것이 반복되다보니 특정 분야나 목적을 위한 프로그래밍 언어가 인기를 끄는 경우가 종종 있는거 같다.

여하튼간에 자바, C, VB, PHP, C++, 파이썬 등이 현재 전 세계적으로 인기를 끌고 있는 언어임에는 틀림이 없다.

* 관련글 *
2007/04/26 - [IT Story/IT 이슈] - 윈도 프로그래밍에 대한 생각
2007/07/26 - [IT Story/칼럼] - 자바와 C언어, 어떤 것을 선택해야?
2007/08/03 - [IT Story/IT 이슈] - PHP4 라인의 종말
2008/01/08 - [개인] - 올해 개인적으로 꼭 공부해보고 싶은 것들...
2007/01/09 - [IT Story/IT 이슈] - D언어라..

이 블로그에서는 나눔글꼴을 사용하고 있습니다. 제대로 즐기실려면 글꼴을 설치해서 보세요. ^^

댓글을 달아 주세요

  1. BlogIcon 낚시광준초리  수정/삭제  댓글쓰기

    역시 C네요 ㅎㅎㅎㅎㅎ ^^*
    그건글코 요즘 공부해보고 싶은게 파이썬과 루비인데.. 둘다 순위에 들어있네요..

    아 해야지 해야지 하면서 이놈의 게으름 병은 ㅠ,.ㅜ

    2008/01/09 12:55
  2. BlogIcon 산티아고  수정/삭제  댓글쓰기

    왠지 우울해지는군요..( -_-)

    2008/01/14 15:33

윈도 프로그래밍에 대한 생각

IT Topics/Microsoft 2007/04/27 06:16 Posted by 학주니
세상에는 많은 프로그래밍 언어가 있으며 또 많은 개발 툴들이 있다. 그런 프로그래밍 언어나 개발 툴로 윈도용 프로그램, 혹은 리눅스, 유닉스용 프로그램을 만든다. 또는 웹용 프로그램을 만들기도 한다. 나 같은 프로그래머는 어떤 언어를 선택하느냐, 아니면 어떤 툴을 선택하느냐에 따라서 직업의 성질이 결정되곤 한다. 과연 어떤 언어와 툴을 선택해야 내가 이 세계(IT, 프로그래밍 세계)에서 오랫동안 지낼 수 있을까?

일단 현재 가장 잘 알려진 언어들을 쭉 나열해보자.

C, C++, JAVA, FORTRAN, COBOL, Pascal, BASIC …

여기에 개발 툴 언어라는 것들이 있다.

Delphi, Power Builder …

또 웹 스크립트 언어들도 있다.

ASP, PHP, JSP, CGI, Python, Ruby …

맨 먼저 언급했던 언어들이 우리가 흔히들 프로그래밍 언어라 불리는 것들이다. UNIX 운영체제의 기본이 되었던 C와 C를 베이스로 해서 OOP 개념을 접목시켜 만든 C++, C++을 베이스로 해서 가상머신의 개념을 접목시켜 만든 JAVA, 최초의 컴파일 언어인 FORTRAN, 사무언어에 가장 적합하다고 얘기했던 COBOL, 초보자용 언어인 BASIC. 아마도 모든 컴퓨터 언어 책의 역사에 한번씩 다 언급이 되었던 언어들이다. 앞으로 얘기할 개발 툴 언어나 웹 스크립트 언어도 모두 위에서 언급한 프로그래밍 언어를 베이스로 만들어지게 된다.

Delphi나 Power Builder는 엄밀히 얘기해서 프로그래밍 언어는 아니다. 그렇지만 현재는 프로그래밍 언어의 한 축을 이루고 있는 상황이다(프로그래밍 언어로 편입되었다고 봐도 좋겠다). Delphi는 Pascal을 베이스로 윈도에서 돌아가는 프로그램을 만들기 위한 툴이다. Power Builder는 C를 베이스로 만들어졌다. 그렇다고 순수하게 Pascal이나 C가 아닌 그 툴에 맞게 수정된 언어다. 결국 별개의 언어라고 봐도 무방할 것이다. MS에서는 윈도에서 개발할 수 있도록 Visual C++, Visual Basic 등 Visual Studio 패키지를 제공한다. 그런데 Visual C++은 C++을 베이스로 만들어졌지만 순수한 C++은 아니다. MS가 윈도용 프로그램 개발을 쉽게 하기 위해 표준 라이브러리 이외의 MFC나 Win32 API등의 라이브러리를 더 제공하고 표준 라이브러리도 제공하지만 자기들이 제공하는 라이브러리에 더 우선권을 줘서 개발하도록 유도한다. 그래서 개발자들은 Visual C++은 C++로 보지 않고 또 다른 언어로 취급한다. Visual Basic도 마찬가지다. 아니, 더 심하다. 우리가 알고 있는 표준 Basic을 무시한 체 자기들만의 Basic을 만들어서 배포하고 있다. 즉, 완전히 다른 언어다. Delphi나 Power Builder도 마찬가지다. Boland에서 제공하는 윈도용 프로그램 개발 툴인 Delphi는 Pascal을 베이스로 만들어졌다. 엄밀히 얘기하면 Boland의 Turbo Pascal의 윈도 버전이라고 할 수 있다. DOS 환경에서 윈도로 넘어가면서 역시나 MS처럼 표준 라이브러리 이외에 Boland만의 라이브러리를 제공하고 표준 라이브러리보다 우선권을 더 줘서 개발하도록 유도한다. 게다가 Pascal의 문법에서 약간 더 변형을 취다. 그렇기 때문에 Delphi는 Pascal 형식을 취하고는 있지만 정상적인 Pascal이 아닌 변형 Pascal, 아예 다른 언어라고 할 수도 있을 것이다. Sybase에서 제공하는 Power Builder도 마찬가지다. C언어를 기준으로 만들어졌지만 형식만 C언어를 취했을 뿐 표준 C 라이브러리는 사용하지 않고 Sybase에서 만든 라이브러리를 사용하도록 하고 있다. 즉, Delphi, Visual C++과 같이 Power Builder도 완전 다른 언어라고 볼 수 있다.

그런데 이런 것이 중요한 것이 아니다. 회사 입장에서는 어찌되었던 빠른 시간에 빠른 결과물을 보이기를 원하며 그것은 어떤 툴(솔직히 Visual C++이나 Delphi나 Power Builder는 프로그래밍 언어가 아니라 개발 툴이다)을 사용해서던지 기간 안에 만들면 되는 것이다. 그래서 어떤 개발 툴을 이용해야 빠른 시간 안에 퍼포먼스를 최상으로 유지하며 개발할 수 있는가에 대해 많은 논의가 이루어졌다. 알다시피 윈도라는 운영체제가 나오면서 MS는 Visual C++, Visual Basic을 선보인다. 그런데 생각보다 개발이 어렵고 퍼포먼스가 안나왔다. 그래서 더 괜찮은 윈도용 개발 툴을 찾기 시작했고 서드파티 프로그램인 Delphi와 Power Builder가 각광을 받기 시작했다. 원래 Delphi는 윈도에서 프로그램과 데이터베이스의 연동을 원활하게 하기 위해 만든 툴이다. 즉, DB처리 쪽에 더 특화된 개발 툴인 것이다. 거기에 UI 처리 부분이 더 추가되면서 지금의 모습을 갖추게 되었다. Power Builder 역시 DB처리 쪽으로 특화된 개발 툴이다. Visual C++이나 Visual Basic이 DB처리 부분이 약하고 Oracle과 같은 MS에서 만든 DB가 아닌 타 DB에는 잘 연동이 안되는 단점을 커버하고자 나온 개발 툴들이 Delphi, Power Builder다. 그런데 요즘은 윈도용 프로그램을 만드는데 Visual C++이나 Visual Basic보다 Delphi, Power Builder를 더 많이 사용하고 있는 상황이다. 그래서 지금은 Visual Basic은 사장되다시피 되고 Visual C++은 윈도용 시스템 프로그래밍쪽에 활용되고 윈도용 어플리케이션에는 주로 Delphi나 Power Builder를 사용하는 추세다. 아무래도 시스템쪽은 윈도를 만든 MS에서 제공하는 Visual C++이 더 접근하기 용이해서 그런게 아닐까 싶다. 여하튼 많은 윈도용 프로그램 개발자들은 어플리케이션 개발자들은 Delphi나 Power Builder를, 윈도 서비스 등을 만드는 시스템 프로그램 개발자들은 Visual C++을 사용하고 있다.

일단 윈도에서 사용하고 있는 툴들에 대해서 좀 적어봤다. 각 개발 툴들은 C, C++, Pascal이라는 프로그램 언어를 베이스로 윈도라는 운영체제에 맞춰서 변형되어 개발되었다. 어떤 툴을 사용하던지 윈도용 프로그램을 개발하는 데에는 문제는 없겠다만 어떤 용도의 프로그램을 만드느냐에 따라서 사용하는 툴이 달라질 것이다. 아니면 어떤 회사에 들어가서 일하느냐에 따라서 어떤 개발 툴을 사용할 것인지가 결정될 듯 하다.

그런데. 내가 뭐 때문에 이 글을 쓴거지? 원래는 어떤 언어를 선택해야 오랫동안 프로그래머 생활을 할 수 있을까 생각할려고 한건데 엉뚱한 글이 나왔다. 뭐 그냥 이대로 결론짓고 내가 원래 생각했던 글은 추후에 다시 정리해서 써야겠다(뭐야~).

ps) 앞에 있었던 나와 A라는 사람의 대화는 이 글의 성격상 너무 안맞아서 삭제했다. 내 생각을 좀 더 정리해서 다시 써볼까 한다.
이 블로그에서는 나눔글꼴을 사용하고 있습니다. 제대로 즐기실려면 글꼴을 설치해서 보세요. ^^

댓글을 달아 주세요

  1. BlogIcon niss  수정/삭제  댓글쓰기

    큭;; 갑자기 찔리내요 -_-;; 어디서 많이 본 내용..인데.위에부분이..ㅋㅋ
    여하튼 좋은 이야기 잘 들었어요. 역시 개발자들 입장에서는 개발하는대 걸리는 시간과 결과물의 얼마나 잘 구현 하는가에 초점이 마쳐져야 되는거 갔습니다. 고급인력을 어떻게 효율적으로 활용해야 회사에 이익이 될까..ㅡㅡ;; 월래 프로그래머나 디자이너 같은경우는 시간이 돈이거든요.. 빨리만들면 그만큼 회사에서 돈을 많이 번다 그러나 -_-;; 정작 나에게 떨어지는돈은 똫갔다;; 그게 가장 문제점 인듯 하내요..

    2007/04/26 20:07
    • BlogIcon 학주니  수정/삭제

      뭐 찔리실꺼까지야. ^^;
      그저 제 생각을 적어본거 뿐입니다. ^^;
      글고 글의 전개가 이상해서 다시 수정해서 적을 생각입니다. ^^;

      2007/04/27 06:03
  2. BlogIcon 백쉰  수정/삭제  댓글쓰기

    잘읽구 갑니당..^^

    2007/04/27 07:28
  3. JEHOVAHNISSI  수정/삭제  댓글쓰기

    그렇습니다.
    앞의분이 언급하였드시 기업 속의 시간은 돈입니다. 그래서 오너들은 짧은 시간에 고액을 만드는 사원을 선호합니다. 프로그램 언어에 대해서는 사용자에 따라서 다 장단점이 있겠지만 자기 필요에 따라 적절히 사용하는 센스(?)가 중요하다고 생각합니다. 미국에서 중국사람을 만났는데 중국어를아는 사람이라면 궂이 영어를 고집 할 필요가 있을가요? 기업은 지름 길을 원합니다. 마음에 안들지 모르나 ***급여 X 2/160시간으로 나누면, 시간 당 그 사람의 가격이 나오지요(이때 곱하기2는 필수입니다). 그래서 기업에서의 시간은 돈이 되는 것입니다.
    부디 시간당 GRADE를 올리기위해 비능율적인 프로그램에 아까운 시간을 소모하시지 않는 프로그래머가 되시기를...

    2007/04/27 11:12
    • BlogIcon 학주니  수정/삭제

      위에서 언급한 툴들은 대부분 쓰임새가 비슷합니다.
      어떤 것을 써도 무방할듯 해 보이기도 합니다.
      다만 선호하는 툴들이 있는듯 하고 그게 회사에 따라 다 다르기 때문에 여러가지를 한꺼번에 하는 것에 힘이 드는 거겠지요.
      오랫동안 사용했던 툴은 그 들인 시간만큼 효능을 발휘하는 거 같습니다.
      다만 툴에 의존하는 프로그래밍은 아무래도 그 폭이 좁아지지 않을까 하는 생각에서 저 글을 써봤습니다.

      2007/04/27 13:06
  4. BlogIcon 내다  수정/삭제  댓글쓰기

    다시~바꿨구먼~어두워졌어..

    2007/04/27 11:49
  5. BlogIcon niss  수정/삭제  댓글쓰기

    블로그가 괜찮아 졌어요 기존에 흰색 글자 바탕대신 어두운색 개통. 매력있는대요.ㅎㅎ

    2007/04/27 17:04
    • BlogIcon 학주니  수정/삭제

      감사합니다. ^^;
      저도 이 스킨을 오랫동안 쓰고 싶네요. ^^;

      2007/04/27 17:28





카테고리

학주니의 생각 (989)
IT Topics (846)
Current Topics (96)
Personal Story (34)
Picture (11)
  • 1,293,509
  • 1,20111,495
Tatter & Media Tistory get rss
위자드닷컴 추천블로그 | 학주니닷컴

학주니닷컴

학주니's Blog is powered by Tattertools / Supported by Tatter & Media
Copyright by 학주니 [ http://www.ringblog.com ]. All rights reserved.

Tattertools Tatter & Media DesignMyself!
학주니's Blog is powered by Textcube. Designed by Qwer999. Supported by Tatter & Media.