정리함

입문자 / 비전공자가 프로그래밍 언어 배우는 순서? - 입문자용 가이드

돌맹이시터 2020. 8. 26. 11:16

 

본인이 하려고 하는 일에 필요한 언어를 직접 선택해서 하나씩 배우는 게 정답이지만,

입문자, 특히 비전공자가 스스로 선택하기란 어렵습니다.

 

 

그리고 우리는 한국인이기에 특성상(...)

어떠한 가이드라인이 없다면 불안한 것도 사실이죠

 

 

마음먹고 코딩, 프로그래밍을 공부해보겠다. 라고 해도 뭐부터 시작할지 참 막막한데요

이리저리 검색을 해봐도 

유튜버나 블로거 등 모두 하는 말이 다릅니다.

 

 

저는 대략적으로 어떤 언어가 있다. 

그 언어가 어떤 용도로 쓰인다.

정도는 알아보신 분들,

프로그래밍 '언어'를 공부하고자 하는 분들을 위해

어떤 순서로 시작해보면 좋을지 적어보려고 합니다.

 

 

 

왕초보자에게 입문용으로 주로 추천되는 언어는 C, Java, Python이 있습니다.

입문용 언어로의 장단점을 각각 비교해보도록 하겠습니다.

 

 

 

 

 

 

 

1. C

 

메모리를 수동적으로 관리해줘야 하는 점, 포인터의 개념과 같이

이해하기 어려운 컨셉이 있기 때문에

입문용으로는 가장 어려운 언어입니다.

 

그만큼 C로 코딩에 입문했을 때 중도포기자가 가장 많다고 하네요

 

이해하고, 배우기가 어려운 것이 단점이라면

장점도 있습니다.

 

약간 공부를 꼰대스타일(?)로 하는 것을 좋아하는 분들에게 추천합니다.

나는 정석대로 프로그래밍이란, 코딩이란 무엇인지 기본부터 배우고자 한다.

이런 생각을 가진 분이라면 C부터 시작하시길 추천합니다.

최근 사용되는 거의 모든 언어가 C로부터 시작되었기 때문에

C언어를 먼저 익힌다면 다른 언어는 보다 쉽게 배울 수 있습니다.

 

 

 

 

 

2. Java, 자바

 

 

어떤 플랫폼에서도 작동하며

웹, 서버 등 모든 분야에서 사용되는 언어이기에

전 세계에서 항상 많이 쓰이는 언어입니다. 

 

C와는 다르게 포인터, 메모리를 수동으로 관리해야하는 부분이 없기 때문에

C언어보다 진입장벽이 낮습니다.

 

예전엔 입문언어로 많이 추천되었고,

학교 수업에서도 입문강의로 많이 채택되었다고는 하지만

현재는 입문용으로는 조금 애매한 입지에 있지 않나 생각이 듭니다.

 

 

 

 

 

 

3. Python, 파이썬

 

 

어떤 주제에서든 빠지지 않는 바로 '그 언어'

 

입문용으로 장점이 아주 많은 언어입니다.

메모리 관리, 포인터 개념, 타입 개념 등을 모두 치워버리고

조금은 가볍게 코딩을 시작할 수 있는 언어입니다.

 

꼭 알아야 할 개념들이 많이 없고, 

문법이 매우 간결하기 때문에

그리고 라이브러리가 미친듯이 방대하기 때문에

진입장벽이 매우 낮으며,

최근 많은 대학에서도 입문강의로 채택되고 있다고 합니다.

 

 

물론 단점도 존재합니다.

파이썬으로 프로그래밍을 시작한다면,

다른 언어에 진입할 때마다 장벽에 부딪힌다는 점이 있습니다.

 

파이썬을 익히고 난 후에도

'나는 이제 왕초보는 아니야' 라는 생각이 무색해지게 되는거죠

 

 

 

 

--

실제로 기업에서 구인을 할 때 한 가지 언어를 다룰 줄 아는 사람을 채용하는 경우는 잘 없습니다.

결국 여러가지 언어를 공부해야 하고,

언어 뿐 아니라 자료구조, 알고리즘 등 같이 공부해야 할 것이 많습니다.

그런 부분들도 감안하셔서 시작하시길 바라며

 

 

이 포스팅이

어떤 언어로 입문하는 것이 자신에게 맞을지 선택하는 것에 도움이 되었으면 합니다.