어떤 프로그래밍 언어를 배워야 할까??
처음 개발자에 입문하시려는 분들의 최대 고민...
어떤 프로그래밍 언어를 배우고 시작했는가?
안녕하세요 저는 현재 독일 아우스빌둥으로 개발자 교육/트레이닝을 받는 초록이입니다.
오늘의 주제 과연 어떤 프로그래밍 언어가 자신에게 적합하고,
필요한가에 관해 적어보고 싶습니다.
비전공자와 초보분들을 위해서 간략하고 전혀 전문적이지 않게 적겠습니다.
1. 어떤 언어를 배워야 잘 배웠다고 소문이 날까??
1. 프로그래밍 언어를 정할 때 가장 중요한 것은 어떤 분야의 서비스를 개발하고 싶은가를 먼저 생각해보아야 합니다.
EX) 웹 개발(프런트엔드, 백엔드), 모바일, 게임... 등등
2. 분야를 정하게 되면 그 분야에 핫하거나, 쉬운 프로그래밍 언어를 찾습니다.
웹 개발 -> 프런트엔드 : 자바스크립트, HTML, CSS... (HTML, CSS는 프로그래밍 언어가 아니지만 웹을 위해 필요합니다.)
웹 개발 -> 백엔드 : 자바스크립트, 자바, 파이썬, C#, Golang...
모바일 -> 자바, 코틀린, 스위프트...
게임 -> C#, 자바스크립트 (Unity), C++(Unreal)...
등등 많습니다.
* 혹시 정말 어떤 분야를 시작하고 싶은지 감이 안 오신다면,
대부분 쉽고 사용범위가 넓은 파이썬(Python)을 먼저 시작하시는 것도 좋은 선택입니다.
2. 프로그래밍 언어를 결정한 후??
1. 천천히 문법 및 사용법을 배웁니다.
(저는 현재 자바스크립트를 사용하므로 자바스크립트 사용방법과 팁을 다른 게시물에 올리겠습니다.)
처음부터 100% 모든 문법을 공부하고 외우려 하지 마세요.
우리들 최고의 친구 구글이 있습니다.
하지만 너무 의지는 하지 마세요. 먼저 어떻게 문제를 해결할지 고민하는 것도 아주 좋습니다.
2. 문법과 사용에 편안해진다면, 당신은 분명 의문이 들게 될 것입니다.
"그래서 이런 언어로 도대체 무엇을 만들 수 있다는 거지?? 계산기나 만들라는 건가??" 하고 말입니다.
"나는 뭔가 멋지고 세련된 걸 만들고 싶은 거지 이런 콘솔 창에서 숫자나 계산하고 싶은 게 아니야!"라고 생각이 들 때면,
이제 라이브러리와 프레임워크에 눈을 돌리실 때입니다.
우리가 외국어 문법을 배운다고, 바로 외국인처럼 말하고 소통할 수 없듯이,
프로그래밍 언어도 기본 문법을 배우는 것이고,
그 후 라이브러리, 프레임워크를 통해서 확장해 나가시는 겁니다.
3. 라이브러리?? 프레임워크???
라이브러리와 프레임워크란 무엇일까요??
손쉽게 말하자면 누군가가 다른 누군가를 위해서 미리 만들어놓고 마련해 놓은 코드, 프로젝트들입니다.
우리는 라이브러리, 프레임워크를 통해 누군가로부터 준비된 코드, 프로젝트를 가져와
우리 프로젝트에 사용할 수 있습니다.
이 방법을 통해서 우리의 프로젝트를 좀 더 세련되고 멋지게 확장시킬 수 있습니다.
그렇다면 라이브러리와 프레임워크의 차이는 무엇일까요??
아주 간단하게 그 차이점을 말씀드리자면 "개발자 자신이 그 코드를 컨트롤할 수 있는가?"라고 말씀드릴 수 있습니다.
하지만 많은 코드들이 라이브러리다, 프레임워크다 하고 딱딱 떨어지지 않을 수 있기에 그 경계가 있으나 어느 정도 모호한 부분도 존재한다고 말씀드리고 싶습니다.
4. 마치며...
프로그램잉언어를 선택하고 배우는 것에 해답은 없습니다.
또한 한 프로그래밍 언어를 알게 되면 다른 언어를 배우기도 상당히 쉬워지게 되며, 습득 속도도 높아집니다.
그럼에도 불구하고 왜 많은 분들이 "어떤 프로그래밍 언어를 시작해야 하나요?"라는 질문을 던질까요??
아마 아무 정보 없이 무작정 시작하려고 하니 너무 막막해서 그런 것이 아닐까 싶습니다.
하지만 아주 좋습니다. 개발의 시작은 그렇게 하는 것이며, 차차 배워나가면 그만이니까요.
저는 현재 React와 Node.js로 개발하고 또한 공부하고 있습니다.
이번 게시물은 정말 심플하고 전문적인 것 없이 마음 편하게 언어 선택하는 방법에 대해 알려드렸습니다.
다음 게시물에는 먼저 자바스크립트에 문법을 아주 쉽고 간단하게 알려드리겠습니다.
완벽한 준비란 없다. 완벽한 준비란 영원히 시작하지 않는 것과 같다.
'[Developer] 초보 개발자' 카테고리의 다른 글
프론트엔드란? 프론트엔드 공부방법. (22) | 2021.01.18 |
---|---|
UML이란?? 사용법과 종류. (10) | 2021.01.10 |
Compiler(컴파일러) 와 Interpreter(인터프리터) 차이점. (10) | 2021.01.04 |
Clean Code 클린코드란? 개발자란? (14) | 2021.01.03 |
초보 개발자 자바스크립트 정복기 (4) | 2020.12.27 |