본문 바로가기

Code.D IT 강좌/ETC

프로그래밍을 배우자, 프로그래밍 언어


이번에 국비지원으로 약 6개월 동안 컴퓨터 학원에서 웹/앱에 대해 배우게 될 예정입니다. 저는 컴퓨터에 '컴'자도 모르는 비전공자이기에 교육과정에 존재하는 JAVA(?) JAVA SCRIPT(?)가 무엇인지도 모릅니다. 그래서 학원에서 본격적으로 배우기 전에 미리 공부를 조금 해보려고 합니다. (프로그래밍이 무엇인지, JAVA가 무엇인지 기초적인 개념조차 없습니다.) 앞으로도 학원에서 배운 내용을 복습할 겸 정리하여 포스팅 하려고 합니다. 가장 먼저 어떤 포스팅을 올려야 좋을지 고민하다가 이것을 배우려는 목적, 프로그래밍에 대한 용어 정리를 해보려고 합니다. 제가 앞으로 올리는 포스팅 내용 중에 틀린 부분이나 다른 의견이 있다면 언제든지 비판 또는 의견을 제시해주세요. 겸허히 받아들일 준비가 되어있습니다.








프로그래밍을 배우려는 목적




1. 웹페이지

저는 스타트업을 꿈꾸고 있는 대학생입니다. '유통'관련 사업을 꿈꾸고 있는데 제가 생각하는 사업을 이루기 위해선 웹페이지 제작이 필수라고 생각했습니다. 웹페이지를 개발할 수 있는 개발자를 구하면 되긴 하지만 스타트업은 자본이 없습니다. 그리고 마음 맞는 개발자를 찾기란 더욱 쉽지 않고요. 사업 초기에 제작하게 될 웹페이지를 개발자에게 의지하기가 싫었습니다. 스타트업 초기에는 모든 멤버가 개발자가 되어야 하고 마케터가 되어야 하고 경영자가 되어야 한다고 생각합니다. 멀티플레이어가 되어야 하는 거죠. 회사가 어느 정도 안정된 상태까지 큰 뒤에 개발자에게 맡기면 몰라도 스타트업 초기에는 멤버 스스로 할 수 있는 것은 해보고 싶었습니다. 개똥같은 고집이죠. 그래서 6개월의 교육 동안 웹페이지를 만들 수 있는 '기술'을 가지기를 원합니다.






2. 개발자와 원활한 의사소통

나중에 사업을 운영함에 있어 개발자와의 의사소통에 차질이 생기지 않도록 프로그래밍에 대한 기초적인 개념은 필수적으로 다져야 한다고 생각했습니다.






3. 개발자에 대한 막연한 동경

스티브 잡스는 말했었죠. '모든 사람이 컴퓨터 프로그래밍을 배워야 한다. 코ㅌ딩은 생각하는 방법을 가르쳐주기 때문이다.' 언젠가는 꼭 배워보고 싶다는 생각이 막연히 들었고 코딩하는 사람들이 멋있어 보였습니다. 노트북 하나를 들고 카페에 앉아 코딩을 짜는 모습을 혼자 상상하며 개발자에 대해 막연하게 동경하고 있었습니다. 제가 6개월 동안의 교육을 통해 개발자로 거듭날지는 잘 모르겠습니다. 앞으로가 어떻게 변할지 모르겠지만 일단 배워보려고 합니다.







언어







1. 언어란 무엇인가?

사람과 사람사이의 의사소통을 가능케 해주는 수단뿐만 아니라 살아있는 모든 생명체, 심지어 기계(컴퓨터) 등의 광범위한 대상들이 서로 의사서통을 가능케 해주는 수단이 되기도 합니다.





2. 프로그래밍 언어

사람과 기계 또는 기계와 기계 사이의 약속된 것입니다. 위키백과에 의하면 1945년부터 2014년까지 프로그래밍 언어는 거의 매년 1개 이상 탄생한다고 합니다. 불과 2년 전인 2015년만 하더라도 프로그래밍 언어는 300개가 넘었다고 합니다. 그렇다면 지금은 그보다 조금 더 많이 탄생했겠죠? 이렇게 많은 언어 중에 개발자를 미치게 한다는 10가지만 골라 특징을 살펴보았습니다.





