十年前,JetBrains宣布为Java虚拟机(JVM)开发一种新的静态类型的编程语言,名为Kotlin。从那时起,很多事情都发生了变化。Kotlin已经从一个Java的替代品演变成一个完整的生态系统,可以为不同的目的编写代码,包括服务器端、移动、网络、数据科学、多平台项目、机器学习等。
"它已经融入到我们的日常生活中。几乎每个互联网用户都接触过Kotlin软件。如果你有一台安卓手机或平板电脑--你使用的大约80%的应用程序都是用Kotlin构建的,而且它的影响力还超出了这个平台,"Kotlin团队说。
Kotlin的旅程
Kotlin的十年历程始于一个想法,即创建一个能使开发更有趣的平台。作为JetBrains内部的一个初创项目,Kotlin已经从它的起点走过了漫长的道路。
该公司表示,在对该技术的未来做出决定时,它依赖于其社区的投入。"在过去的十年里,Kotlin已经根据世界各地成千上万的Kotlin用户的反馈积累了数百万的变化,"Kotlin团队说。

创世纪
"它的发生非常偶然。故事是这样的:我们的联合创始人兼首席执行官谢尔盖-德米特里耶夫(Sergey Dmitriev)问了一群人--'伙计们,你们认为JetBrains可以做哪些有利于社区的大事情,而且要引人注目',"JetBrains的首席执行官马克西姆-沙菲罗夫(Maxim Shafirov)回忆说。
JetBrains的工程师之一Dmitry Jemerov说,一个开发公司能够为开发社区做的最终事情就是编程语言。"我当时想,JetBrains是一家为其他公司的语言和技术、语言、框架等建立工具的公司。所以我在想可能的方法来增加JetBrains在社区的影响力。所以说,比如,我们怎么能做一些属于我们自己的技术,而不仅仅是支持其他人的技术,"Jemerov说。
此外,他说他们有很多支持不同语言的经验,包括Java、JavaScript、Ruby、Python、PHP、Scala等。利用这些经验,JetBrains团队在2010年决定建立他们自己的编程语言。
"立刻,每个人都在笑。编程语言,真的吗?"杰梅罗夫说。他说,那时我们是一家小公司,我们确实执行了几个成功的项目,如IntelliJ IDEA和ReSharper,但编程语言完全是另一个联盟。
"然而,种子就在那里,我们开始思考--我们对许多编程语言的实际方面有这种深刻的理解。我们已经实现了对几十种甚至20多种编程语言的支持,我们知道许多语言的所有缺点和优点,所以我们可以把那些好的和实用的东西结合起来,许多人会使用它,"Jemerov说。这就是Kotlin项目的开始,这是一种用于JVM的静态类型的编程语言。
Kotlin的起源
"当我第一次听说这将是JVM下的一种通用语言时,我就想,创造一种新的语言是没有意义的。这完全是不合理的。目前有很多好的语言。Scala是相当大的,我喜欢它。感觉目前JVM上存在的所有问题或多或少都被Scala解决了,"JetBrains的Kotlin编程语言的前项目负责人Andrey Breslav说,"我当时想,不要这样做。这不是一个好主意。只要使用Scala。你会没事的。"
Breslav说,谈话继续进行,然后他开始注意到还没有解决的问题。而且,从JetBrains的角度来看,它完全可以准确地推出一种新的语言,以吸引足够的注意力、牵引力和用户等。"这仍然是一个疯狂的想法,但它有意义。我们有机会做一些真正好的事情,"Breslav说。
最初,JetBrains将编程语言命名为 "Jet"。 但是,由于商标问题,它不得不想出别的名字。"我们在寻找另一个名字,但没有喜欢的东西,这相当困难,"Breslav说。
很快,杰梅罗夫提出了 "Kotlin",这是圣彼得堡外的一个岛屿的名字,似乎是受到了其他编程语言的启发,如Java(咖啡岛)和锡兰(茶叶岛)。"有这种岛屿的进步,使用当地的名字是一个不错的主意,"他补充说。
2011年,JetBrains在圣克拉拉甲骨文园区的JVM语言峰会上首次宣布了这个消息。从那时起,Kotlin就成了开发者生态系统的代名词,并不断发展壮大。
在过去的12个月里,Kotlin已经被4800000多名开发者用于服务器端、移动多平台、Android和前端开发。除此之外,全球大约有194个Kotlin用户组,前200名的大学中有45所在教授Kotlin。
最近,Kotlin 1.5发布了新的JVM IR后端和语言功能。今年1月,JetBrains推出了KotlinYouTube频道。
下一步是什么?
"在未来十年里,我们有很多工作要做。首先,我们需要将Kotlin作为一种多平台语言牢固地建立起来,我看到我们完成了在多平台方面开始的工作,包括基础设施和稳定对多个不同平台的支持,"JetBrains的Kotlin编程语言项目负责人Roman Elizarov说。
此外,Elizarov计划建立一个Kotlin生态系统,由多个平台上的Kotlin优先库组成,为开发者提供广泛的不同的抽象和实用程序。他说,他们正在为多平台建立核心基础库,并正在开发工具,使他们的社区更容易开发特定领域的东西。
除了多平台语言,JetBrains还在研究结构性数据,开发者可以先在源代码中快速定义集合字词和数据等东西,然后在以后解构这些数据。
其他工作包括。
- 不变性。 Kotlin将使编写安全的代码成为可能,这些代码不会因为向其他线程共享可变数据而受到影响。
- 元编程。它 希望通过恒定的评估和传播来扩展Kotlin内联函数的功能,并启用编译器插件来对代码进行高级编译时操作。
- **新的编译器:**它的目的是在不牺牲性能的情况下为语言的未来发展奠定基础。
- **更多的静态类型化。**Kotlin将使工具更容易帮助开发者处理他们的代码。
埃利扎罗夫说,Kotlin将不仅仅是一种编程语言;它将是一个由库和工具组成的多平台生态系统,帮助人们在各个领域编写代码,包括数据科学、游戏、移动应用、桌面、网络--一切
"这就是我们在未来十年要看到的Kotlin的样子"。
The postTen Years Of Kotlin Programming Languageappeared first onAnalytics India Magazine.