프로그래밍 언어 html 파이썬(Python) C언어 JAVASQL PHPXML 자바스크립트(Javascript)차 코딩 공부 순서

필자는 대학 시절 컴퓨터 공학을 전공하면서 다양한 언어를 배워봤다. 대학에 처음 입학하여 코딩을 처음 접하는 학부생이나 취업을 위해 국비 지원을 다니고 있는 분들에게 유용한 정보를 제공하고자 한다. 도대체 처음 프로그래밍을 접하니 어떤 것부터 배워야 할지 잘 모르겠다. 그래서 백엔, 프론트엔드 등 상기 언어의 차이와 배우는 순서를 말해본다.

백엔드&프론트앤드 차이 우선 프로그래밍은 크게 백엔드와 프론트앤드로 나뉜다. 이게 어떤 개념이냐면 우리가 쓰는 앱 같은 게 프론트앤드다. 쉽게 말해 눈으로 볼 수 있고 손으로 터치하듯 실제로 느낄 수 있는 ‘화면’을 프론트 엔드로 생각해주면 된다. 이와 반대로 백엔은 우리 눈에는 보이지 않지만 꼭 필요한 정보를 저장하고 처리하는 서버 같은 것을 말한다. 이렇게 두 가지로 나누어 생각하는 것이 좋다. 그렇다면 어떤 것이 백엔이고 어떤 것이 프론트 엔드에 속하는 것일까.

프론트에는 HTML, XML, CSS, 자바스크립트 등이 있다. 처음 학부생이 되면 가장 쉽게 접할 수 있는 것이 C언어와 HTML인데 백엔대 C언어는 공부가 꽤 필요하지만 프론트엔드 HTML, CSS는 프로그래밍을 하는 것으로 취급받지 않을 정도로 쉽게 익힐 수 있다. 간단한 예로 아래와 같이 우리가 어딘가에 로그인하는 것을 단순히 그리는 역할이라고 생각하면 된다. HTML이 웹페이지를 그리는 데 사용한다면 CSS는 색을 입히고 XML을 플랫폼 간 정보교환에 사용한다.

자바스크립트는 이 두 가지보다는 공부량이 많은데, 이렇게 로그인 화면을 만들어준 것에 실제로 네이버에 접속할 수 있는 기능을 부여한다고 보면 된다. 실제 HTML과 CSS를 통해 아래와 같이 그렸다고 해도 아이디와 비밀번호를 통해 로그인하는 것은 불가능하다. 이를 가능하게 하는 것이 자바스크립트(Javascript)다.

이와 달리 백엔의 종류는 꽤 많다. 대표적으로 우리가 알고 있는 C언어, JAVA 같은 것이 백엔짜리 언어. 즉 프로그래밍한 것이 우리 눈에는 보이지 않지만 뒤에서 뭔가를 처리하면서 기능 구현을 위해 없어서는 안 되는 것을 말한다. 위의 두 가지뿐만 아니라 파이썬(Phython)도 상당히 많이 사용되는 것 중 하나이다.

백엔이지만 조금 다른 역할을 하는 게 있다. PHP와 SQL이지만 쉽게 말해 서버와 데이터베이스와 관련된 것이라고 보면 된다. 앱을 만든다고 해도 PHP, SQL 같은 서버, 데이터베이스 없이는 얕은 수준의 기능만 구현할 수 있다. 누군가의 로그인 정보만 저장하려 해도 데이터베이스가 필요하기 때문이다.

그래서 공부 순서는요? 위에서 간단하게 차이점을 이야기했지만 공부량은 그리 쉽지 않다. 물론 어릴 때부터 코딩을 자유자재로 할 수 있는 머리를 갖고 있으면 쉽지만 일반 학부생이 처음 대학에 입학해 뭔가를 단기간에 마스터한다는 것은 사실상 불가능하다. 그만큼 상당한 시간과 노력이 필요한 게 바로 코딩이다.

필자가 학부생활을 거치면서 느낀 후배들이 이렇게 공부했으면 좋겠다. 라는 순서를 생각해 보았다. 먼저 HTML, CSS, XML, Java cript와 같은 프론트 엔드에 속하는 것부터 배워 웹에 적용하는 것이 좋다. 사실 우리가 사용하는 앱은 이것들만 사용하는 방법을 숙지하고 API를 활용하는 것만 배운다면 꽤 많은 것을 구현할 수 있다. 물론 복잡한 앱에 백엔이 필요하지만 HTML, CSS, XML, 자바스크립트를 먼저 배우면 눈에 띄게 직접 만져볼 수 있다는 특징이 있어 처음을 즐겁게 시작할 수 있다.

위의 것을 배웠다면 앞으로는 C언어나 자바(JAVA) 또는 파이썬(Python) 중 하나를 선택해 백엔 공부를 하는 것이 좋다. 요즘은 파이썬이 사용하기 편해 많은 곳에서 사용하고 있지만 막상 회사에 취업하면 아직 C언어 C+ 또는 자바(JAVA)를 사용하는 곳이 대부분이다. 그만큼 역사가 오래됐고 많은 프로그래머들이 기본적으로 알고 있는 것이기 때문이다. 그렇다고 파이썬(Python)을 먼저 배운다고 걱정하지 않아도 된다. 백엔짜리 언어 하나만 충실히 익히면 다른 것도 쉽게 익힐 수 있기 때문이다.

가장 중요한 것은 책을 가지고 있는 것만으로는 실력이 늘지 않는다는 것이다. 우리가 사용하는 대부분의 앱은 변수, 반복문, 함수 등 생각보다 기본적인 것으로 쉽게 구현되고 있는 것이 많고 앱이나 웹을 개발해 모른다면 구글로 하여금 깃허브를 통해 소스를 찾아 구현하다 보면 어느새 실력이 금방 늘고 있는 본인을 발견하게 될 것이다. 책을 다 외워서 뭔가를 개발한다는 생각이라면 꽤 시간이 걸릴 것이다. 어느정도 배우면 일단 만들자!

error: Content is protected !!