본문 바로가기
스터디/혼공학습단 11기 - 얄팍한코딩지식

혼공얄코 - 기계가 알아 듣게 작성해주세요!

by 찌노오 2024. 1. 10.

 

 

 

프로그래밍 언어는 자연어와 어떻게 다른가요?

스터디를 시작하기 전에 아래 영상을 한 번 보자.

 

영상 속 아버지는 땅콩버터와 잼을 바른 샌드위치를 만드는 방법을 아이에게 알려달라고 한다.

얼마 뒤 아이가 적어온 방법대로 만들어서 프로그래밍의 원리를 설명하는 영상이다.

 

https://www.youtube.com/watch?v=cDA3_5982h8

 

영상에도 잘 나오지만, 

사람과 달리 컴퓨터는 주관적인 판단이 없다.

(물론 그 주관이라는 개념이 라이브러리가 될 수도 있지만 이 역시도 사람이 붙여주는 것이니)

 

그래서 만들고자 하는 프로그램의 동작을 정확하게 알고 명확하게 명령해야 이를 구현할 수 있다.

영상 속 아이는 이미 버터와 잼을 바르는 방법을 알고 있고 이미 샌드위치를 여러 번 만들어 먹어봤을 것이다.

그래서 많은 부분이 자신의 주관이 담겨 생략된 방법을 적어서 왔다.

 

개인적으로 프로그래밍을 이해하는데 좋은 영상 같아서 서두에 가져왔다.

 

 이전 스터디에서 자바와 파이썬의 차이점에서 대해 설명하는 포스팅을 남긴 적이 있는데 이번 주 진도는 이를 다시 한 번 정리할 수 있는 좋은 기회였다,

 

기본미션

주차 진도 기본 미션
2주차
(1/8 ~ 1/14)
Chapter 01 Ch.01(01-3, 01-4) 확인 문제 풀고 인증하기(p. 62~63 & p. 76~77)

 

 

 

1.

① - ㉡

② - ㉣

③ - ㉠

④ - ㉢

 

개발자 툴이라 할 수 있는 IDE(Integrated Development and Learning Environment)에서 각 프로그래밍마다 특화된 애플리케이션이 있다.

 

2. 기계어 → 어셈블리어 → 파이썬 → 영어

기계어는 한 마디로 0과 1로 이루어진 언어이고, 어셈블리어는 일부 기호가 들어간 언어이다. 그리고 파이썬은 다른 언어들보다 자연어에 가까운데 그래서 처음 진입하기 쉬운 언어이다. 마지막으로 영어는 사람이 쓰는 자연어이다.

 

당연하게도 프로그래밍, CS를 이해하려면 어셈블리어, 혹은 저급언어를 이해하는 게 중요하지만 그만큼 진입장벽이 높아진다.

 

3. ② 사람에게 낯설고 어려울수록 고수준의 언어에 가깝습니다.

자연어에 가까울수록 고수준의 언어이고 기계어에 가까울수록 저수준의 언어이다.

 

4. ③, ①, ②

 

5. ②, ①

스크립트 언어인지 컴파일 언어인지에 따라 프로그래밍을 분류할 수 있는데, 앞선 혼공학습단 포스팅에서 다뤄본 적이 있다.

 

 

 

 

1. ② 빌드는 배포 이후 이뤄지는 작업입니다.

빌드는 프로그래밍한 소스 코드를 묶어 실행 가능한 파일로 만드는 것이다. 따라서 배포 전에 이루어지게 된다.

 

동료 개발자분들한테 듣기론 이 빌드(컴파일) 타임이 컴퓨터 성능에 영향을 많이 받는다고 한다. 일의 효율에도 영향을 미치는 작업 프로세스인만큼 매우 중요하다고 알고 있다.

 

2.①주석 , ③ 빌드번호, ②버전번호

 

3. ② 리팩토링한 프로그램은 이전과 다르게 작동한다.

리팩토링(refactoring)은 기능을 수정하지 않으면서 코드의 품질을 높이기는 것이다.

주로 가독성을 높이거나 유지보수가 편하게 하기 위해 코드를 변경하는 작업을 일컫는다.

 

모든 프로그램이 처음부터 완성된 채로 끝나는 것이 아니라 끊임없이 수정되고 기능이 추가되기 때문에 이러한 과정이 필요하게 된다.

 

4. 빌드, 코드 리뷰, 디버깅, 배포, 리팩토링

 

 

 

 

 

 

 

** 사실과 다른 내용이 있을 수 있습니다. 언제든지 피드백 부탁드립니다!

반응형

댓글