Javascript
2023-05-05 08:44
프로그래밍이란 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션
문제 해결 능력 요구
→ 0과 1밖에 알지 못하는 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하는 작업
Computational thinking (컴퓨팅 사고) : 컴퓨터의 입장에서 문제를 바라봐야 한다.
사람이 이해할 수 있는 자연어가 아니라 컴퓨터가 이해할 수 있는 언어, 즉 기계어(machine code) 로 명렬을 전달해야 한다.
사람이 기계어를 이해해서 기계어로 직접 명렬을 전달하는 것은 매우 어려운 일
다음은 x86 아키텍처의 리눅스 환경에서 ‘Hello World’를 출력하는 기계어 코드
7F 45 4C 46 01 01 01 00 00 00 00 00 00 00 00 00 02 00 03 00 01 00 00 00 35 40 B3 04
2C 00 00 00 00 00 00 00 00 00 00 00 34 00 20 00 01 00 00 00 00 00 00 00 00 40 B3 04
B2 0C EB 1C 62 00 00 00 62 00 00 00 05 00 00 00 00 10 00 00 48 65 6C 6C 6F 20 77 6F
72 6C 64 0A B9 4C 40 B3 04 93 CD 80 EB FBassembly기계어로 직접 명령을 전달하는 것을 대신할 가장 유용한 대안은 사람이 이해할 수 있는 약속된 구문(문법) 으로 구성된 프로그래밍 언어를 사용해 프로그램을 작성한 후, 그것을 컴퓨터가 이해할 수 있는 기계어로 변환하는 일종의 번역기를 이용하는 것
이 일종의 번역기를 컴파일러(compiler) 혹은 인터프리터(interpreter) 라고 한다.
다음은 ‘Hello World’ 를 출력하는 자바스크립트 코드. 위의 기계어 코드보다 사람이 이해하기 쉬운, 즉 읽기 쉬운 코드다.
console.log('Hello World')
javascript프로그래밍은 프로그래밍 언어를 사용해 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션
프로그래밍 언어는 구문과 의미의 조합
대부분의 프로그래밍 언어는 “변수와 값”, “키워드”, “연산자”, “표현식과 문”, “조건문”과 “반복문”에 의한 “흐름제어”, “함수” 그리고 자료구조인 “객체”, “배열” 등과 같은 문법을 제공
📖 결국 프로그래밍은 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것