C언어를 아직도 가르치는 이유
생활 코딩에 왜 40년된 C언어를 아직도 가르치는지에 대한 질문에 대한 답글
가르치는 입장에서 첫 언어 학습을 통해서 무엇을 가르칠까? 학생이 무엇을 배울 수 있을까? 라는 고민이 있습니다.
CS학과에서 대학 학부 수준에서 가르쳐야 하는 가장 핵심은 OS, NETWORK, DB 이것들을 구성하는 알고리즘 그리고 객체지향이 있겠습니다.
가르치는 입장에서 약간 문제는 있지만 C#은 기본적인 플로우 컨트롤이나 알고리즘 등을 학습하기 좋습니다.
C++은 다중상속, 연산자 오버로딩등 논란이 되는 몇가지 문제로 이해하기 어렵고 가르치다가도 “이건 실제로 사용하지 않는다, 조심해야 한다”라는 것들을 계속 이야기 해야하는 부분이 있습니다.
파이썬등 스크립트 언어들은 C#에 비해서 위의 것들을 설명하지 못하는 부분이 큽니다.
C는 위의 것들을 커버하고도 언어 변천등을 설명하기 좋고 하드웨어 제어, 리눅스 커널 코드가 C로 되어 있어 필수적으로 알아야 하기에 주로 선택이 됩니다.
그리고 제가 이야기 하고 싶은것중 하나는…
각 학교, 학과 별로 커리큘럼이 다릅니다. 주요 대학과 지방대의 경우 최소 6개월에서 2년 정도 차이가 있습니다.
지방 4년제를 졸업해도 주요 대학의 컴퓨터 학과에서 2학년보다 적게 배우는 경우도 많습니다.
이 경우 C는 주요 부부만 설명하거나 C언어 시간에 많은 것들을 같이 녹여서 설명합니다.
학생들이 알아서 공부하는 경우도 많습니다.
C는 학부에서 공부해야할 많은것을 설명 할 수 있고 필요합니다.