제목 어그로 미안한데, 어느정도 저렇게 느낀 이유가 있음.
본인은 개발만 죽어라 하다가, 최근에 PS을 접하고 빠진 게이임.
알고리즘 테스트라는게 어플리케이션 개발을 오래했어도 상관이 없더라.
특히나 나처럼 포인터 써본적 없는 사람은 말이야.
나는 JS, 파이썬으로 한참을 헤매다가 어느순간 포인터가 완전히 이해가 가더라.
오히려 너무 어렵게 생각한게 문제였던것같음.
그러고나서 C++로 언어를 바꿔서 자료구조, 알고리즘을 다시 공부해봤는데
처음부터 C계열로 공부를 했으면 훨씬 더 빨리 이해하지 않았을까 하는 생각이 들더라.
포인터를 왜 쓰는지, 어떻게 쓰는지가 훨씬 직관적으로 다가옴.
이런것들을 배우려면 C를 무조건 해야된다는게 아니라,
C로 배우는게 이러한 자료구조, 알고리즘, 포인터를 배우는게 더 이해가 쉬울수도 있다는 말임.
객체지향도 JS, php로 충분히 이해할수있지만, 자바로 배우는게 빠른것처럼 말이야.
물론 머리좋은 애들이야 뭘로 공부하든 이해가 되겠지만,
나는 웹을 처음 할때도, 프레임워크부터 하니까 도저히 이해가 안가서
가장 기본적인 http 모듈들로 서버를 짜보고나서야 이해가 됬을정도로
추상화된 구조 아래를 보는 능력이 좀 부족한것같음.
나처럼 먹어봐야 똥된장이 구분가능한 멍청이들은 C로 기본적인 자료구조들까지라도 공부하는게
오히려 더 빨리가는 지름길이 아닌가 싶기도 함.
본인이 머리가 아주 비상하거나, 수학적으로 재능이 있다면
그냥 파이썬 하면 될 것 같아.
능지랑 상관없이 쓰건 말건 개발자라면 C는 일단 무조건 알아야 되는건데
난 자바, js, ts, 파이썬만 써왔고 개발 8년했고 최근에야 C++를 공부했는데 전혀 새로운걸 배운건 하나도 없었어. 다만 본문에도 적은것처럼, C로했으면 더 쉬웠을텐데 하는 아쉬운 마음이 있는거지.
파이썬 원툴로 논문 구현하는 고수들한테 C++는 그냥 귀찮은거지 어려운게 아님.
로우레벨에서 한번 굴러봐야 나중에 gc 지원하는 고급 언어 쓸때도 습관적으로 메모리효율 신경쓰면서 코딩하게 되긴해
이게 핵심이지
솔직히 C는 필수가 아니라고 생각해. 다만 컴퓨터 이론에 해박하다는 전제가 있어야 그런거고 보통 C 배울때 이론을 많이 알려주니까 일반인에게는 기본 소양이 되어버린듯.
포인터어렵다고 못배울 지능이면 애초에 개발자하면 안되는수준
포인터가 어려운건 아닌데, 명시적으로 포인터가 존재하지 않는 언언로 배웠을때, 다르게 잘못 이해하기가 쉬운건 있음. 모로가도 결국 이해만하면 되니 C가 필수는 아닌데, C로 가르치는게 쓸데없는것도 아님.
포인터, 레퍼런스, 주소 <- 이런 거 자바에선 잘 와닿지 않지
잘 와닿지 않는거지 자바를 써도 결국 그거 모르고는 제대로 못씀. 자바 고급서들 보면 다 다룬다