컴퓨터에서 사용하는 모든 프로그램은 프로그래밍 언어라는 것으로 만들어져 있다.
이 프로그래밍 언어로 코드를 작성하면 프로그램이 만들어진다.
이렇게 하는 것을 흔히 '프로그램을 짠다'라고 말한다.
프로그래밍(코딩)을 할 수 있는 언어는 수 백 종류가 넘는다.
전 세계 국가별로 언어가 있는 것과 비슷하다.
하지만 코딩 언어에도 인기 있는 언어가 있고 시대에 따라 유행하는 언어가 있다.
2020년 현재 가장 인기 있는 언어 중 대표적인 것은 1등 Java , 2등 C , 3등 Python 등이 있다.
나 처럼 코딩 무경험자는 어떤 언어를 처음 선택해서 배우는 것이 좋을까?
이것 저것 알아보니 코딩 언어는 인기있는 언어를 배우는 것도 좋지만 그것 보다 더 중요한 것은 어떤 용도로 사용할 것인지가 선택의 기준이 되어야 하는 것 같다. 즉, 배우는 목적에 맞는 언어를 고르는 것이 중요하다는 말이다.
대표적인 프로그래밍 언어의 용도를 알아보자.
Java(자바)
이 언어는 메모리 관리를 자동으로 해 준다고 한다.
일단 골치 아픈 부분은 해소된 것 같다.
단점은 다른 언어에 비해 코드 길이가 많다고 한다.
가장 많이 사용하는 언어로는 세 손가락 안에 드는 언어이기도 하다.
프로그램과 관련한 여기 저기에 사용하지 못하는 곳이 없는 가장 대중적인 언어이다.
즉, 팔방미인이라는 뜻이다.
코틀린은 이 자바에서 파생된(개량된) 언어이다.
자바의 문제점을 보완하고 현대적 추세에 맞는 언어 구조를 지향하는 언어이다.
C (씨)
이 언어는 1970년 경에 만들어 졌다.
거의 유물 수준이지만 발전한 형태의 C++(씨플러스플러스)라는 언어와 함께 지금도 많이 사용하는 언어의 상위에 속한다고 한다.
처음에는 컴퓨터를 작동시키는 운영체제(윈도우즈, 리눅스 등)를 제작 하기 위한 목적으로 만들어졌다고 한다.
운영체제는 컴퓨터 부품과 사용자를 연결하는 역할을 하므로 C 언어는 컴퓨터 부품을 직접 조정할 수 있는 기능이 핵심이다.
그 중에서 메모리 관리를 직접 할 수 있는 기능도 있다고 한다.
그래서 C 언어는 메모리가 많이 없는 환경에서 효율적으로 프로그램을 짜야 하는 곳에 적합한 언어다.
예를 들면 'Embedded(임베디드; 내장형) 시스템'의 프로그래밍이다.
임베디드 시스템은 어떤 목적에 맞게 컴퓨터 칩들이 이미 만들어진 상태를 말한다.
게임기나 드론, 장난감 같은 것들이다.
이런 시스템의 전체가 제대로 작동할 수 있도록 코딩한다는 것은 컴퓨터 칩과 메모리 뿐만 아니라 컴퓨터에 대한 많은 지식이 필요하므로 초보자에게는 적합하지 않다는 걸 직감할 수 있을 것이다.
Python(파이썬)
근래 들어 가장 인기있고 대중화 되고 있는 언어 중 하나이다.
핫한 이유는 반드시 있기 마련이다.
파이썬은 언어의 구조가 엄청 간단하다고 한다.
메모리를 직접 관리할 필요도 없고 메모리 주소 관리에 사용하는 Pointer(포인터)를 쓸 필요도 없고 자바나 코틀린에서 사용하는 Type(타입)을 정해 줄 필요도 없다고 한다. 그래서 다른 언어에 비해 공부하기가 쉽다고 한다.
또한 자바 처럼 다양한 곳에서 사용할 수 있다.
나도 처음에는 파이썬을 배우기 시작했는데 앱 게임을 만들기 위해 안드로이드 스튜디오를 결정하면서 지원하는 언어인 코틀린과 자바로 방향을 바꿨다. 그러므로 안드로이드 스튜디오를 사용하지 않는다면 초보자 또는 전공하지 않은 사람은 파이썬이 좋은 대안이 될 수 있는 것 같다. 특히 최근에 중요도가 높아지고 있는 인공지능이나 데이터 과학 분야에서 파이썬을 많이 사용한다고 한다.
여기까지 현재 사용하고 있는 프로그래밍 언어 중에서 세 손가락에 드는 언어에 대해 초간단으로 알아 보았다.
'안드로이드앱 코딩_AndroidApp > 안스_코틀린_쪼개기' 카테고리의 다른 글
파편006_안스4.0 업그레이드 에러 해결 (0) | 2020.06.18 |
---|---|
파편005_순서도_FlowChart_무료툴 (0) | 2020.06.14 |
파편003_안드로이드 스튜디오와 코틀린은 어떻게 협업하나? (0) | 2020.05.26 |
파편001_코틀린 온라인 놀이터_playground (0) | 2020.05.26 |
파편002_덧셈,뺄셈,곱셈,나눗셈 표현 (0) | 2020.05.26 |