본문 바로가기

자기 개발/코딩

코딩 시리즈_3 코딩, 무엇부터 시작?

 

코딩을 배우려고 했지만 무엇부터 시작해야 할지 막막하죠.

코딩 무엇부터 해야 할까요?

앞에서 명령어 모듈들로 마우스로 연결시킨 스크래치와 같은 툴(개발 도구)의 기능에 익숙해지는 것도 코딩의 한 방법입니다.

하지만, 코딩을 보다 더 정확히 표현하자면 컴퓨터 프로그래밍을 배우는 과정이며 알고리즘을 설계해 나가는 과정입니다.

따라서 코딩을 시작하려면 프로그래밍 언어 즉, 개발 언어를 배워야 합니다.

그렇다면 코딩을 배우는 사람들의 질문이 코딩을 배우고 싶은데 어떤 언어부터 해야 할지 궁금해집니다.

우리는 외국인들과 소통하기 위해 영어, 일본어, 중국어와 같이 외국어를 배웁니다. 같은 맥락으로 컴퓨터와 소통하기 위해서 코딩이란 도구를 사용하는 것입니다. 그런데 코딩을 어느 정도 해본 사람이라도 처음에 어떤 언어로 시작해야 할지 고민에 빠지게 됩니다.

충분히 그럴 수 있는 것이 프로그램 언어는 용도에 따라 다양하기 때문인데요, 그렇기 때문에 언어를 선택하기에 앞서 어떤 프로그램을 만들지’, ‘왜 이 프로그램이 필요한지생각하는 과정이 있어야 합니다. 또한 코딩 입문자는 정합한 목표를 지정하고 단기간에 그것을 만들면서 성취감을 느끼게 할 필요가 있습니다.

프로그램 언어를 배워서 무엇을 할지는 매우 중요한 학습 목표입니다.따라서 자신이 코딩을 배우는 목적이 웹 개발인지, 스마트폰 앱을 만들 것인지, 데이터 분석을 할 것인지, 아니ㅣ면 게임을 만들 것인지 스스로가 알아야 합니다.

그럼 질문을 반대로 코딩을 배우고 싶은데 어떤 부터 할까요?’에서

홈페이지나 앱을 만들고 싶은데 어떤 언어를 배워야 할까요?’,

게임 개발을 하려면 어떤 언어를 배워야 할까요?’

머신러닝은 어떤 언어를 공부해야 하나요?’

이와 같이 구체적으로 질문을 해야 하는 것입니다.

여러분은 레고나 프라모델을 만들 때 들이는 3~4시간을 쏟는 것을 어떻게 생각하시나요.

사실, 무엇을 만들던지 입문자에게 만드는 과정은 길고도 고된 과정입니다. 따라서, 만들 대상을 정하고 이에 대하여 학습한 후 스스로 무엇을 만들지 정하고 그 과정을 겪어야 하는 것은 당연한 일입니다.

물론, 코딩은 입문자로서는 개발경험이 부족하기 때문에 옆에서 지켜보고 도와줘야 할 사람이 필요합니다. 하지만 코딩을 코칭하는 사람은 모든 것을 가르쳐줘서는 안 됩니다. 문제 해결 방안을 제시하는 것이 아니라 계속된 질문을 통해 문제해결 방안을 찾을 수 있도록 유도하는 것이 중요하기 때문입니다.

그렇다면 인터넷 사이트의 웹 개발, 모바일 애플리케이션의 앱 개발, 많은 사람들이 즐기는 인터넷 및 모바일 게임 개발을 위해 어떤 언어를 배워야 할까요?

먼저 웹의 개발은 홈페이지와 같은 웹 사이트를 개발하는 것입니다. 그렇다면 세계에서 가장 큰 웹 사이트들은 어떤 기술을 사용하는지 예를 들어 보겠습니다.

출처 :  위키피디아

 

웹의 개발 분야에서는 Front-end와 Back-end 분야로 크게 2가지로 나누어져 있습니다.

Front-end는 간단히 말해 우리 눈으로 직접 보여지는 영역을 말합니다.

모니터로 보고 있는 레이아웃, 텍스트, 컬러, 그림등 화면 구성을 말합니다.

Front-end를 개발하기 위해서는 HTML, CSS, Javascript 3가지 언어가 필요합니다.

여기에 컬러나 폰트 등을 선택할 수 있는 디자이너의 디자인 감각이 더해지면 더욱 좋습니다.

