본문 바로가기

안드로이드앱 코딩_AndroidApp/안스_코틀린_쪼개기

파편004_코딩 첫 경험자가 선택하면 좋은 프로그래밍 언어

컴퓨터에서 사용하는 모든 프로그램은 프로그래밍 언어라는 것으로 만들어져 있다.

이 프로그래밍 언어로 코드를 작성하면 프로그램이 만들어진다.

이렇게 하는 것을 흔히 '프로그램을 짠다'라고 말한다.

 

프로그래밍(코딩)을 할 수 있는 언어는 수 백 종류가 넘는다.

전 세계 국가별로 언어가 있는 것과 비슷하다.

하지만 코딩 언어에도 인기 있는 언어가 있고 시대에 따라 유행하는 언어가 있다.

 

2020년 현재 가장 인기 있는 언어 중 대표적인 것은 1등 Java , 2등 C , 3등 Python 등이 있다.

나 처럼 코딩 무경험자는 어떤 언어를 처음 선택해서 배우는 것이 좋을까?

이것 저것 알아보니 코딩 언어는 인기있는 언어를 배우는 것도 좋지만 그것 보다 더 중요한 것은 어떤 용도로 사용할 것인지가 선택의 기준이 되어야 하는 것 같다. 즉, 배우는 목적에 맞는 언어를 고르는 것이 중요하다는 말이다.

 

대표적인 프로그래밍 언어의 용도를 알아보자.

 

Java(자바)

 

이 언어는 메모리 관리를 자동으로 해 준다고 한다.

일단 골치 아픈 부분은 해소된 것 같다.

단점은 다른 언어에 비해 코드 길이가 많다고 한다.

가장 많이 사용하는 언어로는 세 손가락 안에 드는 언어이기도 하다.

 

프로그램과 관련한 여기 저기에 사용하지 못하는 곳이 없는 가장 대중적인 언어이다.

즉, 팔방미인이라는 뜻이다.

코틀린은 이 자바에서 파생된(개량된) 언어이다.

자바의 문제점을 보완하고 현대적 추세에 맞는 언어 구조를 지향하는 언어이다.

 

C (씨)

 

이 언어는 1970년 경에 만들어 졌다.

거의 유물 수준이지만 발전한 형태의 C++(씨플러스플러스)라는 언어와 함께 지금도 많이 사용하는 언어의 상위에 속한다고 한다.

 

처음에는 컴퓨터를 작동시키는 운영체제(윈도우즈, 리눅스 등)를 제작 하기 위한 목적으로 만들어졌다고 한다.

운영체제는 컴퓨터 부품과 사용자를 연결하는 역할을 하므로 C 언어는 컴퓨터 부품을 직접 조정할 수 있는 기능이 핵심이다. 

그 중에서 메모리 관리를 직접 할 수 있는 기능도 있다고 한다.

그래서 C 언어는 메모리가 많이 없는 환경에서 효율적으로 프로그램을 짜야 하는 곳에 적합한 언어다.

예를 들면 'Embedded(임베디드; 내장형) 시스템'의 프로그래밍이다.

임베디드 시스템은 어떤 목적에 맞게 컴퓨터 칩들이 이미 만들어진 상태를 말한다.

게임기나 드론, 장난감 같은 것들이다.

 

이런 시스템의 전체가 제대로 작동할 수 있도록 코딩한다는 것은 컴퓨터 칩과 메모리 뿐만 아니라 컴퓨터에 대한 많은 지식이 필요하므로 초보자에게는 적합하지 않다는 걸 직감할 수 있을 것이다.

 

 

Python(파이썬)

 

근래 들어 가장 인기있고 대중화 되고 있는 언어 중 하나이다.

핫한 이유는 반드시 있기 마련이다.

파이썬은 언어의 구조가 엄청 간단하다고 한다.

 

메모리를 직접 관리할 필요도 없고 메모리 주소 관리에 사용하는 Pointer(포인터)를 쓸 필요도 없고 자바나 코틀린에서 사용하는 Type(타입)을 정해 줄 필요도 없다고 한다. 그래서 다른 언어에 비해 공부하기가 쉽다고 한다.

또한 자바 처럼 다양한 곳에서 사용할 수 있다.

 

나도 처음에는 파이썬을 배우기 시작했는데 앱 게임을 만들기 위해 안드로이드 스튜디오를 결정하면서 지원하는 언어인 코틀린과 자바로 방향을 바꿨다. 그러므로 안드로이드 스튜디오를 사용하지 않는다면 초보자 또는 전공하지 않은 사람은 파이썬이 좋은 대안이 될 수 있는 것 같다. 특히 최근에 중요도가 높아지고 있는 인공지능이나 데이터 과학 분야에서 파이썬을 많이 사용한다고 한다.

 

여기까지 현재 사용하고 있는 프로그래밍 언어 중에서 세 손가락에 드는 언어에 대해 초간단으로 알아 보았다.