비주얼 베이직


그래픽 사용자 인터페이스를 사용해 윈도우 애플리케이션을 개발하는 데 주로 사용되는 프로그래밍 언어이자 통합 개발 환경입니다. 마이크로소프트가 초보자도 쉽게 사용할 수 있도록 만든 것으로, 그래픽과 드래그 앤 드롭, 코드 작성을 조합하여 애플리케이션을 구축합니다.




고수준의 다목적 인터프리트 언어로 "스위스 군용 칼", "인터넷의 강력 접착 테이프"로 통합니다. 펄은 CGI 스크립팅부터 시스템 및 네트워크 관리에 이르기까지 모든 분야에 사용됩니다.



자바


원래는 인터랙티브 텔레비전용으로 개발된 객체 지향 언어이며 현재 가장 널리 사용되는 것 중 하나입니다. 자바 코드는 바이트코드로 컴파일되며, 바이트코드는 각 플랫폼별 자바 가상 머신에 의해 인터프리트된다. 즉, 자바 프로그램은 "한 번 작성하면 어디서나 실행할 수 있습니다."



PHP


동적으로 HTML 페이지를 생성하기 위해 서버 측 스크립팅에 주로 사용되는 인터프리트 언어입니다. 또한 많은 운영체제에서 독립형 스크립팅으로도 사용할 수 있습니다.



C++


C의 확장으로 개발된 중간 수준의 것으로, 객체 지향 프로그래밍을 지원합니다. 지금도 가장 인기 있는 언어 중 하나이며 광범위한 시스템과 애플리케이션에 사용됩니다.



코볼


1959년에 처음 설계되었으며 주로 비즈니스 애플리케이션과 정부 관리 기능을 지원하도록 만들어진 코볼(COBOL: COmmon Business-Oriented Language) 레거시 시스템은 지금도 여전히 널리 사용되고 있습니다.



Tcl


Tcl(Tool Control Language)은 임베디드 명령으로 개발되었지만 웹 애플리케이션, 네트워크 관리 및 테스트 자동화와 같은 분야에 사용되는 범용 스크립팅 언어로 발전했습니다.



자바스크립트


넷스케이프에서 처음 개발한 인터프리트로, 주로 웹 페이지에서 클라이언트 측 스크립팅으로 사용됩니다. 서버 측 웹 스크립팅과 임베디드 스크립팅 언어로도 구현됐습니다.



랩뷰


랩뷰(LabVIEW: Laboratory Virtual Instrument Engineering Workbench)는 측정 및 제어 시스템에 사용되는 시각적인 데이터 흐름 프로그래밍 언어인 G를 위한 개발 환경입니다. 프로그래머는 랩뷰를 사용해서 "와이어"를 통해 기능 노드를 연결하여 실행을 확인합니다.



파이선


고수준의 다목적으로 만들어진 것으로 가독성을 장점으로 내세웁니다. 컴파일도 가능하지만 스크립팅 언어로 사용되는 경우가 많습니다.








오늘은 개발자를 미치게 하는 10가지의 언어에 대해 알아보았습니다. 개발자를 미치겠 했다는 것은 개발자가 사용해 보았다는 뜻이고 300개가 넘는 것 중에서도 10 손가락 안에 들었다는 것은 그만큼 많이 사용했다는 뜻이겠죠? 그래서 이렇게 포스팅 내용으로 다뤄봤습니다. 프로그래밍 관련 첫 포스팅이니 가볍게 하고 넘어가도록 하겠습니다. 각 언어에 대한 개념을 정리하였지만 무슨 소리인지 하나도 못 알아먹겠습니다 ^^; 다음에는 오늘 포스팅 한 내용 중 이해가 잘 되지 않는 부분에 대한 주제로 다시 찾아오겠습니다. 감사합니다 



참고

개발자를 미치게 하는 10가지 프로그래밍 언어 - Phil Johnson / ITworld.com