1. 개요

더보기

"Q. 컴퓨터란 무엇인가요?"

: C 언어를 배우기에 앞서, 이 고리타분한 질문에 대답할 수 있어야 하는 이유를 알아봅시다.

  

 

이유1.

 

“C 언어”는 1970년대 초,

컴퓨터를 사용한다는 것이  "운영체제나 시스템 소프트웨어를 직접 만들고, 하드웨어를 직접 제어하는 것"과 동일할 시기에 "컴퓨터의 동작 구조를 이해한, 컴퓨터 관련 기술자"를 위해 등장한 언어입니다.

 

2024년 오늘처럼, 소프트웨어와 하드웨어가 명확히 구분된 시점에

응용 소프트웨어 개발자의 효율적인 프로그래밍을 위해 등장한 C#, Java 와 같은 언어와 근본적 목적이 다릅니다.

 

C 언어를 배우기 위해서는

1970년대의 개발자 관점에서, 그들과 동일한 배경 지식(기본적인 컴퓨터 동작 구조 이해)을 가지고  접근해야 합니다 

 

"컴퓨터란 무엇인가요?" 에 대한 대답을 찾으면서, 1970년대의 그들처럼 기본적인 컴퓨터의 동작 구조부터 알아갑시다.

 

 

이유2.

 

C#이나 Java 같은 객체지향 프로그래밍 언어를 주로 사용하는 개발자들도,

결국 언젠가 컴퓨터의 동작 구조와 메모리 구조와 동작 원리를 이해해야 하는 순간이 옵니다.

 

그리고 그 시작은 언제나 “컴퓨터란 무엇인가요?”라는 질문에서 출발해

그 구조와 원리를 배우는 과정에서 C 언어는 반드시 지나야 할 과정이 됩니다.

 

(C 언어는 등장한 지 50년이 되어가는 역사 깊은 언어이지만,

여전히 다양한 분야에서 대체되기 힘든 필수적인 역할을 하고 있습니다. (프로그래밍 언어의 발전 ☜클릭)

 

Rust, Carbon 같은 새로운 프로그래밍 언어들이 C/C++를 대체하기 위해 노력하고 있지만

하지만 현실은 언제나 그렇듯, 현장 개발자들과 의사결정자들(재무 담당자 등)은 “굳이?”라는 반응을 보일겁니다.

기술의 전환에는 시간과 비용, 그리고 신뢰의 문제가 따르기 때문입니다.)


 

이유3.

기계어, 이진수, 16진수

어셈블리어, 하드웨어에 종속적, 유닉스, 리눅스, 아키텍처, 

컴파일러

빌드, 실행, 메모리, 저장공간, 

 

2. 컴퓨터 등장 이전

더보기

2.1 Computer 의 어원

- Computer 란 어떤 의미인가요?

 

https://namu.wiki/w/%EC%BB%B4%ED%93%A8%ED%84%B0#toc

 

컴퓨터

이진법 을 이용하여 논리 연산 , 저장을 수행하는 전자 기계. 상세 파일:ENIAC_Penn1.jpg 파일:ext

namu.wiki

 

 

 

 

2.2 최초의 컴퓨터

 

 

 

 

최초의 계산 장치

 

1. 찰스 배비지와 에이다 러브레이스

인류는 수학 계산을 좀 더 편리하고 정확하게 하기 위해 여러가지 도구를 만들었다. 그 중 주판은 여러 고대 문명에서 사용되었다. 우리나라에는 1400년대경에 중국에서 주판이 전래되었고  1980

joonecomics.wordpress.com

 

 

 

 

2.3 정리

 

인간은 계산을 편리하게 하고 싶었습니다.

 

컴퓨터라는 현재 우리가  사용하는 기계를 만드는 것이 최초의 목적이 아니었습니다.

 

컴퓨터 이전에 인간은 수학 계산을 위해, 주판, 기계식 계산기, 그리고 전자식 계산기를 만들어 사용합니다.

 

 

 

 

2.4 필수 

 

01:40 : 덧셈을 반복함으로써 곱셈을, 뺄셈을 반복함으로써 나눗셈

 

02:18 : 찰스 베비지의 해석장치와 펀치카드를 현대의 계산기와 컴퓨터 프로그램과 비교해봅시다.

 

주판에서 기계식 계산기로, 그리고 전자식 계산기에서 컴퓨터까지 연결되는 과정에서 이해한 부분까지만 정리해봅시다.

 

 

 

 

 

참고)  "아마존 고" 를 통해 기술자들이 가장 많이 하는 착각을 방지해봅시다. 

(블록체인, VR, 자율주행, 인공지능, 정보 세대 격차 등)

 

3. 컴퓨터 등장

더보기

3.1  계산기 + 프로그램 & 입출력 장치

 

 

01:43 : 천공카드(한가지 동작 기계 vs 복잡한 동작 기계)

 

 

 

3.2 정리

 

컴퓨터는 계산기 입니다.

 

좀 더 정확히 말하자면, 프로그래밍이 가능한 계산기 입니다.

 

프로그래밍이란 개발자가 계산 순서를 정해놓은 실행 순서입니다.

 

계산이 가는한 기계장치에, 프로그램이라는 로직에 따라 다른 계산을 하는 장치입니다.

 

그리고,

 

연산을 담당하는 계산장치(CPU)

 

프로그램 이라는 로직을 저장하기 위한 저장장치(MEMORY)

 

이 저장된 프로그램을 조작하는 입력장치(KEYBOARD, MOUSE)

 

결과를 확인하는 출력장치(MONITOR) 가 더해지면 현대적인 컴퓨터가 됩니다. 

 

COMPUTER, COMPUTE(계산하다) + ER

 

4. 컴퓨터의 동작구조

더보기

4.1 CPU, MEMORY, HDD

 

 

 

4.2 BINARY, 0, 1, 저장장치 HDD

 

 

 

5. 컴퓨터 하드웨어, 좀 더 알아보기

더보기

유투브 자막을 한글로 변경 후 시청하세요.

 

 

5.1. 컴퓨터 하드웨어

 

 

 

 

 

5.2 컴퓨터 하드웨어 사이즈 비교

 

 

 

 

 

5.3 메모리는 어떻게 동작하는가?

 

 

 

 

 

5.4 하드디스크(HDD)는 어떻게 동작하는가?

 

 

 

 

 

5.5 SSD는 어떻게 동작하는가?

 



 

 

5.6 PCB는 어떻게 동작하는가?

 

 

 

 

 

Next. 프로그래밍의 본질

- 프로그래밍이란?