[아두이노 강좌] 2. 아두이노 프로그래밍의 기초
프로그래밍이 뭐지?
프로그래밍은 프로그램을 만드는 과정을 말합니다. 그렇다면 프로그램이란 무엇일까요? 프로그램은 일의 순서(과정)을 말합니다. 한가지 프로그램을 예로 들어볼게요.
그림1. 청소 프로그램의 예
위의 그림1은 청소하는 과정을 그림으로 나타낸 것이며, 이 또한 프로그램 중 하나라고 할 수 있습니다. 우리가 스마트폰이나 컴퓨터에 사용하는 인터넷, 게임 등의 프로그램은 컴퓨터를 통해 제작하는 '컴퓨터 프로그램'이며, C언어, 파이썬 등의 '프로그래밍 언어'를 사용하여 만들 수 있습니다.
프로그래밍 언어란, 사람과 컴퓨터가 소통하기 위한 언어를 말하며, C언어, 파이썬, Java, 블록형 언어 등 많은 언어들이 존재합니다. 각 언어들은 사용 난이도나 사용목적, 범위 등이 모두 제 각각이랍니다. (우리가 배울 아두이노는 C, C++기반의 언어를 사용해요!) ps. 영어, 중국어, 일본어 등이 있듯이 프로그래밍 언어도 같은 맥락이라고 생각해봐요! ^^ 하드웨어와 소프트웨어란?
예를 들자면, 컴퓨터 본체는 하드웨어이고, 컴퓨터에서 실행되는 게임 프로그램, 인터넷 프로그램, 휴지통 프로그램 등은 소프트웨어에 해당되요. 다른 예로 스마트폰이 하드웨어, 어플리케이션이 소프트웨어라고 할 수 있죠. 이 처럼 눈에 보이고 만질 수 있는 것들을 하드웨어라고 하며, 눈에 보이지 않는 명령어의 모음(프로그램)을 소프트웨어라고 할 수 있어요. 우리가 앞으로 배울 아두이노 또한 하드웨어에 해당되며, 이 안에 소프트웨어 (프로그램)를 입력함으로써 아두이노(하드웨어)를 작동시킬 수 있답니다.
정리하기
프로그램 : 일의 순서(과정) 프로그래밍 : 프로그램을 만드는 과정 프로그래밍 언어 : 컴퓨터와 소통하기 위한 언어, 프로그램을 만들 때 사용. 하드웨어 : 기계, 로봇과 같이 만질 수 있는 것. 소프트웨어 : 실체가 없는 프로그램.
프로그래밍 배우기
프로그래밍 공부는 물리적인 공간이나 자원에 제약이 없으며, 인터넷이나 책 등을 통해 어렵지 않게 접근할 수 있습니다. 하지만 프로그래밍을 처음 접하게 되면 외계어 같이 생긴 프로그래밍 언어가 두려울 수도 있고, 수 많은 프로그래밍 언어 중 어떤 언어를 배워야할 지 , 그리고 어떤 방법으로 공부해야할지 막막하기만 하죠. 그렇기 때문에! 프로그래밍을 시작 하기전에 알아야할 기초적인 부분에 대해 간략하게 설명해보도록 하겠습니다.
프로그래밍 언어의 종류 및 특징
프로그래밍 언어는 사람과 컴퓨터의 의사소통을 가능하게 해주는 언어입니다. 우리는 컴퓨터에 'A'를 입력하지만 사실 컴퓨터는 이를 1과 0으로된 기계어로 인식하죠. 이렇게 1과 0뿐이 사용하지 않는 컴퓨터에서 프로그램을 제작하기란 쉽지가 않습니다. 그래서 만들어진 것이 C, C++, Python, 엔트리, 스크래치 등등과 같은 프로그래밍 언어입니다. 수많은 프로그래밍 언어들이 존재하며, 각 언어들은 특징과 장단점이 있습니다. 그리고 그에 맞는 분야에서 사용되고 있죠. 여기서는 프로그래밍 언어중 가장 많이 사용되고 있는 C, Java, Python에 대해 간략하게 설명해보도록 하겠습니다.
C언어는 오늘날 영어와 같은 위치를 차지하고 있는 프로그래밍 언어입니다. 실질적으로 모든 컴퓨터 시스템에서 사용할 수 있는 언어이지만, 그 만큼 배워야 할 영역이 굉장이 넓죠. C언어는 빠른 연산속도를 자랑하며, 운영체제 및 디바이스 드라이버, 마이크로 컨트롤러 임베디드 프로그래밍 등에 사용되고 있습니다. 프로그래밍의 거이 모든 영역에 걸쳐 도움이 되지만 관련 지식 범위가 넓기 때문에 모두 배우기란 참 어렵죠. 하지만 기초부터 차근차근 배우고 싶다면 C언어로 프로그래밍을 시작하는것도 나쁘지 않습니다. 본 매뉴얼에서 소개할 아두이노 플랫폼은 C, C++ 기반의 언어를 사용하므로 우리가 배울 언어이기도 합니다. (C++ 언어는 C에서 객체 지향형 언어로 발전된 언어입니다.)
짜여진 순서 위주로 작동하지만, Java는 절차 지향적 언어와는 다르게 각각의 구성요소 (객체)가 중심이 되어 동작하는 언어입니다. 쉽게 말해 C언어는 처음부터 끝까지 대부분의 코드가 연결되어있지만, Java는 덩어리(객체) 몇개를 이어 붙인 느낌이랄까요? ㅎㅎ.
Java는 안드로이드 앱 개발이나 응용 프로그램 영역에서 주로 사용되고 있으며, 높은 생산성과 호환성을 자랑합니다. 앱 개발 혹은 응용 프로그램 개발에 관심이 있다면 Java로 프로그래밍을 입문하는것도 나쁘지 않은 선택입니다. ^^
언어로 많이 추천되고 있는 프로그래밍 언어입니다. 실제로 국내의 많은 대학에서도 입문용 언어로 많이 사용되고 있습니다. 파이썬의 장점은 전체적으로 코딩해야하는 C언어와 다르게 한줄, 한줄 언어를 작성, 실행할 수 있다는 것입니다. 이러한 장점으로 인해 개발 시간이 매우 단축되는것이 특징입니다. 하지만 단점으로는 타 언어에 비해 연산속도가 느리며 복잡한 프로그램을 만들기에는 적합하지 않다는 평이 있습니다. 비교적 쉽게프로 그래밍을 배우고 쉽다면 파이썬으로 프로그래밍을 입문해봅시다!
..ps. 이러니 저러니해도 우리가 아두이노를 배우며 사용할 언어는 아두이노(C,C++기반의) 언어입니다. 아두이노를 배우다보면 자연스레 프로그래밍의 기초와 C,C++언어에 대한 기초도 배울 수 있을겁니다. 본격적인 프로그래밍은 차차 진행해보기로 하며, 이번글은 여기서 마치도록 하겠습니다. ^^
링크바로가기: https://smartstore.naver.com/mechasolution_com/products/2855891646
|