자바스크립트의 태생적 특징

자바스크립트는 친절한 프로그래밍 언어이다.
웬만해서는 에러 없이 실행되며, 작은 실수는 알아서 대응해 주는 등, 되도록 손이 덜 가게끔 설계되어 있다.
이러한 자바스크립트의 특징은 편리한 경우도 있지만 내부 동작을 이해하기 어렵게 만들기도 한다.

이는 자바스크립트의 탄생 목적이 일반적인 프로그래밍 언어와 다르기 때문이다.

대부분의 프로그래밍 언어: 애플리케이션을 개발하기 위한 범용적인 용도로 설계되었다.
자바스크립트: 웹페이지의 단순한 보조 기능을 처리하기 위한 제한적인 용도를 목적으로 태어났다. 

하지만 자바스크립트는 더 이상 제한적인 용도가 아닌, 프론트엔드와 백엔드 영역의 프로그래밍 언어로 사용할 수 있는 범용 애플리케이션 개발 언어로 성장했다.
따라서 자바스크립트를 학습하는 방식도 이에 걸맞게 변화해야 한다.

기본 개념과 동작 원리 이해의 중요성

프로그래머의 역할은 요구사항을 기반으로 문제를 해결하기 위한 방안을 고안하고, 이를 코드로 구현하는 것이다.
이때 자신이 구현한 코드가 컴퓨터 내부에서 어떻게 동작할 것인지 예측 가능해야 하며, 이를 명확히 설명할 수 있어야 한다.
그러자면 프로그래밍 언어의 기본 개념동작 원리를 정확히 이해하는 것이 중요하다.
이를 정확히 이해하지 못하고 복사, 붙여넣기로 단순히 동작만 하는 코드를 만들고 거기에 만족한다면 그 코드는 신뢰할 수 없고 유지보수하기 까다로운 코드가 될 것이다. 또한 문제 해결 능력은 어느 선에서 성장을 멈추게 될 것이다.

기본 개념: 문맥에 맞는 정확한 용어를 구사할 수 있는 원동력
👉 명확한 의사소통 가능
👉 협업의 기본 & 필수 요소
👉 프레임워크나 다른 언어를 학습하는 데도 도움이 됨

동작 원리의 이해: 코드의 동작을 예측 가능하게 하며 코드 독해의 원천
👉 자신이 작성하는 코드의 동작 예측은 필수
👉 에러 원인을 이해해야 디버깅 가능

기본 개념과 동작 원리의 이해는 안정적이고 효율적인 코드를 생산할 수 있는 기본기이다.
기본기는 아무리 강조해도 지나치지 않다.

학습 방법

  1. 기본 개념과 동작 원리 이해 (이해의 영역)

    • 중요한 키워드 중심으로 나누어 학습
    • 여러 번 반복 학습
    • 용어 / 개념 / 문법 / 컴퓨팅 사고
  2. 코딩 스킬 (숙달의 영역)

    • 의도적 연습(어려운 도전)을 통한 시행착오
    • API
    • 프레임워크 / 라이브러리
  3. 프로젝트 (경험의 영역)

    • 더 깊은 이해협업
    • 추가 학습
    • 모르는 것과 아는 것의 구분

기본 개념과 동작 원리, 코딩 스킬, 프로젝트라는 3개의 사이클을 순환적으로 반복하면서 이해의 반경을 점진적으로 넓혀가며 지속적 개선을 통한 성장이 바로 학습이다.

빨리 가는 유일한 방법은 제대로 가는 것이다.
Robert C. Martin, <<클린 코드>>의 저자

profile
매일 성장하고, 좋은 개발자가 되길 원하는 FE개발자입니다😄

0개의 댓글