프로그래밍 - JavaScript

백승찬·2023년 5월 13일
0

JavaScript

목록 보기
4/13

프로그래밍이란 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다. 다시 말해, 프로그래밍에 앞서 해결해야 할 문제(요구사항)를 명확히 이해한 후 적절한 문제 해결방안을 정의할 필요가 있다.

문제(요구사항)를 명확히 이해하는 것이 우선되어야 하며 복잡함을 단순하게 분해(decomposition)하고 정리하고 구분(modeling)해야 하며 순서에 맞게 행위를 배열해야 한다.

우리는 문제 해결 방안을 고려할 때 컴퓨터의 입장에서 문제를 바라봐야 한다. 이때 필요한 것이 Computational thinking(컴퓨팅 사고)이다.

문제 해결 능력을 바탕으로 정의된 문제 해결 방안은 컴퓨터에게 전달되어야 한다. 이때 명령을 수행할 주체는 컴퓨터다. 따라서 사람이 이해할 수 있는 자연어가 아니라 컴퓨터가 이해할 수 있는 언어, 즉 기계어(machine code)로 명령을 전달해야 한다.

기게어로 직접 명령을 전달하는 것을 대신할 가장 유용한 대안은 사람이 이해할 수 있는 약속된 구문(syntax, 문법)으로 구성된 "프로그래밍 언어 (programming language)"를 사용해 프로그램을 작성한 후, 그것을 컴퓨터가 이해할 수 있는 기계어로 변환하는 일종의 번역기를 이용하는 것이다. 이 일종의 번역기를 컴파일(compiler) 혹은 인터프리터(interpreter)라고 한다.

컴파일러 (Compiler) : 소스 코드 전체를 읽어서 목적 코드(주로 기계어 코드)로 변환하는 프로그램입니다. 이 변환 과정을 '컴파일'이라고 합니다. 컴파일러가 코드를 변환하면, 그 결과로 나온 프로그램은 원래의 소스 코드와 독립적으로 실행됩니다.

인터프리터 (Interpreter) : 소스 코드를 한 줄씩 읽어서 즉시 실행하는 프로그램입니다. 이런 방식 때문에 인터프리터는 컴파일러와 달리 코드를 미리 변환하지 않습니다. 대신, 인터프리터는 코드를 실행하는 시점에 해석(interpret)하여 필요한 작업을 수행합니다.

언어는 자신의 생각을 상대에게 전달하는 방법으로 언어 공동체 내에서 이해할 수 있는 말의 집합이다. 언어는 자연어와 인공어로 구분할 수 있다.

프로그래밍 언어란 컴퓨터와의 대화(명령)에 사용되는 일종의 표현 수단으로, 사람과 컴퓨터(컴파일러 또는 인터프리터)모두가 이해할 수 있는 약속된 형태의 인공어다.

console.log("Hello world")

대부분의 프로그래밍 언어는 "변수와 값", "키워드", "연산자", "표현식과 문", "조건문"과 "반복문"에 의한 "흐름제어(control flow)", "함수" 그리고 자료구조인 "객체", "배열" 등과 같은 문법을 제공한다.

프로그래밍 언어가 제공하는 문법을 적절히 사용하여 변수를 통해 값을 저장하고 참조하며 연산자로 값을 연산, 평가하고 조건문과 반복문에 의한 흐름제어로 코드의 실행 순서를 제어하고 함수로 재사용 가능한 문의 집합을 만들며 객체, 배열 등으로 자료를 구조화한다.

결국 프로그래밍은 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것이다.

profile
신은 인간에게 선물을 줄 때 시련이라는 포장지에 싸서 준다. 선물이 클수록 더 큰 포장지에 싸여있다. - 브라이언 트레이시 -

0개의 댓글