C언어 떡밥 관련 논란 종결!

Posted by 슈퍼너드 리보
2020. 9. 1. 18:42 IT&컴퓨터/IT 관련 썰
반응형

1. c언어 공부는 뉴비에게 시간낭비라는 주장


 => 그 뉴비가 하고자 하는게 '개발자'가 아니라면 맞는말. 데이터 사이언스가 하고싶은거면 걍 파이썬, R 해야지. 코딩 암것도 모르는 놈도 특강 세시간 들으니깐 간단한 모델 구현하더라. 마찬가지로 웹 디자이너가 되고싶은거면 C왜함? Jquery로 ㅈ되게 포트폴리오 만들어서 보여줄수 있는데(참고로 현업에서 Jquery는 거의 사장됨). 근데 적어도 '개발자'가 되고 싶은거면 당연히 C 할줄 알아야지. C 할줄안다 = 메모리 크기, 메모리 주소에 대해 이해하고 있고 활용할 줄 안다 이거랑 동치란 말이야. 갈비지 컬랙터가 알아서 다 해주는 언어로 코딩하면서 이게 왜 되는지, 안되는지도 모르는 놈이 개발자라고 할 수 있냐?




2. c언어 공부하면 다른 언어 공부하는데 방해된다는 주장


 => 오히려 그 반대임. c를 공부하면 그 어떤 언어라도 익힐 수 있음. c를 공부해놓고 다른 언어를 공부하면 ' 이 언어는 c의 어떤 불편한 부분을 이렇게 해소하고 잇구나'하는 접근 방식으로 공부할 수 있다. c언어는 low level 언어라서 정말 기계어와 가깝게 동작하기 때문에 다른 언어의 근간이라고 할 수 있는거야. 예를 들어 c는 배열을 할당하고 저장할때 배열의 길이를 저장하지 않기 때문에 내가 설정한 배열 넘어에 접근을 막을 방법이 없음. 그러나 다른 특정 언어에서는 배열의 길이를 함께 저장함으로써 이 문제를 해결하지. 그러면 c를 공부하고 다른 언어를 공부하는 사람은 그 언어의 특징, 장점, 단점(배열을 저장하는데 더 많은 메모리를 쓰겠지 길이도 저장해야하니깐) 등을 한번에 익힐 수 있다는 거임. 


 


3. 그렇다면 다른 언어를 공부하는데 도움이 되는 것이 왜 중요할까? 


 => 너가 '개발자'로 살면서 평생 한 언어만 하면서 살 수 있을까? 아니다. 당장 웹 개발만 봐도 그렇지. JS의 방대한 라이브러리, 프레임워크 덕분에 향후 몇년간은 굳건하겠지만 이미 웹어셈블리가 등장해서 그 자리를 위협하고 있지. 웹에서 극한의 메모리 관리가 필요한 상황이라면 당장이라도 c로 대체되고 있다 이말이다. 안드로이드 개발에서도 자바를 슬슬 코틀린이 대체하고있고. 나중에 또 코틀린도 대체될지 누가 알겠어? 이런 상황에서 프로그래밍 언어의 동작방식도 모르는놈(예를 들어 C 제대로 할줄 모르는 놈) 이 다른 언어에 적응하려면 대체 얼마나 많은 시간이 필요할까?




4. c는 페러다임을 따라가지 못하는 틀딱 언어다 라는 주장


 => 페러다임은 시발 그냥 다른 주제임. c언어를 뉴비가 공부해야되냐 아니냐의 토론에서 그냥 벗어난 주제라는 거야. 심지어 c를 먼저 공부하면 객체지향이라는 페러다임이 왜 탄생했는지 뼈저리게 느낄 수 있음. 어떤 상황에서 객체지향이 필요하고 아닌지도 알 수 있고. 내생각엔 오히려 페러다임에 휩쓸려다니는 언어가 틀딱이 될 가능성이 높다. 시장에서 없어질 가능성이 높다는 이야기. c는 low level 언어라는 측면에서 절대 역사 저편으로 사라지지 않는다(라고 생각한다. 모르는거지 ㅇㅇ). 우주선도 c, c++로 코딩하는데 ㅋㅋ






세줄 요약


1. 개발자가 목적이 아닌 뉴비는 c안해도됨. 자기 분야에 맞는 언어나 익혀라


2. 개발자가 목적인 뉴비는 c 반드시 해야됨. 


3. c를 배우는 것은 돌아가는 것이 아니라 오히려 지름길임.

반응형