본문 바로가기

코딩 이야기/코딩에 대한 생각 이야기

코딩 입문에는 어떤 언어가 좋을까..?

반응형
코딩 입문할 때 어떤 언어를 먼저 배워야하나요??

 

 나도 아직은 프로그래밍을 배우고 있고, 아직 모르는 것이 많다. 겸손한 것이 아니라 진짜 모르는 게 많다. 가끔 친구나 지인분들이 물어보는 경우가 꽤 있다. "나도 코딩 배워보고 싶은데 뭐부터 배워야 해?" 라고 물어보면, 어떻게 대답해줘야 할지 난감하다. 그 사람이 코딩을 시작하려는 이유를 모르기 때문이다. "나 웹 공부할거야!"하면 HTML을 알려주면 되고, "나 어플 만들어보고 싶어!"라고 하면 자바, XML, 코틀린을 알려주면 되지만, "나 프로그래밍에 대해 공부해보고 싶어!"라고 하면, 조금 고민이 되는 건 사실이다. 오랫동안 고민한 끝에 내린 답은 파이썬이다.

 

 

출처: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Python-logo-notext.svg/1024px-Python-logo-notext.svg.png

 

#파이썬

 

 내가 생각하기에 프로그래밍을 입문 하기 좋은 언어의 기준은 얼마나 흥미를 가질 수 있는지이다. 일단 초심자가 프로그래밍에 흥미를 가지려면, 익히기 쉬워야하고, 재미도 있어야한다. 파이썬은 이 두가지를 만족한다. 파이썬의 장점들이 이를 뒷받침해주기 때문에, 파이썬의 장점을 소개하도록 하겠다.

 

장점 1. 문법이 간결하다.

 

 일단 프로그래밍 언어이지만, 사람의 언어와 꽤나 유사하다. 프로그래밍 언어에서 무언가를 화면에 띄울 때 사용하는 명령어를 출력문이라고 하는데, 자바의 출력문은 system.out.println()로 출력을 할 수 있다. 벌써부터 뭔가 복잡하지 않은가? 하지만 파이썬의 출력문은 매우 단순하다. print(). 이것이 파이썬의 출력문이다. 간결하고 매우 직관적이다. 이 밖에도 조건문, 반복문 등 여러 문법이 간결하고 간편하다.

 

장점 2. 할 수 있는 것이 다양하다.

 

 파이썬으로 여러가지를 만들 수 있다. 웹페이지, 게임, 시스템 유틸리티, 웹크롤러, AI 등 할 수 있는 것이 너무 다양하다. 파이썬 기본 문법만 알면, 자신이 원하는 만들어 낼 수 있다는 성취감에 프로그래밍이 재밌어 질 것이다. 나 또한 프로그래밍 입문을 C로 했지만, 파이썬을 배우면서 웹크롤링이 너무 재밌어서, 파이썬을 익힌 뒤 알고리즘 연습 등을 C 아니면 파이썬으로 했다. 사이드 프로젝트 할 때에도 넘파이, matplotlib 때문에 파이썬을 애용한다.

 

장점 3. 내장함수가 많다.

 내장 함수가 많아서 유용할 때가 많다. 예로 출석 프로그램을 만든다고 가정하면, 출석하는 학생들을 출석한 순서가 아니라 번호순으로 정렬하고 싶다면, 다른 언어는 따로 정렬하는 함수를 선언하여 만들어줘야하지만, 파이썬은 sort()라는 내장함수를 이용해 정렬할 수 있다. 그래도 어짜피 나중에 직접 정렬하는 함수를 만들어, 연습해보긴 해야한다.

 

 

출처: https://www.stockio.com/free-photo/macbook-brick-wall-desk

 

#끝맺는 말

 

 물론 프로그래밍 언어는 단순히 도구로 생각해야 한다. 집을 짓는 사람은 집 설계 구조와 건축 방식을 주로 익히지, 시멘트와 망치를 다루는 것이 주가 되진 않는 것처럼, 프로그래밍도 똑같다. 프로그래밍 언어는 도구로서 익혀야지. 우리가 정말 익혀야 하는 건 시스템 구조, 자료구조, 알고리즘 같은 것들이라고 생각한다. 그렇기에 자신이 벽돌집을 지으려면, 벽돌 배치하는 법을 익히고, 황토집을 지으려면 흙을 다루는 법을 배우는 것처럼 프로그래밍 언어는 그때그때 필요할 때 익히면 된다. (물론 처음에는 한가지의 언어를 알고있어야, 다른 이론적인 것들과 연계가 된다.) 사실 언어 한가지를 익히면 다른 언어도 익히기 쉽다. 그러므로 그냥 자신이 당장 어디에 사용해야 하거나, 아님 교수님이 이런 언어를 사용한다가 아니라면, 파이썬을 익히는 것이 좋다고 생각한다.

 

 

 

결론: 파이썬은 쉽고 재밌다. 그래서 파이썬을 추천한다.

 

20200909

반응형