ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 윈도 프로그래밍에 대한 생각
    IT topics 2007. 4. 27. 06:16
    반응형
    세상에는 많은 프로그래밍 언어가 있으며 또 많은 개발 툴들이 있다. 그런 프로그래밍 언어나 개발 툴로 윈도용 프로그램, 혹은 리눅스, 유닉스용 프로그램을 만든다. 또는 웹용 프로그램을 만들기도 한다. 나 같은 프로그래머는 어떤 언어를 선택하느냐, 아니면 어떤 툴을 선택하느냐에 따라서 직업의 성질이 결정되곤 한다. 과연 어떤 언어와 툴을 선택해야 내가 이 세계(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라는 사람의 대화는 이 글의 성격상 너무 안맞아서 삭제했다. 내 생각을 좀 더 정리해서 다시 써볼까 한다.
    반응형

    댓글

Designed by Tistory.