벌써 몇년전에 결론난 이야긴데 시벌새기들이 아직도 시발 c 언어 어쩌고 포인터 웅앵웅 하는데 심새기덜
한번 정리하고 넘어가자
소프트웨어 엔지니어링 영역은 시간이 갈수록 추상화를 더해가는 방향으로 나아왔다.
추상화의 정도를 0에서 10까지로 나타낸다고 가정해보자
0에 가까울수록 cpu 명령어 단위까지의 로우레벨 지식들이 나올테고
10에 가까울수록 하이퍼바이저니 컨테이너부터 해서 k8s 같은 개념들이 나온다고 치자.
한 십몇년 전까지만 해도 c 언어로 메모리를 직접 다룰줄 알아야 한다고 다들 생각했다.
그 전에는 인라인 어셈 넣어서 cpu 명령어 단위까지 직접 다뤄야 한다고 생각했겠지.
근데 앞서 말한것처럼 이 동네는 점점 더 추상화를 더해가면서 성능을 손해보는 대신 생산성을 더 얻는 방향으로 진화해왔다.
그래서 인라인 어셈같은건 박물관에서도 찾아보기 힘들정도로 유물이 됐다.
메모리를 직접 다루는 영역 역시 마찬가지다.
현재시점에 와서는 메모리를 직접 다루는 기술이 개발자에게 필수로 필요하다고 생각하는 시대는 지났다.
그런건 추상화된 기술을 쓰면서 그 아래에 묻어놓되, 직접 다루지 않더라도 추상화 바로 밑단계가 어떤 식으로 동작하는지 정도만 알면 된다까지 올라왔다.
정리하면 내가 짜는 코드가 실제로 메모리와 어떻게 연관되어 실행될지는 알아야 하나, 메모리를 직접 컨트롤 하는 지식은 굳이 알 필요가 없다.
그럼 본론으로 가서
학부 1학년 잼민이들이 c 언어를 먼저 배워야 하나요, 파이썬을 먼저 배워야 하나요 하면 나는 무조건 파이썬이라고 대답한다.
c언어보다 더 추상화된 파이썬으로 엔지니어링에 대한 기초를 떼고, 파이썬에서 어떻게 메모리를 관리하는지 같은 추상화된 영역은 심화학습으로 들어가는게 좋다.
어차피 고수가 되려면 다 알아야 되는 내용인데 그거부터 배우면 안되나요? 하는건
자전거밖에 못타는 잼민이한테 넌 어차피 리터급 오도바이까지 탈 줄 알아야된다고 하면서 250cc 오도바이를 태워버리는 거랑 같다.
자전거 다음엔 스쿠터를 타야지.
파이썬은 교양과목 C or Java는 전공과목으로 둘다 배우면 됨
그지그지 뭘로 시작하던 C는 꼭 배워봐야함 - 디씨 앱
너같은 꼰대새끼들이 십여년전에는 어셈할줄 모르는 c 플머 똑같이 욕했음
그럼 넌 대학가서 알고리즘 파이선으로 짤거임? - 디씨 앱