프로그래밍은 왜 배워야 하나요?

프로그래밍은 왜 배워야 하나요?

“문수야! 동생 컴퓨터 공부 좀 알려줘라”

이모가 나보고 컴퓨터공학과 아니냐며, 동생 공부 좀 시키라고 뭐라 하신다. 스크래치(MIT 미디어 연구소에서 만든 컴퓨터 프로그래밍 관련 교육 프로그램)를 처음 배운 사촌동생이 이모를 괴롭히다가 나한테 왔다. “형 컴퓨터는 왜 배우는 거야. 하나도 재미없어” 알았어 알려줄게, 컴퓨터.. 아니 프로그래밍을 왜 배워야 하는지 말이야.

프로그래밍은 왜 배워야 하나요?

앨런 튜링의 고민

컴퓨터과학의 선구자인 앨런 튜링의 고민을 엿보자, 앨런 튜링은 어려운 수학 문제를 자동으로 해결할 수 있는 가상의 기계를 만들 수 있을지 고민했다고 해 그래서 자기 집에서 일하는 가정부에게 어려운 수학 문제를 풀 수 있게 하려면 어떻게 할지를 고민하고 문제를 매우 잘게 쪼개서 단순한 판단만 하더라도 해결할 수 있게 만들었다고 해, 이를 가정부에게 순서대로 따 라 하도록 했더니 가정부는 그 수학 문제를 풀었다고 하더라!

이렇게 사람이 해결하는 문제 해결 과정을 기계가 처리할 수 있는 수준까지 잘게 쪼개서 순서대로 나열한다면 기계가 문제를 자동으로 처리할 수 있겠지? 이렇게 문제를 해결하기 위해 순서를 정한 것을 알고리즘이라고 해

소프트웨어를 만드는 프로그래밍

하지만 컴퓨터는 막상 뭘 해야 하는지 알려주지 않는다면 아무것도 하지 못해, 컴퓨터가 무엇을 어떻게 해야 하는지 알려 주는 것이 소프트웨어야. 소프트웨어도 이미 우리 생활 속에 존재해, 냉장고 같은 가전제품부터 엘리베이터, 자동문 역시 소프트웨어가 사용되고 있지. 컴퓨터를 움직이게 하는 건 소프트웨어라는 걸 알겠지?

프로그래밍과 마법을 비교해보기

네가 학교에서 배우고 있는 건 바로 소프트웨어를 만드는 거야. 음식을 만들기 위해서 요리를 배우듯이, 소프트웨어를 만들기 위해서는 프로그래밍을 배워야 하는 거지! 오늘 학교에서 배운 ‘스크래치’는 프로그래밍 언어라는 거야. 돈이 생기는 마법에 비유해볼까? 우선 마법 책(알고리즘)을 통해서 어떻게 하면 돈이 생길 수 있는지 공부하고, 마법사들이 사용하는 외계어(프로그래밍 언어)를 이용해서 주문을 만들어, 그리고 지팡이를 휘둘러서 주문을 외우면(코딩) 돈이 생기는 거지(소프트웨어)!

프로그래밍을 배우는 이유

알고리즘(문제 해결 순서도)이 프로그래밍 언어(컴퓨터 언어)를 통해 표현되고(이 과정을 ‘프로그래밍’ 또는 ‘코딩’이라고 하지) 소프트웨어를 만들어서 컴퓨터에 적용하면 우리가 해결해야 할 문제는 컴퓨터에 의해 자동으로 해결되겠지? 즉 프로그래밍을 배우는 이유는 컴퓨터의 도움을 받아서 문제를 해결하기 위해서야. 예를 들어서 기말고사 시험을 치고 평균을 계산해야 된다고 해보자. 스프레드시트에 각 과목 이름과 점수를 입력하고 간단한 함수를 이용하면 기말고사 평균을 계산할 수 있겠지. 그런데 이 과정을 알고리즘으로 만들고 프로그래밍해서 프로그램으로 만들면 다른 친구들도 자기 성적을 쉽게 만들 수 있겠지. 프로그래밍을 통해서 나만이 아니라 다른 사람들도 편하게 해줄 수 있는 거지. 이건 어떤 사람의 머릿속에만 있던 생각을 꺼내서 누구나 볼 수 있도록 만들어준 셈이야.

프로그래밍은 왜 배워야 하나요?

즉 프로그래밍은 우리의 생각을 표현할 수 있는 창작 활동이야. 웹툰 작가가 태블릿에 재미있는 웹툰을 그리는 것, 작곡가가 여러 가지 악기로 아름다운 멜로디를 만드는 것, 소설가가 상상력으로 재미있는 이야기를 만드는 것과 같이 말이야. 형은 사람들이 편하게 사용하는 소프트웨어를 개발하기도 하고 웹 사이트를 통해 나만의 세상을 만들곤 해.

프로그래밍은 개발자만 하는 게 아니라 누구라도 관심만 있다면 할 수 있어. 게임을 프로게이머만 하는 것이 아니라 취미로 많은 사람들이 즐기는 것처럼 말이야. 또 프로그래밍은 다양한 분야에서 이용되고 있어 과학자들이 실험을 하기 위해서 프로그램을 만들기도 하고, 예술가들이 컴퓨터를 이용한 작품을 만들기도 하지, 우리 주위의 수많은 일들이 프로그래밍을 통해 해결되고 있고, 우리도 얼마든지 프로그래밍을 배울 수 있어, 프로그래밍을 왜 배워야 하는지 이제 알겠지?

 

글: 삼성SDS 대학생 기자단 8기 김문수
삼성SDS 대학생 기자단 8기 김문수-삼성SDS 대학생 기자단 8기-ICT기술/대학생 트렌드 등 다양한 소식들을 대학생 관점에서 취재하여 SNS를 통해 삼성 SDS와 세상을 이어주는 역할을 하고있습니다.