Part.2 - 프로그래밍이란?
프로그래밍 : 컴퓨터에게 일련의 명령을 수행하는 프로그램을 만드는 과정.
- 프로그래밍(Programming)은 간단하게 컴퓨터에게 일을 시키는 방법
- 컴퓨터에게 일을 시키기 위해서는 소통 수단이 필요함
- 그 소통 수단은 프로그래밍 언어(Programming Language)라고 한다
- 프로그래밍 언어를 통해서 일을 어떻게 하면 되는지 컴퓨터에게 알려줌
- 이 과정 전반을 프로그래밍 또는 코딩(Coding)이라고 함
프로그래밍의 구성 요소
1. 코드 (Code) - 특정 프로그래밍 언어로 기술되는 텍스트.
def say_welcome(name):
print(f"Hello World! {name}!")
say_welcome("Yongdam")
- 언어이기 때문에, 문법(Syntax)과 의미론(Semantic)을 가짐
- 컴퓨터는 코드를 완전하게 이해한다. 대신에, 사람이 시키는 그대로를 이해함
- 즉, 코드 그 자체를 그대로 믿기 때문에 문법이 틀린 코드를 작성하면, '절대로' 실행되지 않는다!
- 코드를 잘 쓰기 위해서는(=컴퓨터에게 일을 잘 시키기 위해서는) 컴퓨터를 잘 이해해야 함
2. 컴퓨터 (Computer) - 코드를 수행하는 기계.
https://en.wikipedia.org/wiki/Computer#History
Computer - Wikipedia
From Wikipedia, the free encyclopedia Jump to navigation Jump to search Automatic general-purpose device for performing arithmetic or logical operations A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operatio
en.wikipedia.org
컴퓨터는 다음과 같은 구조로 되어 있다.
💡 Computer Architecture(Von Neumann Architecture) : 폰 노이만이 제안한 현대 컴퓨터 구조.
우리가 이해해야 하는 중요한 부분 세가지
1. Central Processing Unit(CPU)
-컴퓨터에서 일어나는 모든 연산을 담당.
2. Main Memory(주로 DRAM)
-프로그래밍을 할 때 사용하는 모든 데이터, 코드가 올라와 있는 공간.
3. Input/Output Devices(프로그램 기준에서는 모두 바깥에 있는 것들이라 주변기기로 취급함)
-storage(HDD, SSD)
-Monitor, Mouse, Keyboard, ...
데이터를 불러온다 라고 하는 것은 storage에 있는 데이터를 램으로 옮기는 작업이라고 생각하면 됨
- 우리가 작성한 프로그램은 모두 메모리(DRAM) 안에 상주중
- 프로그램 입장에서 모든 처리는 메모리를 기준으로 이루어짐
- 저장 장치(storage)에 있는 데이터를 불러오는 Load , 메모리에 있는 내용을 저장 장치에 저장하는 Save 모두 I/O에 해당함
- 메모리에 있는 프로그램이 명령을 CPU로 보내는 fetch , CPU에서 해당 내용을 연산하고 처리하는 decode , execute , 다시 해당 내용을 메모리로 보내는 fetch까지 instruction cycle이라고 부름
- instruction cycle을 계속 돌면서 프로그램이 컴퓨터에서 실행됨
요약
1. 프로그래밍은 컴퓨터에게 일을 시키는 과정입니다.
2. 프로그래밍의 구성 요소에는 코드 / 컴퓨터가 있습니다.
3. 코드는 특정 프로그래밍 언어의 문법/의미론을 따릅니다.
4. 컴퓨터는 폰 노이만 아키텍처로 구성되어 있습니다. (CPU, Memory, I/O Devices)
5. 데이터와 프로그램은 메모리에 상주하며, 모든 연산은 CPU가 담당합니다.
6. 프로그램에서 수행한 결과를 저장하고 싶을 때는 저장 장치에 Save를 합니다.
7. Instruction cycle을 통해서 CPU는 지속적으로 주어진 일을 처리합니다.
'Python > [패스트캠퍼스] 데이터분석 레벨원 : 난생처음 배우는 파이썬 데이터분석' 카테고리의 다른 글
Part 2. 파이썬 최대한 쉽게 맛보기 - CH 01. 데이터 다루기(3) (0) | 2023.01.13 |
---|---|
Part 2. 파이썬 최대한 쉽게 맛보기 - CH 01. 데이터 다루기(2) (0) | 2023.01.04 |
Part 2. 파이썬 최대한 쉽게 맛보기 - CH 01. 데이터 다루기(1) (0) | 2023.01.04 |
Part 1. 데이터 분석, 시작 전 준비하기! - CH 02. 파이썬과 만날 준비하기 (0) | 2023.01.01 |
Part 1. 데이터 분석, 시작 전 준비하기! - CH 01. 파이썬, 그게 뭔데? (1) (0) | 2023.01.01 |
댓글