첫 언어로서 C는 어떤가요?

장은수@Google의 이미지

개인적으로는 괜찮다고 생각합니다만,

여러가지 의견으로 나뉘더라구요. 시스템에 대한 이해도를 높일 수 있다고 긍정적인 평가를 하시는 분들도 있는 반면에 언어가 너무 복잡해서 파이썬 같은 쉬운 언어가 낫다고 하시는 분들도 있었습니다.

처음 배우는 프로그래밍 언어로서 C에 대해 어떻게 생각하시나요?

김정균의 이미지

언어가 너무 복잡해서가 아니라, 언어적인 측면 외에도 알아야 할 것이 너무 많아서가 아닐까 싶습니다. C 언어도 언어적인 측면만 본다면 전 오히려 python 보다 쉽다고 느껴집니다만..

장은수@Google의 이미지

되게 오랜만에 들어와봤는데 김정균님이 답변을 해주셨네요....

그렇군요. 보니까 '문제 해결' 자체에 집중하기가 어렵다고 해서 권하지 않는 것 같습니다.

DK_MAX의 이미지

그래도 아무리 생각해도 파이썬이 c보단 간편성이 뛰어나다보니 쉽다고 느껴지는건 파이썬이라고 생각합니다 ㅇㅅㅇ

kcm880825의 이미지

전 좋다고 생각해요

사실 웬만한 오픈소스가 다 C로 짜여있으니까 나중에 써먹을 방향도 많죠..

파이썬은 엄청 쉽죠.. 라이브러리 관리도 엄청 편하고요. 근데 그냥 그거뿐인 것 같아요.

vagabond20의 이미지

제가 C programmer 여서가 아니라, 세상에 이미 만들어지고 각종 업무나 과학기술분야 등에서 (예전에 짜여져서 업데이트되어온) 돌아가는 시스템 상당 부분이 C 로 짜여졌습니다. 그리고 UNIX 의 오픈 버젼인 Linux 가 지구 이곳저곳에 깔려서 돌아가고 있고 말이지요.

C 가 UNIX 와 Linux 의 시스템 프로그래밍 근간이라는것을 생각해 봐도 C 언어를 차근 차근 첫 언어로 배워나가는것이 앞으로의 활약에 커다란 도움이 된다고 생각합니다.

*
이러면서도 어떤 특정한 함수나 툴을 빨리 PC 에서 만들라고 할때 제 경우는 C 보다 가용성이 높은 Java 를 선호하기는 합니다.

여의도자바

HDNua의 이미지

저는 여전히 C를 첫 언어로 선택하는 것이 괜찮다고 생각합니다.

파이썬이 훨씬 쉽다고는 하지만 그렇다고 C가 첫 언어로 배우는 데 시간이 오래 걸리는 것도 아니잖아요 사실.
그리고 언어 외적으로 신경써야 할 부분을 먼저 파악할 수 있다는 장점이 있지요. 메모리나 바이트 등.

처음부터 아래쪽을 건드릴 생각이라면 C는 당연히 선택해야 하는 것이지만,
위쪽을 건드리는 경우라도 C가 첫 언어로 적합하지 않을 정도로 어렵느냐면 그렇지도 않다는 입장입니다.

저는 이렇게 생각했습니다.

hanssym의 이미지

언어를 이해하고 습득하는것이 목적이라면 당연히 python 과 같은 최근의 언어가 좋다고 생각합니다. 하지만, C를 꼭 써야만 하는 분야도 있습니다. 결국 목적에 따라 분명해 진다고 볼 수 있죠. 하지만 최근 C 언어가 필요한 분야는 많지 않습니다. 결국 언어라는게 수단일 뿐이지 목적일수 없기 때문에 문제 해결을 위한 적정한 언어를 사용하는것이 좋다는 의미이며, 제목처럼 첫 언어로써의 C언어 보다는 조금 더 쉽게 적응할 수 있는 언어를 추천합니다.

 의 이미지

글쎄요...

초심자한테 프로그래밍을 가르칠 때 가장 난감한 부분을 꼽는다면, 이런 말을 해야 할 때가 있지요.

"지금 당장은 이게 무슨 뜻인지 설명해 줄 수 없지만 일단 이대로 따라 치세요."

가르치는 사람한테나 배우는 사람한테나 어려운 말이 아닐 수 없습니다.
더 안 좋은 점은, 배우는 사람이 똑똑하고 적극적일수록 그런 말을 받아들이기 힘들어한다는 거죠.

제 경험상, C언어를 첫 언어로 가르칠 때는 파이썬에 비해 그런 말을 해야 할 때가 더 많았습니다.

대체 stdio.h가 뭐길래 매번 #include를 써 줘야 하는지,
함수라는 게 뭔지 아직 설명할 타이밍이 아닌데 main 함수는 꼭 정의해야 하는가 하면,
printf/scanf는 어떻고요. 여기에 대해서는 할 말이 참 많지만, 일단 하나 들자면 scanf는 포인터를 받아야 하는데 보통 포인터보다 간단한 입출력을 먼저 배우거든요.

그에 비하면 파이썬 같은 스크립트 언어가 가지는 이점이 명확하지요.
당장 가르칠 내용만 강조할 수 있는 작은 예제를 만들기도 쉽고, 인터프리터에 한 줄씩 쳐 가며 따라하기도 쉽습니다. 입출력 인터페이스도 간단하고 대부분의 경우 그냥 알아서 잘 동작하지요. 특히 print.

장기적인 관점에서야 C언어를 알아 두면 쓸모가 많겠지만 어차피 평생 언어 하나만 쓸 것도 아니고, 언어 하나에 익숙해지고 나면 다른 언어 배우기 쉬워지는 것도 있으니 꼭 처음부터 C언어에 헤딩할 필요는 없겠지 싶습니다. 사실 제 첫 프로그래밍 언어는 자바스크립트였는데요. 얼마 안 가서 VB로, 그 다음엔 C언어로 옮겨갔지요.