문득 코틀린 언어를 사용하여 프로젝트를 진행하다 코틀린의 시작, 특징도 제대로 모르고 막연하게 코드만 짜고 있었던게 아닌가 라는 생각이 들었다.
그래서 코틀린에 대해 한번 파해쳐보기로했다.
코틀린은 Google I/O 2017에서 안드로이드의 공식 언어로 채택되었다. 코틀린은 자바를 대체하기 위한 목적으로 만들어진 언어이다. 언어적으로는 최신의 패러다임을 적용하며 자바의 몇몇 약점을 개선하면서 기존 자바에서 사용하는 자바 가상 머신과 호환될 수 있게 만들어졌다. 코틀린은 웹 서비스, 안드로이드 개발 뿐 아니라 자바스크립트 및 스위프트와도 연동 가능하다.
☝코틀린, 왜 쓰는가?
1. 표현력이 높고 간결함
적은 노력으로 많은 작업을 할 수 있습니다. 상용구 코드를 적게 사용하면서도 아이디어를 풍부하게 표현할 수 있습니다. Kotlin을 사용하는 전문 개발자 중 67%가 Kotlin을 통해 생산성이 높아졌다고 말합니다.
2. 더 안전한 코드
정적 타입 언어는 컴파일 시간에서 타입 안정성을 제공한다. 그러나 코틀린은 다른 정적 타입 언어들보다 몇 발자국 더 나아가서 오류를 방지한다. 예를 들면 코틀린 타입시스템은 널 불가(non-nullable) 타입과 널 가능(nullable) 타입을 구분한다. 그리고 Scala, F#, Haskell처럼 아주 강력한 타입추론을 할 수 있다. 더 이상 타입을 입력하느라 시간을 쓸 필요가 없다. 동시에 타입이 100% 명확하지 않은 경우 코틀린은 개발자에게 타입을 명시할 것을 요청한다. 타입추론을 올바르게 하기 때문에 우리는 개발에만 집중할 수 있고, 코드는 타입 안정성을 갖추게 된다.
3. 호환성
Kotlin에서 자바 기반 코드를 호출하거나 자바 기반 코드에서 Kotlin을 호출한다. Kotlin은 자바 프로그래밍 언어와 100% 호환되므로 프로젝트에서 Kotlin을 원하는 만큼 사용할 수 있다.
4. 구조화된 동시 실행
Kotlin 코루틴을 사용하면 비동기 코드를 차단 코드처럼 쉽게 사용할 수 있다.
코루틴은 네트워크 호출부터 로컬 데이터 액세스에 이르기까지 백그라운드 작업 관리를 크게 단순화한다.