이 글은 개발에 대한 프로그래밍 지식을 공부하기에 앞서, 프로그램은 무엇이고, 프로그래밍은 또 무엇인지 알아보기 위한 개발을 위한 프로그래밍 지식의 모음집입니다. 어느정도 개념에 대해서 알고 넘어가면 좋지 않을까 싶어서 작성하는 글이 될 듯 합니다. 이 글은 앞으로 작성될 가이드들의 첫 글에 링크될 것 같습니다.
우리는 사실 프로그래밍이 뭐하는 것인지만 알면 됩니다. 그리고 프로그램이라는 것이 어떻게 돌아가는지만 알면 되죠. 하지만 우리는 이것들이 왜 탄생하게 되었는지도 간단하게 알아볼 겁니다. 컴퓨터의 역사를 살짝 들여다보고 여기서부터 나타나게 되는 프로그램과 프로그래밍 언어에 대해 알아보는 시간을 가질 겁니다. 이것들 역시 지식이 될 수 있기에 한 번 재미삼아 알아보는 겁니다.
중요한 것은 이것은 강의가 아니라는 것입니다. 제가 공부를 하기 위해 모아놓은 지식들이고 틀린 정보가 들어있을 수도 있습니다. 이 경우엔 발견하는 족족 새롭게 고칠 예정입니다. 아무튼, 저와 함께 공부를 한다는 것에 의의를 두시면 됩니다. 이 글을 보는 사람들이 없어도 저는 이 블로그를 공책삼아 계속 기록해 나아갈 겁니다.
목차
- 컴퓨터와 프로그램
- 웹과 프로그래밍
개발의 첫걸음
위의 지식들은 개발을 하기에 앞서 알아보는 사전 지식입니다. 이제부터는 본격적인 개발을 위한 공부를 진행해야합니다. 프로그래밍 언어는 많고 다양한 프로그래밍 분야가 있습니다. 게임을 개발하는 분야도 있고 윈도우 프로그램을 개발하는 분야도 있고 스마트폰의 발달로 인해서 생겨난 안드로이드 프로그래밍, iOS 프로그래밍도 있습니다.
여러분이 어떤 분야의 프로그래밍을 하려고 하는지에 따라 배우면 좋은 언어들은 달라집니다.
웹 개발
이 블로그에 준비되어 있는 것은 현재는 웹 프로그래밍 분야이고 점점 늘어날 겁니다. HTML, CSS, 자바스크립트가 기본적인 웹 프로그래밍에 쓰이는 언어들입니다. 웹 프로그래밍은 점점 발전하고 있어서 사용자와 웹 페이지간의 커뮤니케이션을 통해 다양하게 변화하는 다양한 웹 프로그램을 만들어낼 수 있습니다. 웹을 통해서 서비스하는 무언가를 구상하고 있다면 웹 개발을 배워야 합니다.
앱 개발
안드로이드나 iOS에서 사용할 어플을 개발하는 언어로는 자바나 코틀린이 압도적으로 유명하고 데이터가 많습니다. 물론 만드는 게 모바일용 게임이라면 아래의 게임 개발의 영역입니다만은 그게 아니라면 자바나 코틀린을 배워 안드로이드 개발을 할 수 있고 **스위프트(Swift)**를 이용해 iOS 개발을 할 수 있습니다.
게임 개발
유니티 엔진과 언리얼 엔진을 필두로 세상에는 다양한 게임 엔진이 있습니다. 게임 엔진에 따라서 개발할 수 있는 언어도 천차만별이지만 일반적으로 게임 개발이라고 하면 C, C++, C#이 압도적으로 점유율이 높습니다. 게임 엔진과 함께 해당 언어들을 같이 배워보는 것도 좋을 것 같습니다. 물론 사용하는 게임 엔진에 따라 달라진다는 점은 다시 한 번 알려드립니다.
윈도우 개발
윈도우 프로그램을 개발하는 언어로는 자바, 파이썬, C, C++, C#, 자바스크립트 등이 있습니다. 더 많은데 자바스크립트로도 윈도우 프로그램을 개발 할 수가 있다는 것이죠. 다소 정보가 부족해서 문제일 뿐.. 아무튼 윈도우 프로그래밍에 관심이 있다면 해당 언어들이 지원해주는 윈도우 개발을 위한 라이브러리 같은 걸 찾아보면 될 것 같습니다.
이것들 외에도 다양한 프로그래밍 분야가 있고 선택지는 많습니다. 이 블로그에서는 저것들 중에서 웹 개발을 중점으로 다룹니다. 웹 개발을 시작하고 싶으신 분들은 일단 HTML부터 함께 달려보는 게 좋을 것 같습니다. 웹 개발을 위한 HTML 가이드 모음을 참고해보세요! (아직 목록의 내용을 하나 하나 채워가는 중입니다.)