프로그래밍 공부를 하다보면 여러 생소한 단어를 많이 만나게 됩니다.
이제 그 중 일부를 살펴보고 그 의미를 이해해 보도록 하겠습니다.
1. 코딩이란 무엇이고 프로그래밍이란 무엇이지?
프로그래밍이란 프로그램을 만드는 전 과정을 의미하고
코딩은 단지 코드를 작성하는 것을 의미합니다.
그러니까 프로그래밍이 더 큰 개념이고 코딩은 프로그래밍 중 일부를 의미하죠.
다시 정리하면, 프로그래밍을 한다는 것은 프로그램을 설계하고,
코드를 작성하고 에러를 잡고 디버깅을 하는 전 과정을 의미하며
코딩을 한다는 것은 명령어를 배치하여 코드를 작성하는 것입니다.
그런데 굳이 정확히 따지자면 코딩과 프로그래밍의 의미가 다르지만
사람들 사이에서 대화할 때는 두 단어 모두 거의 동일한
의미로 사용됩니다.
2. 프론트엔드와 백엔드, 그리고 풀스택
프론트엔드는 눈에 보이는 것, 백엔드는 보이지 않는 것을 의미하고
풀스택은 둘 모두를 의미합니다.
프론트엔드는 눈에 보이는 것이므로 프로그램을 실행하거나
웹브라우저로 접속하여 우리가 인지 가능한 것들을 의미합니다.
예를 들어, HTML, CSS, 자바스크립트와 같은 것들이 이에 해당하고
이 3가지 조합으로 웹페이지 코드가 구성됩니다.
그리고 그 웹페이지는 우리 눈으로 보는 화면이 되는 거죠.
반면에 백엔드는 눈에 보이지 않는 것입니다. 주로 서버가 이해 해당하죠.
게시판 글을 읽을 때, 그 글은 서버 컴퓨터의 데이터베이스에 저장되어져 있습니다.
따라서 프론트엔드로 보여줄 내용을 서버 데이터베이스에서 가지고 와야 하죠.
그리고 이것은 백엔드로 작성합니다.
프론트엔드에서 백엔드 쪽으로 데이터를 요청하면
백엔드 부분이 작동되어 글을 보내주죠.
이런 백엔드에 해당하는 언어로는
JAVA(JSP), 파이썬, PHP, ASP닷넷, NodeJS 등이 있습니다.
그럼 풀스택은 무엇을 의미할까요?
이것은 간단합니다.
프론트엔드와 백엔드 모두 다룰 줄 아는 프로그래머를 풀스택 프로그래머라고 부릅니다.
3. 자바스크립트
자바스크립트와 자바를 혼돈하여 잘못 사용하는 경우가 있는데 둘은 서로 다른 언어입니다.
자바스크립트는 자바와 달리 웹브라우저에서 작동되는 언어이며,
자바는 서버에서부터 리눅스, 윈도우 프로그램까지 매우 광범위하게 사용되는 언어입니다.
자바스크립트는 주로 HTML과의 상호 작용에 사용되거나
혹은 웹브라우저의 특정 기능을 쓰고 싶을 때 사용합니다.
이 언어는 주로 눈에 보이는 화면을 조작할 때 쓰이므로 프론트엔드에 해당하죠.
간혹 NodeJS를 자바스크립트라고 말하며
따라서 자바스크립트로 백엔드도 작업도 가능하다고 말하는 경우가 있습니다.
하지만 NodeJS는 자바스크립트가 아닙니다.
단지 자바스크립트 엔진을 쓰기에 자바스크립트 문법과 동일하여
자바스크립트라고 부르기도 할 뿐 실제로는 같은 언어가 아닙니다.