일베간 c/c++ 머시갱이 펏킹헬조선인지 걔가 쓴 글 보고 반박한다.
굳이 C를 처음배울 언어로 강조할 필요가 없다는 그 사실부터 반박해보고 싶다.
처음 배우는 언어로써 C는 사용자에게 매우 친숙한 패러다임을 제공하고 (소규모프로젝트에 한해서) 매우 단순하게 프로그램 구조를 만들어 낼 수 있다. 그런 의미에서만 보더라도 C가 처음 배우는 언어로써 가진 모든 매력을 설명할수가 있어.
그런데 조금 더 상위 수준의 언어는 학습 초기에는 많은 지식이 필요치 않겠지만 조금만 깊이 들어가더라도 알아야 할 양이 엄청나게 늘어나지. 일단 패러다임의 문제다. 이 언어는 이러한 지향점을 두고 만들어졌다고 백날 설명한들 학습자가 '이해'할수는 있어도 납득하지는 못할거다. 자신에게 익숙한 사고방식과는 구조적으로 상당히 부자연스럽거든. 물론 그 진가가 큰 규모의 소프트웨어를 만들때 톡톡히 발휘된다고는 해도 처음 배우는 사람이 그런 규모의 소프트웨어를 만들리도 없고, 만들수도 없는거 아니냐. 그런의미에서 프로그램에 대한 기초적인 지식도 없는 이들에게 높은 수준의 언어 사용을 요구하는건 독장수 구구에 가깝지.
간단히 설명하면 이렇다. 언어를 배우는데 있어 배움의 깊이에 따른 난이도의 상관관계는 C라고 한다면 반비례의 그래프를 그리게 될거다. 초기 진입장벽이 조금 높긴 하지만, 진입하고 나면 나머진 별거 아니지. 만약 상위 수준의 언어라면 제곱의 그래프를 그리게 될거다. 초기 진입장벽은 낮을지도 몰라. 하지만 그 이후 알아야할 지식의 양과 복잡함은 어쩌면 학습자의 상상을 초월하게 될지도 모른다.
말주변이 없어서 조잡한 글 이만 마치도록 할게.
내가 하고 싶은 말은 어느 언어가 더 낫다는 새로운 불씨를 던지려는게 아니야. 다만 C가 오랜 세월 대중에게 평가받아왔고 검증되었기 때문에 그것을 무시할 이유는 어디에도 없다는 말이 하고싶은거다.
C는 훌륭한 언어다. 하지만 대규모 프로젝트에 맞지 않는다고? 그것도 사실이긴하다. 그렇다고 해서 그것이 C의 약점이라고 할 수는 없어. C는 조그만 부품을 만드는데 가장 큰 빛을 발하는 언어니까. 그러니 C가 처음배우는 사람에게 맞지 않다는 불평을 할만한 논리적으로 정리된 이유는 찾기 어려울거다.
굳이 C를 처음배울 언어로 강조할 필요가 없다는 그 사실부터 반박해보고 싶다.
처음 배우는 언어로써 C는 사용자에게 매우 친숙한 패러다임을 제공하고 (소규모프로젝트에 한해서) 매우 단순하게 프로그램 구조를 만들어 낼 수 있다. 그런 의미에서만 보더라도 C가 처음 배우는 언어로써 가진 모든 매력을 설명할수가 있어.
그런데 조금 더 상위 수준의 언어는 학습 초기에는 많은 지식이 필요치 않겠지만 조금만 깊이 들어가더라도 알아야 할 양이 엄청나게 늘어나지. 일단 패러다임의 문제다. 이 언어는 이러한 지향점을 두고 만들어졌다고 백날 설명한들 학습자가 '이해'할수는 있어도 납득하지는 못할거다. 자신에게 익숙한 사고방식과는 구조적으로 상당히 부자연스럽거든. 물론 그 진가가 큰 규모의 소프트웨어를 만들때 톡톡히 발휘된다고는 해도 처음 배우는 사람이 그런 규모의 소프트웨어를 만들리도 없고, 만들수도 없는거 아니냐. 그런의미에서 프로그램에 대한 기초적인 지식도 없는 이들에게 높은 수준의 언어 사용을 요구하는건 독장수 구구에 가깝지.
간단히 설명하면 이렇다. 언어를 배우는데 있어 배움의 깊이에 따른 난이도의 상관관계는 C라고 한다면 반비례의 그래프를 그리게 될거다. 초기 진입장벽이 조금 높긴 하지만, 진입하고 나면 나머진 별거 아니지. 만약 상위 수준의 언어라면 제곱의 그래프를 그리게 될거다. 초기 진입장벽은 낮을지도 몰라. 하지만 그 이후 알아야할 지식의 양과 복잡함은 어쩌면 학습자의 상상을 초월하게 될지도 모른다.
말주변이 없어서 조잡한 글 이만 마치도록 할게.
내가 하고 싶은 말은 어느 언어가 더 낫다는 새로운 불씨를 던지려는게 아니야. 다만 C가 오랜 세월 대중에게 평가받아왔고 검증되었기 때문에 그것을 무시할 이유는 어디에도 없다는 말이 하고싶은거다.
C는 훌륭한 언어다. 하지만 대규모 프로젝트에 맞지 않는다고? 그것도 사실이긴하다. 그렇다고 해서 그것이 C의 약점이라고 할 수는 없어. C는 조그만 부품을 만드는데 가장 큰 빛을 발하는 언어니까. 그러니 C가 처음배우는 사람에게 맞지 않다는 불평을 할만한 논리적으로 정리된 이유는 찾기 어려울거다.
초보자에게는 꿈과 희망이 필요한데 C언어는 그것을 주기에 역부족이기 때문이다.