티스토리 뷰

프로그래밍이란? 프로그래밍 언어란?

프로그래밍(Programming)이란 말 그대로 프로그램을 만드는 일인데 이 프로그램은 컴퓨터에서 동작하는 즉, 컴퓨터가 이해하는 것으로, 컴퓨터에게 일을 시키기 위한, 사람이 원하는 작업을 컴퓨터가 하게 만드는 목적으로 만드는 것을 프로그래밍이다. 

 

컴퓨터는 일을 잘한다. 잘 지치지도 않고 꽤 빠르게 일을 할 수 있다. 하지만 정확한 명령을 받아야만 일을  할수 있다.

집을 고치고 있다고 가정해보자.

못을 박기 위해 망치가 필요한 상황인데 옆에 있던 큰아이에게 "창고에 가서 망치가지고 와"라고 얘기하면 아이는  창고가서 망치를 가지고 올 것이다. 

하지만 컴퓨터에게 "창고에 가서 망치가지고 와"라고 얘기하면 아무반응도 없을 것이다.  왜냐하면 정확하지 않기 때문이다.  컴퓨터에게는 "자리에서 북쪽으로 몇 미터, 서쪽으로 몇 미터가 가서, 문을 옆으로 밀고, 몇 미터 직진하여 창고에 들어간 다음 선반 위에서 3번째에 있는 망치를 가지고..." 라고 명령해야 컴퓨터가 업무를 수행할 수 있다. 

프로그래밍이란 컴퓨터에게 정확하게(작업순서나 오류없이) 움직이도록 하는 프로그램을 만드는 일이다. 코드를 짜는 일이라고 해서 코딩(Coding)이라고도 한다.

 

프로그래밍 언어(Programming Language)는 컴퓨터와 소통하기 위한 언어이다.

컴퓨터는 우리가 말하는 언어를 알아들을 수 없다.

컴퓨터에게 일을 시키기 위해서는 0과 1로 이루어진 언어(=기계어)로 지시(프로그래밍)해야 하지만 쉬운일이 아니다. 그래서 사람들이 좀더 쉽게 프로그래밍 하도록 프로그래밍 언어(Programming Language)가  만들어졌는데 프로그래밍 언어로 컴퓨터에게 지시를 내리면 기계어로 변환하여 컴퓨터가 알아 들을 수 있게 하는 것이다.

 

파이썬을 선택한 이유

초보자도 배우기 쉬운 언어이다.

파이썬은 그 점에서 가장 좋은 평을 받고 있다. 아직 배움이 부족한 상황에서 어떤 프로그래밍 언어가 쉬운지는 알수가 없으나, 문법이 매우 쉽고 간단해서 비전공자-일반일 등 초보자들이 처음 프로그래밍을 배울때 추천되는 언어이다. 

 

전세계적으로 많은 개발자들이 사용하는 언어이다.

우리가 영어를 제1외국어로 배우는 이유는 전세계적으로 많은 사람들이 사용하는 언어이기 때문이다. 파이썬의 경우에도 가장 많은 개발자들이 사용하는 언어이다. 따라서 많은 개발자들이 라이브러리(누군가가 개발해 놓은 프로그래밍 도구모음)를 이미 개발해 두었기 때문에 나는 그것을 이용해서 좀 더 손쉽게 프로그래밍을 할 수있다. 누군가 많들어 놓은 성과를 밟고 올라서야 쉽게 높은 곳에 올라 갈수 있다.(내가 개척자일 필요는 없다.) 생산성이 높은 언어이다.

 

활용성이 다양하다.

파이썬은 인공지능, 업무자동화, 빅데이터 분석, 사물인터넷, 웹크롤링, GUI 프로그래밍 등 다양한 분야에 활용되는 범용성이 높은 언어이다. 배우기 쉬운 프로그래밍 언어라도 내가 하고자 하는 것에 사용하지 못한다면 당연히 배울 필요는 없다. 영어가 전세계 어디서든 사용가능한 언어인것과 마찬가지로 파이썬도 다양한 분야에 활용되고 있다.  

 

내가 하고자 하는 것

스마트스토어 운영차원에서 특정 쇼핑몰의 정보(사진, 이미지, 속성)가 필요한 상황이였는데 그때마다 크롬창을 두개 띄워놓고 수동으로 정보를 끍어오는 일이 너무 많은 시간이 필요했다. 그래서 외부개발자를 통해 프로그램을 만들었는데 URL만 입력하면 쇼핑몰의 정보들을 CSV파일로 저장을 해주는 프로그램이었다.

나만의 웹스크래핑(또는 크롤링) 프로그램인것이다.

 

하지만 이 프로그램은 특정 쇼핑몰만 가능하고 타 쇼핑몰의 정보를 긁어오는 건 불가능한 프로그램이다. 왜냐하면 쇼핑몰보다 다른 방식으로 구축되어 있어서 소스코드를 수정해야 했다. 타 쇼핑몰에도 활용하기 위해서는 외부개발자에게 소스코드를 제공받아(개발비용의 30%를 추가 요구했다) 내가 수정하거나, 추가 비용을 들여 수정을 의뢰하는 방법, 마지막으로 프로그래밍을 공부해서 내가 프로그램을 만드는 방법이다.

 

나는 마지막 방법을 선택하기로 했다. 비용이 들더라도 외부개발자에게 의뢰하면 프로그래밍을 배울 필요가 없겠지만 장기적으로 봤을때는 직접 개발하는게 올바른 방향이라고 생각되었다. 확장성도 있다고 판단했다.(스마트스토어를 위한 프로그램 이후에는 웹페이지 구축, 앱개발까지 하고 싶다.)

 

나는 파이썬을 통해 웹스크래핑(웹크롤링)+GUI 프로그래밍, 업무자동화, 웹페이지 구축, 앱개발을 하고자 한다.