어떤 언어를 붙잡던 간에 일단 언어의 기초를 파는게 중요함. 대충


1. 언어의 문법에 대한 이해.

2. 간단한 데이터 구조하고 알고리즘 구현하고 언어의 기본적인 기능 이해.

3. 파일 I/O 처리.

4. 네트워크 기능 활용.

5. Concurrency 관련 기능과 해당 API에 대한 이해.

6. 해당 언어로 간단한 어플리케이션이나 본인이 사용 가능한 간단한 생산성 툴 짜낼 수 있으면 그 언어 기본적인거는 파악했다고 봐도됨.


한 가지 언어로 이런 것들에 익숙해지게 되면 다른 언어도 접하게 될텐데 그 때 쯤 되면 보는 눈이 달라짐. i.e. 이 새로운 언어는 내가 썼던거랑 어떤 점에서 기능적 차이가 있는지. 그리고 왜 이럴까? 등등. 이 때 쯤 되면 대학에서 PLT 수업 한번 들어보는거 추천함.


C/Java/Python 뭐로 시작하는지 안중요하고 오히려 굳이 들을 필요도 없는 것도 존재한다. 예를들어 난 OS나 시스템 아키텍쳐 수업 들을 때 까지는 C 공부하는거 비추천함. 애초에 컴공과는 코딩을 배우는 과도 아니고 대부분의 수업들이 배우는 개념에 따라 적합한 언어를 선택할거임 (i.e. 시스템 프로그래밍이나 엠베디드 관련이면 C 나올거고, 소프트웨어 공학이나 데이터 분산 처리는 JAVA 등판할 수 있고, 웹 서비스 관련 수업이면 JS/Python 나올 수도 있고, 수치해석이면 Matlab/Python/C++ 나올 수 있음). 그리고 네 언어 기능 취향도 어떤 분야에 더 집중하느냐에 따라 시간이 지나면 변함.


그니까 코딩 시작하고 싶으면 네가 뭘 만들고 싶어서 배우려고 했는지를 기준으로 삼으면 첫 언어 고르기는 수월함. 근데 그 언어 문법만 깔짝 거리고 다음 언어로 넘어가지 말고 그 언어에 대한 기본 익히고 숙련도 올릴 때 까지는 다른 언어로 일찍 환승하지마셈 (혹은 동시에 배워도 되는데 찍먹만 하고 버리지 말고 언어 한개쯤은 끝까지 가져가).