본문 바로가기
CS/Computer Basic

[CS/Basic] 비 전공자가 이해하는 컴퓨터 프로그래밍과 코딩

by iosdevlime 2022. 12. 2.

Swift 문법 관련 포스팅을 진행하다, 

 

문득 '프로그래밍이 무엇인가?' 란 원초적인 의문점이 솔솔 피어나기 시작했습니다.

지극히 단순한 의문에서 시작되어, 프로그래밍과 관련된 내용을 추가적으로 포스팅하고자 합니다.

 

첫 단추로서,

이번 포스팅에선 비 전공자의 입장에서 살펴보는 프로그래밍과 코딩에 대한 내용을 다뤄볼까 합니다.

 

 

 


 

 

 

땅콩 샌드위치 만들기

 레시피를 활용한 샌드위치를 만드는 과정은 결코 쉽지 않다!?

 

아래 영상은 처음 프로그래밍과 관련된 강의를 수강했을 때 접했던

프로그래밍에 대한 이해를 돕기 위한 좋은 예제입니다.

 

‘정확한 설명서 시험(Exact Instructions Challenge)’ 이라는 제목의 영상으로,

자녀가 샌드위치 만드는 방법에 대한 레시피를 써오면, 이에 따라 아빠가 직접 만들어 보는 과정을 담고 있습니다.

 

과연, 제대로 된 샌드위치가 완성되었을까요?

 

 

출처 : Exact Instructions Challenge - THIS is why my kids hate me. | Josh Darnit (Youtube)

 

 

 

- 결과는 NO

 

아이들이 작성한 레시피는 큰 문제가 없었으나,

"땅콩잼을 식빵에 바른다" 와 같이 과정이 생략된 함축적인 지시가 적혀져 있다는 것이 그 원인이었습니다.

 

그렇기 때문에,

부모는 애꿎은 식빵에 뚜껑도 따지 않은 땅콩잼 자체를 통째로 바르는 기행을 저지르게 된 것입니다. 

 

부모 자식 간의 대 환장파티를 확인할 수 있다.부모 자식 간의 대 환장파티를 확인할 수 있다.
부모 자식 간의 대 환장파티를 확인할 수 있다.

 

 


 

 

 

프로그래밍, Tutorial

컴퓨터가 특정 작업을 수행할 수 있도록 꼼꼼하게 레시피를 작성(코딩)하는 방법

 

위 땅콩잼 샌드위치 상황에서 살펴볼 수 있듯이

부모가 컴퓨터이고, 자녀가 개발자라면 어떻게 해야 정답을 찾을 수 있을까? 란 의문점이 생기기 마련입니다.

 

프로그래밍은, 이러한 해답을 찾기 위해 존재합니다.

 

 

 

프로그래밍(Programming)이란?

  • 의미가 함축적인 인간의 언어와는 달리, 컴퓨터의 언어는 명확성이 반드시 보장되어야 합니다.  
    • 샌드위치를 만들기 위한 레시피는 다음과 같은 구체적이고 명확한 내용의 작성이 필요합니다.
      • 땅콩잼을 식빵에 바른다 (X)
      • 땅콩잼 뚜껑 열고 ➟ 나이프에 땅콩잼 10g을 묻이고 나이프를 빵의 단면에 바르고   (O)
  • 따라서 프로그래밍이란, 개발자가 컴퓨터를 활용해 원하는 출력(결과)을 얻기 위한 일련의 지침입니다.

 

 

 


 

 

 

간략하게 프로그래밍에 대한 개념을 알아보았습니다.

 

다음 포스팅에서는

컴퓨터와 개발자가 소통하는 매개, 프로그래밍 언어에 대하여 살펴보겠습니다.

 

 

 

 

댓글