SW 배움터

프로그래밍 언어, 무엇부터 배워야 하나?

kusson 2017. 3. 27. 17:26
반응형
728x170

 

프로그래밍 언어란 무엇인가?

 

 우리가 생각하는 프로그램이라고 하면 보통 컴퓨터나 스마트폰등 전자기기에서 작동하는 프로그램을 말합니다. 그 외 수많은 전자기기에서 작동하는 SW도 프로그램의 일종이긴 합니다.

 그러나 프로그래밍 언어라고 하는 것은 종류가 헤아릴 수 없을 정도로 많고 또 사용하는 환경도 모두 다릅니다. 때문에 프로그램 공부를 한다는 것은 먼저 어떤 환경에서 작동하는 프로그램인가 하는 것부터 결정해야 합니다. 그런 다음 그 환경에서 사용하는 프로그램 언어 중 가장 인기 있는 언어를 선택해서 하나씩 공부해 나가면 될 것입니다. 그래서 각각의 환경에 따라 사용하는 언어를 정리해 보고 어떤 것을 공부할 것인지를 생각해 보겠습니다.

 

프로그래밍 언어의 종류

 

 프로그래밍 언어의 종류는 수없이 많기 때문에 초보자가 무엇부터 배워야 할 것인지를 정하는 것은 아주 힘들 것입니다. 그러나 내가 무엇을 만들고 싶은지 또 그것은 어디에서 작동하는 것인지를 정하고 나면 어떤 프로그래밍 언어를 배워야 하는 것은 좀 더 수월하게 결정할 수 있을 것입니다.

 프로그램이 쓰이는 환경, 장소는 보통 3가지 이내입니다. 바로 일반 컴퓨터, 인터넷, 스마트폰/태블릿입니다. 물론 세탁기나 TV등 온갖 전자제품 속에 쓰이는 펌웨어 레벨의 환경도 있지만 프로그램을 처음 공부하는 입장에서는 위에서 예로 든 3가지 환경을 생각하는 것이 보통이고 그기에 숙달된 사람이라면 먼 훗날 가전제품의 드라이버를 제작한다든지 OS를 직접 프로그래밍 해 보는 것도 가능하겠지만 처음은 위 3가지에서 시작하도록 하겠습니다.

 

 

컴퓨터에서 움직이는 프로그램들

 

 먼저 가장 기본이라고 할 수 있는 것이 컴퓨터에서 움직이는 프로그램입니다. 컴퓨터용 프로그램은 대부분 각각의 컴퓨터에서 직접 실행시킬 수 있는 명령으로 컴파일되어 있습니다. 따라서 컴퓨터의 OS가 다르면 프로그램이 작동하지 않는 경우가 대부분이므로 만들 때도 어떤 OS에서 움직이는 프로그램인지를 미리 생각해야 합니다.

 

컴퓨터용 프로그래밍에서 사용되는 언어의 종류는 다음과 같습니다.

1) C

2) C++

3) Objective-C

4) BASIC

5) Swift

6) C#

7) Java(Java SE)

 

인터넷에서 움직이는 프로그램들

 

 인터넷에서 움직이는 프로그램이란 보통 웹 사이트 프로그램입니다. 지금은 컴퓨터용 언어를 사용하는 사람보다 웹사이트용 프로그래밍 언어를 사용하는 사람이 많은 편입니다.

웹은 수시로 업데이트를 해야 하는데, 그때마다 프로그램을 수정해야 한다면 사용하기 아주 불편할 것입니다. 따라서 컴파일러 언어는 사용하기 힘들고 수정한 한 줄씩 만 컴파일 하는 인터프리터 언어가 대부분입니다.

인터넷을 사용하는 일반인도 사용해야 할 경우가 많으므로 사용법도 간단한 편입니다.

 

인터넷용 프로그래밍에서 사용되는 언어

1) HTML, XML

2) JavaScript

3) PHP, Perl, Ruby, Python 등 스크립트 언어

4) Java(Java EE)

5) .NET 관련 언어(C#, Visual Basic.Net)

 

 

스마트폰/태블릿에서 움직이는 프로그램들

 

 지금은 인터넷이나 디지털 콘텐츠를 이용할 때 컴퓨터보다 스마트폰을 더 많이 쓰는 추세입니다. 또 많은 사람들이 컴퓨터용 앱보다 스마트폰이나 태블릿용 앱을 더 많이 다운받아 쓰고 있습니다. 또 스마트폰 제조사에서는 ‘OS 전쟁이 벌어지고 있습니다. 컴퓨터의 경우 마이크로 소프트사의 Windows와 애플사의 Mac과의 전쟁이지만 스마트폰의 경우는 구글의 Android 대 애플의 iOS와의 싸움입니다. 그 외에 Windows Phone 이나 Firefox Os와 같은 것도 소수이지만 존재하고 있습니다. 그러나 기본적으로 Android iOS (iphone이나 iPadOS)2강 체제라고 생각해도 무리는 없을 것입니다. 이 두 OS는 전혀 호환이 되지 않아 프로그래머들은 두 회사의 언어를 다 익혀야 하는 어려움이 있습니다. Android용 앱은 iOS에서 돌아가지 않고, iOS의 앱도 Android에서는 돌아가지 않습니다. 물론 내부 구조도 전혀 다르므로 Android는 구글에서 제공하는 Android용 자바를 사용하고 iOSObjective-CSwift를 사용해서 개발해야 합니다. 이 점을 잘 기억해 두기 바랍니다. 또한 ‘HTML + JavaScrip’로도 앱을 개발 할 수 있습니다.

 

스마트폰/태블릿용 프로그래밍에서 사용되는 언어

1) Java(Android)

2) Objective-C , Swift(iOS)

3) HTML, JavaScript(전용 개발 소프트웨어 사용 시)

 

 

C와 C++언어의 차이점

1. 헤더파일이 c에서는 stdio.h이지만, C++에서는 iostream.h이다.

2. 출력함수가 C에서는 printf지만, C++에서는 cout이다.

3. 입력함수가 C에서는 scanf지만, C++에서는 cin이다.

4. 파일확장자가 C에서는 .C이지만, C++에서는 .CPP이다.

5. C는 절차지향 언어지만, C++는 객체 지향 언어이다.

6. C++에는 C에서는 없던 Class/Object 개념, 연산자 중복, 가상함수등의 기능이 추가되었다.

7. C++는 객체 지향 프로그래밍을 완전하게 지원하며 객체 지향 개발의 네 가지 중심인 캡슐화(encapsulation), 데이터 숨김(data hiding), 상속(inheritance), 그리고 다형성(polymorphism)을 모두 포함하고 있다.

 



객체지향과 클래스

 

반응형
그리드형