#1. 프로그래밍이란?

해피데빙·2022년 5월 24일
0
post-thumbnail

프로그래밍이란?

  • 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션
  • 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하는 작업
  • 결과물이 코드다
  • 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것

개발자의 역할

  • 요구사항 (해결해야 할 문제)를 명확히 이해한 후
  • 적절한 문제 해결 방안을 정의할 필요가 있다.
  • 그 다음에 코드 구현

이때 요구되는 것이 문제 해결 능력!!

1) 문제(요구사항)을 명확히 이해
2) 복잡함을 단순하게 분해
3) 자료 정리하고 구분
4) 순서에 맞게 행위를 배열해야 한다

문제 해결 방안을 고려할 때 컴퓨터의 입장에서 문제를 바라봐야 한다
컴퓨팅 사고 vs 인간의 사고
: 인간이 당연하다고 생각하는 영역까지 나눠서 경우의 수를 나눠줘야 한다.

프로그래밍 언어

  • 기계어 vs 자연어
    사람이 이해할 수 있는 언어를 자연어라고 하고
    컴퓨터가 이해할 수 있는 언어를 기계어라고 한다

    사람이 기계어를 이해해서 기계어로 직접 명령을 전달하는 것은 매우 어려운 일이다 
  • 프로그래밍 언어
    사람이 이해할 수 있는 약속된 문법으로 구성되어 있다

1) 프로그래밍 언어로 프로그램 작성
2) 컴퓨터가 이해할 수 있는 기계어로 변환하는 일종의 변역기(컴파일러, 인터프리터)를 이용한다
정리 : 프로그래밍 언어 (사람, 컴파일러) / 기계어 (컴퓨터)

		사람 - 프로그래밍 언어 -> 컴파일러-기계어-> 컴퓨터
        
  • 구문과 의미
    프로그래밍은 프로그래밍 언어를 사용해 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션
    프로그래밍 언어는 구문과 의미의 조합으로 표현된다

구문과 의미

언어의 의미는 문맥에 있는 것이지 문법에 있는 것이 아니다!
그러므로 문법만 맞고 의미에 어긋나는 코드는 지양한다

const number = "string"  //숫자를 할당하는 것이 의미적으로 옳다 

cf.대부분의 프로그래밍 언어 공통 문법

  • 변수와 값
  • 연산자
  • 표현식과 조건문, 반복문
  • 함수
  • 자료구조 : 객체, 배열
profile
노션 : https://garrulous-gander-3f2.notion.site/c488d337791c4c4cb6d93cb9fcc26f17

0개의 댓글