2015년 11월 2일
저희는 매우 기쁘게도 JVM 및 Android용 Kotlin 1.0 Beta를 발표하게 되었습니다!
요약하면, Kotlin은 JetBrains에서 상당한 시간동안 작업해온 현대적인 프로그래밍 언어입니다.
이 게시물에서는 현재 어디에 있는지와 다음에 어떤 것이 기다리고 있는지에 대한 개요를 제공합니다. 이 버전의 변경 사항은 여기에 나와 있습니다.
Kotlin의 배경 이야기
Kotlin은 2010년에 처음 떠올랐습니다. 10년간의 Java 개발 경험이 JetBrains에서 현대적인 JVM 언어를 Java와 함께 사용함으로써 우리의 생산성을 크게 향상시킬 수 있을 것으로 느껴졌습니다. 다른 가능한 옵션을 평가한 후, 우리는 새로운 언어가 필요하다고 결정했으며, 이를 위한 전문성과 리소스가 있었습니다. 저희의 주요 사업 분야는 개발자를 위한 도구를 만드는 것이며, 최고의 제품을 사용자에게 제공하는 가장 좋은 방법은 우리 자신이 필요한 멋진 도구를 만드는 것입니다. 이는 IntelliJ IDEA, ReSharper, 많은 다른 IDE뿐만 아니라 TeamCity와 같은 서버 제품에도 작동했으며, 그래서 저희는 또 다른 개발자 도구 - 프로그래밍 언어에도 동일한 원칙을 적용하기로 결정했습니다.
우리는 Kotlin을 산업용 현대 언어로 설계하였으며, 이를 위해 몇 가지 구체적인 요구 사항이 있었습니다. 먼저, 저희의 프로젝트는 긴 시간 동안 지속되며 매우 크게 성장합니다(수백만 줄의 코드). 그래서 우리는 거대한 코드베이스에 대해 정확한 추론을 할 수 있도록 정적 타이핑이 필요했고, 여러 해 동안 유지보수할 수 있도록해야 했습니다. 그런 다음 모든 코드가 Java로 작성되었기 때문에 새로운 언어가 기존의 Java 코드베이스에 원활하게 도입될 수 있는 경로가 필요했습니다. 또한 JetBrains로서 도구 품질에 타협하고 싶지 않았습니다. 우리는 새로운 언어가 생산성을 높이는 데 더 많은 도움이 될 것이며, 그것은 대부분 도구에 달려있다고 믿습니다. 마지막으로, 학습하고 이해하기 쉬운 언어가 필요했습니다. 저희 팀에서는 "라이브러리 작성자"와 "라이브러리 사용자"를 분리하지 않고, 모든 개발자가 사용하는 언어로 동등하게 생산적이기를 원했습니다.
이러한 프로젝트는 많은 결정을 내려야 하는 프로젝트로, 처음부터 모든 것을 제대로 수행하는 것은 불가능하다는 것을 알고 있었습니다. 따라서 핵심 설계 선택 사항의 실험과 유효성 검사에 상당한 시간을 허용했습니다. 초기에는 JetBrains 내외의 초기 채택자들이 사용하면서 지속적으로 피드백을 수집하고 변경사항을 가하면서 많은 인사이트를 얻었습니다(모든 의견에 감사드립니다!). 이를 통해 다양한 사용 사례에 대한 중요한 통찰력을 얻었으며, 이제 1.0 이후에도 역방향 호환성을 유지할 수 있다고 믿습니다.
JetBrains는 IntelliJ IDEA, YouTrack 및 기타 제품의 제작에 Kotlin을 이미 상당히 오랜 기간 동안 사용해왔습니다. 현재 우리는 제작 당시에 비해 더 많은 25만 줄 이상의 Kotlin 코드를 운영 중입니다(Kotlin 프로젝트 자체에도 거의 동일한 양의 코드가 있습니다). 우리의 프로젝트 중 일부는 Kotlin으로 완전히 작성되었으며(account.jetbrains.com), 다른 프로젝트는 처음에 계획한 대로 기존의 Java 코드베이스에 Kotlin을 도입했습니다. 우리는 Java와 Kotlin을 자유롭게 혼용할 수 있는 상호 운용성 수준에 도달했습니다. Java는 Kotlin에서 호출하거나 그 반대로 Kotlin에서 Java를 호출할 수 있으며, 소스를 하나의 프로젝트에서 혼합시킬 수 있으며 생성된 .class 파일은 완전히 Java 도구와 호환됩니다.
Kotlin은 우리를 잘 지원하고 있으며, 현재 20명 이상의 팀을 투입하여 개발하고 있습니다.
1.0을 아직 달성하지 않았음에도 불구하고, 다른 회사와 개인 개발자들은 이미 Kotlin을 웹 서비스 백엔드에서부터 Android 앱에 이르기까지 제작에 사용하고 있습니다. Expedia, Prezi.com 및 기타 많은 기업들로부터 보고를 받았습니다(제출을 통해 회사를 이 목록에 추가해 주시기 바랍니다).
GitHub의 공개 저장소에 있는 Kotlin 코드 줄 수는 현재 기하급수적으로 증가하고 있습니다(JetBrains의 프로젝트는 제외됩니다):
Kotlin이 느껴지는 것
저희의 언어 사용 경험과 많은 외부 사용자의 의견으로부터 Kotlin을 사용하는 느낌은 다음과 같습니다:
- 더 적은 코드,
- 더 나은 가독성,
- 더 많은 타입 안전성,
- 더 표현력 있는 기능,
- 도구 및 상호 운용성과 원활한 경험.
Beta란?
현재 운영 중인 상태로 Kotlin은 현재 베타 상태에 있습니다. 여러분에게 의미하는 바는 다음과 같습니다:
공식 릴리스 준비를 마무리하고 있습니다.
바이너리 형식이 확정되었습니다.
모든 주요 언어 변경이 완료되었습니다.
호환성
Kotlin은 Beta 상태에서 오랫동안 머물지 않을 것이며, 1.0 버전이 곧 출시될 예정입니다.
우리는 사용자 경험을 원활하게 하기 위해 Kotlin 버전의 호환성을 유지할 것입니다. 1.0 이후로 언어 및 라이브러리의 모든 업데이트는 역방향 호환성을 유지할 것입니다:
- 새로운 컴파일러는 이전의 이진 파일과 함께 작동합니다(하지만 이전의 컴파일러는 최신의 이진 파일을 이해하지 못할 수 있습니다. 예를 들어 javac 1.6은 javac 1.8로 컴파일된 클래스를 읽을 수 없습니다);
- 이전의 이진 파일은 최신의 이진 파일과 실행 중에 계속 작동합니다(최신 코드는 최신 종속성을 필요로 할 수 있습니다).
위에서 언급한 모든 내용은 JVM/Android 지원에만 해당됩니다. JavaScript 지원은 현재 실험적인 상태로 남아 있으며 나중에 자체적인 릴리스가 있을 예정입니다.
Kotlin에 대한 몇 가지 사실
- 이는 오픈 소스입니다(Apache 2.0 라이선스 하에): 컴파일러, 런타임 라이브러리 및 IDE를 포함한 모든 도구;
- 함수형 프로그래밍 스타일을 촉진합니다(다중 패러다임 언어임에도 불구하고);
- 정적으로 컴파일되며 Java와 비교하여 런타임 오버헤드가 없습니다;
- Quasar를 통해 효율적이고 안전한 동시성을 지원합니다;
- IntelliJ IDEA 15 (Ultimate 및 OSS Community Edition 모두)에 번들로 제공되며 즉시 사용할 수 있습니다;
Android Studio, Eclipse, Maven, Gradle 및 Ant 플러그인이 있습니다(물론 IntelliJ IDEA 및 TeamCity도 있습니다);
REPL이 있습니다;
- 열심히 활동하며 도움이 되는 커뮤니티가 있습니다. 이 커뮤니티는 멋진 라이브러리를 만들어내고 있습니다;
- 두 권의 책이 출판되었습니다: "Kotlin in Action" 및 "Kotlin for Android Developers".
프레임워크, 상호 운용성 및 마이그레이션
거의 모든 Java 또는 Android 프레임워크 또는 라이브러리가 Kotlin과 원활하게 작동합니다. 기타 중에는 Spring MVC, Vaadin, Vert.x 및 Jackson이 포함됩니다. 많은 Android 프레임워크는 Dagger 2, DataBinding, DBFlow, ButterKnife, AndroidAnnotations 등을 지원하는 kapt를 통해 Kotlin에서 사용 가능한 주석 처리를 필요로 합니다.
Kotlin에는 JetBrains 및 커뮤니티에서 개발한 프레임워크와 라이브러리가 있습니다. 몇 가지 예: Anko, RxKotlin, funKtionale, kohesive, kovenant, Kobalt 빌드 도구 등이 포함됩니다.
IDE에 내장된 컨버터를 사용하여 Java에서 Kotlin으로 소스 코드를 마이그레이션할 수 있습니다.
시도해 보세요
- 학습: Koans/Playground/, 튜토리얼, 언어 문서
- 설치
1. IntelliJ IDEA 15 (Ultimate 또는 Community): Kotlin 프로젝트를 만들거나 Java 프로젝트에서 Kotlin 파일을 만들기만 하면 됩니다.
2. Android Studio: Plugin Manager를 통해 플러그인 설치
3. Eclipse: Marketplace를 통해 플러그인 설치
4. 명령 줄: 컴파일러를 여기에서 다운로드하세요.
- 커뮤니티: 포럼, Slack (초대 받기), StackOverflow, GitHub (PR 환영)
- 이슈 트래커
즐거운 Kotlin 경험을 가져보세요!
원문
https://blog.jetbrains.com/kotlin/2015/11/the-kotlin-language-1-0-beta-is-here/
'Kotlin > Release Notes' 카테고리의 다른 글
[Kotlin Release Notes] Kotlin 1.0 Beta 3 is Out! (0) | 2023.08.29 |
---|---|
[Kotlin Release Notes] Kotlin 1.0 Beta 2 is Out! (0) | 2023.08.29 |
[Kotlin Release Notes] Kotlin 1.0 Beta Candidate is Out! (0) | 2023.08.29 |
[Kotlin Release Notes] Kotlin M14 is out! (0) | 2023.08.28 |
[Kotlin Release Notes] Kotlin Eclipse Plugin 0.3.0 (1) | 2023.08.28 |
댓글