2009년 2월 6일 금요일

컴퓨터 공학자의 미래

Computer Science Education: Where Are the Software Engineers of Tomorrow?

컴퓨터 공학의 미래가 어둡다라는 요지의 글.

배우기 쉬운 언어(JAVA) 사용 및 라이브러리 패키지를 사용, 그래픽 인터페이스에 길들여진 프로그래머들이 늘고 있는 것이 앞으로 문제가 될 것이다. 이러한 문제점을 인식하게 된 몇몇 대학에서는 JAVA를 수업용 언어로 사용하는 것을 제고하고 있다.


제대로 된 프로그래머는 언어에 구애받지 않는다.

ㅁ C언어가 중요한 이유 : C언어는 로우레벨 언어로써 모두가 알아야만 한다. C 언어는 어셈블리와 비슷하며, 하드웨어와 소프트웨어간의 관계를 명확히 이해하는 데 도움을 준다. 구문에 소요되는 자원비용이 명확해서 성능분석하기도 쉽다.

ㅁ C++이 중요한 이유 : C++은 C언어에 현대적인 소프트웨어 공학 개념을 추가했다(클래스와 네임스페이스의 캡슐화, protected 및 private 조작을 통한 데이터 은닉, 가상 method 및 클래스 상속을 통한 확장 등) 그리고 생성자와 파괴자를 사용한 메모리 관리방법을 적용했다.

ㅁ LISP가 중요한 이유 : LISP에서 작성되는 프로그램은 추상적인 문법을 사용하고, internal representation이라고 불리는 이 방법은 대부분의 컴파일러에서 구문해석 및 코드생성을 위해 사용하는 것이다. 따라서 LISP를 이해하는 것은 언어처리에 관련된 소프트웨어들이 어떻게 동작하는 지를 이해할 수 있는 탄탄한 기반이 된다.

ㅁ JAVA가 중요한 이유 : 첫 언어로써의 몇가지 단점에도 불구하고 자바는 컴퓨터 공학 교육에 있어 중요하다. 첫째는 쓰레드를 사용한 병렬처리에 대한 이해를 증진시킬 수 있고, 둘째는 동적으로 변화하는 환경에서 프로그램의 동작이 결정되어야 하고, 프로그램의 상태를 파악할 수 있도록 만들어 져야한다는 것을 알게 해준다.

댓글 없음:

댓글 쓰기