Win API를 알아야 하는 이유
페이지 정보
관리자 작성일: 07-04-30 12:37 조회: 4,363회본문
API는 배우기도 어렵고 생산성도 제일 떨어지는 아주 구 시대적인 개발 방법임이 자명하다. 그럼에도 불구하고 이 책은 왜 하필 API 중심으로 윈도우즈 프로그래밍 입문을 유도하는가 하면 다음과 같은 이유에 의해서이다.
1.운영체제에 접근하기 위해서
API 함수는 윈도우즈의 운영체제가 제공하는 함수들이며 운영체제가 직접 사용하는 함수들이다. 그래서 윈도우즈에 가장 가까우며 윈도우즈 그 자체를 설명해 준다. 시스템 프로그래밍이나 운영체제와 직접 통신해야하는 저수준 프로그래밍에서는 API 함수가 필수적으로 사용되어야 한다. 윈도우즈 프로그래밍을 정말로 잘 하고 싶다면 윈도우즈 그 자체를 잘 알아야 하며 그 지름길은 API 함수들을 잘 이해하는 것이다. 마치 도스 프로그래밍을 정말 잘 하고 싶으면 어셈블리를 알아야 하는 것과 비슷하다. 도스의 어셈블리 언어에 해당하는 것이 바로 API이다.
2.어차피 알아야 하므로
API를 사용하지 않는 다른 개발툴을 사용한다 하더라도 API 함수는 어차피 알아야 한다. 클래스 라이브러리는 API 함수의 기반 위에 만들어지는 것이므로 API와의 인연을 끊을래야 끊을 수 없다. API 함수를 모르고서 클래스 라이브러리를 이해한다는 것은 불가능하다. 비주얼 툴의 경우는 다소 덜하지만 고급 기법을 구사하려면 비주얼 툴 자체만의 기능으로는 불가능한 경우가 있다. 이때는 불가피하게 API 함수를 불러쓰는 수밖에 없다. 이래저래 API를 빼 놓고 고급 프로그래머가 되는 방법은 없는 셈이다.
3.자유를 얻기 위해
클래스 라이브러리나 비주얼 툴은 편리하기는 하지만 프로그래머를 일정한 틀 안에 가두어 버리는 맹점을 가지고 있다. 라이브러리나 비주얼 툴에서 제공하지 못하는 기능은 마치 불가능한 것처럼 생각되며 감히 다른 생각을 하지 못하게 한다. API 함수를 사용하면 운영체제에서 가능한 일은 무엇이든 할 수 있으며 프로그래머의 상상의 자유를 구속하지 않는다. 설사 순수한 API만을 사용하지 않고 비주얼 툴이나 클래스 라이브러리를 사용한다 해도 API를 알고 쓰는 경우와 그렇지 못한 경우의 차이점은 너무나 뚜렷하게 구분된다.
이런 여러가지 이유로 여기서는 API 함수에 대해 논할 예정이다. 일단 API 함수를 배운 후에 좀 더 편리한 개발 툴을 배워보기 바란다. 만약 더 빨리 배울 수 있고 쉬운 개발 방법을 원하고 있다면 여러분은 목표를 잘못 정한 것이므로 다른 자료를 찾아 보기 바란다. 하지만 이 책을 선택한 사람은 이미 왜 API를 애써 배워야 하는가를 잘 이해하고 있는 사람임이 분명할 것이다.
1.운영체제에 접근하기 위해서
API 함수는 윈도우즈의 운영체제가 제공하는 함수들이며 운영체제가 직접 사용하는 함수들이다. 그래서 윈도우즈에 가장 가까우며 윈도우즈 그 자체를 설명해 준다. 시스템 프로그래밍이나 운영체제와 직접 통신해야하는 저수준 프로그래밍에서는 API 함수가 필수적으로 사용되어야 한다. 윈도우즈 프로그래밍을 정말로 잘 하고 싶다면 윈도우즈 그 자체를 잘 알아야 하며 그 지름길은 API 함수들을 잘 이해하는 것이다. 마치 도스 프로그래밍을 정말 잘 하고 싶으면 어셈블리를 알아야 하는 것과 비슷하다. 도스의 어셈블리 언어에 해당하는 것이 바로 API이다.
2.어차피 알아야 하므로
API를 사용하지 않는 다른 개발툴을 사용한다 하더라도 API 함수는 어차피 알아야 한다. 클래스 라이브러리는 API 함수의 기반 위에 만들어지는 것이므로 API와의 인연을 끊을래야 끊을 수 없다. API 함수를 모르고서 클래스 라이브러리를 이해한다는 것은 불가능하다. 비주얼 툴의 경우는 다소 덜하지만 고급 기법을 구사하려면 비주얼 툴 자체만의 기능으로는 불가능한 경우가 있다. 이때는 불가피하게 API 함수를 불러쓰는 수밖에 없다. 이래저래 API를 빼 놓고 고급 프로그래머가 되는 방법은 없는 셈이다.
3.자유를 얻기 위해
클래스 라이브러리나 비주얼 툴은 편리하기는 하지만 프로그래머를 일정한 틀 안에 가두어 버리는 맹점을 가지고 있다. 라이브러리나 비주얼 툴에서 제공하지 못하는 기능은 마치 불가능한 것처럼 생각되며 감히 다른 생각을 하지 못하게 한다. API 함수를 사용하면 운영체제에서 가능한 일은 무엇이든 할 수 있으며 프로그래머의 상상의 자유를 구속하지 않는다. 설사 순수한 API만을 사용하지 않고 비주얼 툴이나 클래스 라이브러리를 사용한다 해도 API를 알고 쓰는 경우와 그렇지 못한 경우의 차이점은 너무나 뚜렷하게 구분된다.
이런 여러가지 이유로 여기서는 API 함수에 대해 논할 예정이다. 일단 API 함수를 배운 후에 좀 더 편리한 개발 툴을 배워보기 바란다. 만약 더 빨리 배울 수 있고 쉬운 개발 방법을 원하고 있다면 여러분은 목표를 잘못 정한 것이므로 다른 자료를 찾아 보기 바란다. 하지만 이 책을 선택한 사람은 이미 왜 API를 애써 배워야 하는가를 잘 이해하고 있는 사람임이 분명할 것이다.