개인공부
자바 vs 고틀린 본문
자바의 상처를 치유하다
자바가 가지고 있는 기술적인 한계는 항상 안드로이드 프로그래머 사이에선 큰 골칫거리였다. 이런 문제를 해결하기 위해 자바 8을 만들어 어느 정도의 기술적 향상은 이루었으나, 안드로이드 개발자들이 자바 8을 이용하려면 별도의 설치나 구성이 필요했기 때문에 자바 6을 고수하는 경향을 보였다. 특히 자바라는 언어가 가진 태생적인 한계로 안드로이드 API 디자인에 관련된 문제 및 장황한 언어로 인한 개발상의 오류가 빈번히 발생하였다.
이런 문제점을 극복하기 위해, 2011년 Android studio를 만든 회사인 JetBrain에서 경량급 프로그래밍 언어인 코틀린을 개발하였다. 자바 가상머신 (Java Virtual Machine) 위에서 동작하는 정적 언어인 코틀린은 Android 개발 코드를 100% 호환할 수 있으며, 모바일 환경에서 자바 패러다임의 향상 및 API 디자인과 관련된 문제를 해결하기 위해 만들어졌다.
왜 코틀린이 자바보다 더 좋은가?
1. 코틀린은 실용적이다
코틀린은 개발자들이 직면한 문제들을 해결할 수 있는 능력이 있다. 예를 들면 코틀린 타입 시스템을 사용하면 자바의 가장 흔한 에러인 Null Pointer Exceptions(NPE)에서 자유로울 수 있다. 또한 자바의 불편한 점 들을 개선하여, getter/setter의 번거로움을 줄여주고 함수를 class 밖에서 선언할 수 있는 등 편리성과 자유도도 제공한다.
2. 코틀린은 경제적이다.
코틀린은 오픈 소스이다. 또한 코틀린은 기존의 자바 프레임워크와 라이브러리를 사용할 수 있는 등 자바와 100% 호환되어 사용될 수 있다. 따라서 현재의 Android API들을 그대로 사용할 수 있고, Maven, Gradle과 같은 빌드 시스템도 사용할 수 있으며 추가적인 개발비용이 들지 않는다.
3. 고틀린은 쉽다
고틀린의 문법은 이해하기 쉽고 독창적이어서 초보자들도 쉽고 빠르게 학습할 수 있다. 얼핏 보면 코틀린은 스칼라와 비슷한 것처럼 보이지만, 스칼라 보다 훨씬 더 단순할 뿐만 아니라 문법의 간결성과 가독성의 균형 또한 잘 맞추고 있다.
4. 코틀린은 간결하다
당신이 반복되는 문법을 사용하며 안드로이드용 프로그래밍을 할 때, 장황한 코드의 사용은 버그의 발생 빈도를 높인다. 이와는 반대로 간결한 문법을 가지고 있는 코클린과 같은 언어를 사용하게 되면 버그의 발생 횟수를 줄일 뿐만 아니라, 덜 지루하게 개발할 수 있다.
5. 코틀린은 앙꼬 라이브러리를 사용한다
앙꼬 라이브러는 고틀린의 소스 파일 중 하나인데, 앙꼬 라이브러리의 주된 역할은 XML[extensible markup language] 관련된 문제들을 해결해 주는 것이다. 좀 더 자세히 얘기하자면 코드를 깨끗하고 읽기 쉽도록 만들어 안드로이드 애플리케이션 개발을 보다 빠르고 쉽게 할 수 있도록 도와주는 역할을 한다.
인생에 완벽한 건 없다. 코틀린도 마찬가지다. 다음은 코틀린이 가지고 있는 단점들이다.
1. 코틀린은 아직 앨리어스가 없다. 따라서 함수 유형을 매번 중복해서 작성해야 하는 번거로움이 존재한다.
2. 코틀린은 자바 6 바이트코드를 대상으로 하기 때문에, 자바 8의 향상된 기능들을 제공하지 않는다. 또한 코틀린이 가지고 있는 사소한 문제 중 하나는 코틀린 표준 라이브러리가 자바 8 의 표준 라이브러리의 기능을 중복해 제공한다는 것이다.
3. 인텔리 J 내부의 컴파일은 점진적이며 자바만큼 빠르지만, 그래들을 통한 컴파일은 점진적이지 않기 때문에 속다가 느리다는 단점이 있다.
'IT이슈' 카테고리의 다른 글
요즘 뜨고 있는 인공 지능(AI) 기술 10가지 (0) | 2018.05.15 |
---|---|
인공지능과 머신러닝의 차이 (0) | 2018.05.15 |
RPA란? (0) | 2018.05.04 |
블록체인이란? (0) | 2018.05.03 |
사물인터넷(IoT)의 2017년/2018년도 10대 기술 (0) | 2018.05.02 |