从长远来看,排名前10的也基本上是Java、C、C++、Python、C#、VB、PHP、JavaScript。至于Kotlin的排名,11月份在编程语言仅排41名,Ratings仅有0.216%。

  

  曾看到一个理论是说,看一个事物还能存在多久,首先要看看它已经存在了多久。如果一门编程语言已经存在了20年,那么它在20年后也不会消失。像C、VB这样的语言,至今仍然能够在编程语言排行榜中占据非常重要的位置。

  Kotlin语言中文站官方网站已经有非常详细的说明,这里我只想说下我刚刚接触Kotlin两天的体会。

  1.能直接与Java相互调用,能与Java工程共存

  2.大大减少样板代码

  3.可以将Kotlin代码编译为无需虚拟机就可运行的原生二进制文件

  4.支持协程

  5.支持高阶函数

  6.语言层面解决空指针问题

  7.对字符串格式化的处理($变量名)

  8.更像Python的语法

  9.对λ表达式支持更好

  10.中缀表达式

  1.尽管Google大力推崇Kotlin,Kotlin似乎并没有特别火热

  2.Java变量名和Kotlin关键字可能产生冲突

  3.Kotlin空安全和Java工程结合仍然存在问题

  1.啰嗦的语法:很多Java类库的行数动不动就是1000+

  2.伪泛型

  3.完全面向对象:这是Java最大的优点,但是也是很大的缺点。我想写个工具类,也要新建一个对象?

  4.沉重的历史包袱:因为要考虑向前兼容的问题,很多支持和改进并不彻底,最大的例子就是JDK 1.5引入的泛型。

  JDK开始收费。我觉得JDK开始收费是个好事情,至少Java的版本发布周期变更为每六个月一次 —— 每半年发布一个大版本,每个季度发布一个中间特性版本,并且承诺不会跳票。Java 6的发布时间是2009年,Java 7的发布时间是2011年,Java 8是2014年。新版本的Java确实有许多方便的特性和类库的升级。

  JDK升级。由于工作原因,我使用了近2年的Java 6。仅仅是升级到了Java 8,就已经极大地提高了我的开发效率!——更不用说类库底层的优化。

  总的来说,Java号称是C++ --,Kotlin就像是Java++。Kotlin没有像Java一样的历史包袱,设计之初就是为了解决Java的痛点。

  但是世界上并没有完美的语言——像Python也存在版本分裂的问题。用再好的笔,也写不出更好的文章。如果单单是使用编程语言开发的话,充分利用好一门编程语言和Ij

  

对 Kotlin 与 Java 编程语言的思考的更多相关文章

  1. java技术栈:一、java编程语言概述

    Java是一种编程语言,起源于20世纪90年代初Sun公司的一个叫Green的项目,该项目主要目的是是开发嵌入家用电器的分布式软件系统,从而使电器更加智能化.因为项目小组成员皆为C++的高手(那个年代 ...

  2. Kotlin VS Java:基本语法差异(转载)

    5月18号,goole宣布Kotlin成为官方支持的开发语言以来,Kotlin语言社区,公众号,qq群等全面轰炸,本文是一篇译文,来自国外的一个用户,将给大家介绍,基础语法部分Kotlin和java之 ...

  3. Kotlin VS Java:基本语法差异

    Kotlin比Java更年轻,但它是一个非常有前途的编程语言,它的社区不断增长. 每个人都在谈论它,并说它很酷. 但为什么这么特别? 我们准备了一系列文章,分享我们在Kotlin开发Android应用 ...

  4. Kotlin for Java Developers 学习笔记

    Kotlin for Java Developers 学习笔记 ★ Coursera 课程 Kotlin for Java Developers(由 JetBrains 提供)的学习笔记 " ...

  5. 使用kotlinc、kotlin、java命令进行kotlin程序运行

    使用kotlinc.kotlin.java命令进行kotlin程序运行 学习了:https://www.cnblogs.com/ShaYeBlog/p/7280452.html kotlinc xxx ...

  6. Kotlin和Java名称的由来

    Kotlin和Java名称的由来 学习了:http://blog.jobbole.com/111249/ JetBrains由战斗民族开发: Java来源于印尼群岛中的Java岛: Kotlin来源于 ...

  7. Kotlin调用Java程序重点分析

    在上一次https://www.cnblogs.com/webor2006/p/11530801.html中学习了Kotlin调用Java的使用方式及一些注意点,这次继续其这个场景进一步学习. 数组( ...

  8. Kotlin调用Java程序解析

    Kotlin跟Java是百分百兼容的,换言之,也就是它们俩是可以互操作的,也就是Java可以调Kotlin,Koltin可以调Java,所以下面来看一下在Kotlin中如何来调用Java代码: 咱们来 ...

  9. 乐字节Java编程语言发展,面向对象和类

    大家好,上次我们讲过了乐字节Java编程之方法.调用.重载.递归,接下来我们将会进入到Java封装的内容.Java编程语言发展,面向对象和类. 一.编程语言的发展 机器语言——直接由计算机的指令组成, ...

随机推荐

  1. Qt实现 QQ好友列表QToolBox

    简述 QToolBox类提供了一个列(选项卡式的)部件条目. QToolBox可以在一个tab列上显示另外一个,并且当前的item显示在当前的tab下面.每个tab都在tab列中有一个索引位置.tab ...

  2. Matlab中图像处理实例:灰度变换,空域滤波,频域滤波,傅里叶变换的实现

    http://blog.sciencenet.cn/blog-95484-803140.html % %图像灰度变换 % f = imread('E:\2013第一学期课程\媒体计算\实验一\Img\ ...

  3. c语言的字符串拷贝函数的精简

    #include <stdio.h>#include <string.h>void str_cpy(char * to, char *from){    while ((*to ...

  4. Android开发中,系统是如何区分不同的App的(转自csdn)

    转自:http://bbs.csdn.net/topics/391868975?page=1 1判断是否为同一个app,仅仅是包名,签名是保证你的app不被第三方恶意替换.当包名相同,但签名不同时,系 ...

  5. python+Django框架运用(一)

    Django 介绍: django是一个采用Python语言开发的开源框架,2005年发布.早期是做新闻以及内容管理的网站的,提供了非常强大的后管理系统. django官网:https://www.d ...

  6. 使用 amcharts 和 highcharts 绘制多曲线时间趋势图的通用方法

    工作中用到, 这里分享一下. 可以使用 amcharts 和 highcharts 在同一坐标中绘制多个对比曲线图. 当然, 对图形没有过多装饰, 可以参考 API 文档: highcharts:   ...

  7. mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)字符串拼接cancat实战例子

    mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)mysql字符串拼接cancat实战例子: mysql update set 多个字段相加,如果是数字相加可以直接用+号(注:hund ...

  8. cursor图标自定义

    cursor: url(./images/favicon.ico), auto; 首先auto必须加上,其次必须使用ico文件,目前来说ico文件没有兼容性问题,ico格式怎么转? 传送门:http: ...

  9. tomcat热启动没问题, 访问项目报500解决办法

    新建maven项目 添加热启动 启动访问项目报错 报错提示 解决办法 思路:包冲突 在pom.xml中添加servlet <dependency> <groupId>javax ...

  10. Executor简析

    本文只做简要解析,实际情形下我们多用spring的taskExecutor 直接使用new Thread()创建线程的缺点: 1.new Thread()耗费性能 2.调用new Thread()创建 ...