다음 Back-end는 눈에 보이지 않는 서버, 프로그램 기능 등의 영역에 해당합니다. 데이터는 어디에 저장하는지 고민한다면 이에 해당합니다. 서버, 데이터베이스, 프로그램 기능으로 구성됩니다.

Back-end 개발자는 이런 구성요소들이 작동할 수 있게 만들고 유지하는 일을 합니다.

이러한 작업을 통해 비로소 사용자들에 보여지게 되는 것입니다.

Back-end를 개발하기 위해서는 JAVA, 파이썬, 루비, PHP, .Net 등 데이터베이스에 대한 지식이 필요합니다.

 

다음으로 앱 개발은 모바일에서 사용 가능한 응용 소프트웨어를 개발하는 것입니다. 애플리케이션은(application)은 웹에서도 사용 가능한 말이지만 엡(app)은 모바일 애플리케이션은 개발이라고 말하고 있습니다.

엡 개발은 크게 애플사의 모바일 운영체제인 iOSAndroid로 양분하여 알아야 합니다.

아이폰에서 구동할 앱을 만든다면 iOS를 사용하고 그 이외 휴대폰에서는 Android를 사용하기 때문입니다. 따라서 아이폰을 위한 앱 개발을 하고 싶다면 Swift라는 언어를 배워야 하고 Android 환경의 앱을 만들고자 한다면 Java를 공부해야 합니다.

최근에는 구글과 오라클의 Java 소송전이 길어지면서 Java 대체 언어로 Kotlin 이 부각되고 있기도 합니다. 구글 역시 Kotlin을 공식 언어로 채택했지만 여전히 Java가 주류를 이루고 있습니다.

다음으로 게임 개발입니다. 게임을 제작하기 위해서는 많은 영역에서 전문성을 필요로 합니다.

스토리라인과 컨셉 구성은 기획자가, 시각적 구현은 그래픽 디자이너의 손을 거친다 하더라도 게임 개발자는 다른 개발자에게는 필수적이지 않은 지식을 필요로 할 때가 있습니다.

일단, PC나 모바일에서 실행되도록 하는 C++ 가장 많이 사용합니다. 또 개발 과정을 단축시키기 위해 사용하는 게임 엔진으로는 유니티와 언리얼을 많이 사용합니다.

알파고 이후 머신러닝, 딥러닝에 대한 관심도 많아졌는데 코딩을 배우려는 사람들 중에서도 이 것이 목표인 사람도 많을 것으로 보입니다. 머신러닝 또는 딥러닝을 사용함으로써 스마트 검색, 음성 인터페이스 또는 지능적인 가상 비서를 구현하거나 그 외 다양한 방법으로 앱을 개선할 수 있기 때문입니다. 심지어 보고, 듣고 반응하는 애플리케이션도 만들 수 있습니다.

그렇다면 AI를 깊이 파헤치려면 어떤 프로그래밍 언어를 배워야 할까요?

머신러닝을 위한 언어로서 파이썬(Python)이 가장 선호되고 있습니다. 파이썬은 처음 프로그래밍을 시작하는 사람도 배우기 쉬운 언어라고 하지만 다른 언어들과 비교했을 때 훨씬 수월하다는 이야기입니다.아무튼 AI 관련 작업을 한다면 어느 시점에는 분명 파이썬을 사용하게 될 것입니다.

그런데 시작하지도 않고 근사한 결과물을 만들어야 한다는 생각을 합니다.

하지만 초보 단계에서는 간단한 결과물 만든다는 생각으로 시작하는 것이 좋습니다.

한 걸음 한 걸음 나아가는 것입니다.

온라인으로 프로그래밍 언어를 가르쳐 주는 강좌는 엄청 많습니다.

해외 사이트로는 Codecademy, Treehouse, Coursera, MIT OpenCourse Ware 등이 있고 국내 사이트도 다양한데 인프런, 엘리스, 토드잇, 생활코딩 등이 있습니다. 이 뿐만 아니라 유튜브에도 많은 동영상 강좌가 있습니다.

, 시작해 보세요.

 

 

'자기 개발 > 코딩' 카테고리의 다른 글

코딩 시리즈_4 코딩의 종류  (0) 2020.03.22
코딩시리즈_2 코딩하면 얻게 되는 것  (0) 2020.03.08
코딩 시리즈_1 코딩이란  (0) 2020.03.07