무엇을배워야 할지모르겠다는 분들께
코딩을 배워보려고 마음을 먹는 누구나 이런 질문을 하기 마련이다.
"어떤 언어를 배워야 하나요?"
이 질문은 나도 했었다. 이전에 쓴 글(나는 어떻게 왜 코딩을 시작했는가)에서 얘기했듯이 나 또한 무엇을 배워야 하는지를 사람들에게 물었다. 그렇게 나는 파이썬(Python)을 선택했다.
누구나 처음 코딩을 배울 때 파이썬을 해야 한다는 의미가 아니다. 나는 단지 배우기 쉽다는 이유로 이 언어(Language)를 선택했을 뿐이다. 배우기 쉬운 것을 원한다면 나처럼 파이썬을 해도 좋다. 하지만 좀 더 신중하게 선택해 보자.
프로그래밍 개발은 크게 백엔드(Back-end)와 프런트엔드(Front-end)로 구분된다. 이 둘의 차이를 먼저 알아야 한다.
백엔드는 서버사이드(server side) 기술을 다룬다. 서버 측 언어를 배우는 것을 말한다. 계산이나 데이터베이스 등을 다룬다. 웹페이지를 크롤링하거나, 반복적인 업무를 수행하거나, 알고리즘을 구현하는 일들을 백엔드에서 한다. 이렇게 말하면 이해하기 어려울 수 있다. 간단히 프런트엔드와 반대인 것을 말한다. 그렇다면, 프런트엔드란 무엇일까
프런트엔드는 웹브라우저(Web Brower)를 통해 보이는 것을 말한다. 지금 여러분이 보고 있는 이 화면이 프런트엔드 기술을 바탕으로 만들어진 것이다. 내가 브런치에 글을 쓰고 저장하고 불러오고 하는 것은 서버에서 이루어지는 백엔드 기술로 구현이 되는 것이고 내가 쓴 글을 웹브라우저에 이러한 형태로 보여주게 되는 것은 프런트엔드 기술이다.
프런트엔드는 사용자에게 보이는 것을 구현하는 기술이다. 웹브라우저상에서 작동하는 언어로 HTML, CSS, Javascript 와 같은 언어가 사용된다.
백엔드는 사용자에게 보이진 않지만 서버에서 작동하는 프로그래밍 언어를 사용한다. 대표적인 것으로 PHP, 파이썬, C++, JAVA, Node.js 같은 프로그래밍 언어들이 있다.
개인적으로는 프런트와 백엔드 둘 다 배우는 것을 권장한다. 직업이 개발자인 분들처럼 하지는 못할 거고 그렇게 할 필요도 없다. 최소한의 정도만 배워도 쓸모가 많다. 특히, 웹 애플리케이션을 만들고 싶은 분들은 프런트엔드 기술도 알 필요가 있다.
또는 사람들이 많이 쓰는 프로그래밍 언어를 배우는 것도 좋다. 많은 사람들이 사용하는 언어라면, 관련 커뮤니티도 활발할 것이고 배울 수 있는 소스도 많다. 무엇보다 사람들이 많이 쓰는 것은 그 이유가 있다. 그 프로그래밍 언어를 배운다면 최소한 외롭지는 않을 것이다.
그래서 어떤 언어를 배워야 할지 모르겠다면 가장 인기 있는 언어를 선택해서 고르면 될 것이라 생각한다. 물론 가장 중요한 것은 스스로 코딩을 통해 어떤 것을 하고 싶은지를 정의 내리는 것이다. 그것도 잘 모르겠다면 일단 가장 인기 있는 언어를 선택해보자.
현재 가장 인기 있는 프로그래밍 언어가 어떤 것인지 한번 알아보았다.
주요 5개국에서 선별하는 인기 있는 프로그래밍 언어 지수인 PYPL 지수에 따르면 2021년 8월 기준 가장 있기 있는 언어는 Python이었다. 전체 순위는 다음과 같다.
1위. 파이썬(Python)
2위. 자바(Java)
3위. 자바스크립트(Javascript)
4위. 씨샵(C#)
5위. 씨플플(C++)
6위. PHP
7위. R
8위. Objective-C
9위. TypeScript
10위. Swift
11위. Kotlin
12위. Matlab
13위. Go
14위. Rust
15위. VBA
16위. Ruby
17위. Scala
18위. Ada
19위. Visual Basic
20위. Dart
듣지도 보지도 못한 프로그래밍 언어가 많지만 인기 있는 것 중 하나를 골라 배우는 것도 좋다. 나는 가장 인기 많고 쉬운 파이썬을 시작으로 웹 애플리케이션을 만들기 위해 PHP와 자바스크립트를 배우고 있는 중이다.
하나의 언어를 배우면 다른 언어를 배우는 것은 좀 더 수월하다. 그래서 언제든 다른 언어로 개발을 할 수 있으니 내 선택이 잘못될까 봐 걱정할 필요는 없다. 우리가 걱정해야 할 것은 오직 걱정하느라 한 발자국도 내딛지 못하는 것이다.
위 순위 중 10위 스위프트(Swift)는 애플의 iOS와 macOS를 위한 프로그래밍 언어이다. 11위 Kotlin은 안드로이드 앱을 만드는 언어이다. 앱 개발을 하고 싶다면 Java, Swift, Kotlin, Rust 같은 언어를 배워야 한다.
파이썬이 있기가 제일 많다고 해서 파이썬으로 앱을 만들 수 있는 것은 아니므로 앱을 만들 것인지 웹어플리케이션을 만들 것인지 먼저 고르는 것이 우선이다고 할 수 있다.
배워보면서 하고 싶은 것을 선택해도 좋다. 선택하지 못한 것을 핑계로 공부를 뒤로 미루지 않는 것이 가장 중요하다고 생각된다.