kotlin, 一种新的android平台一级开发语言

最近看到一则科技新闻, 大致内容是google将kotlin语言作为android应用开发的一级语言, 与java并驾齐驱, 这是一个开发界的大事件大新闻, 连google的亲儿子go语言也没有这种待遇, 而kotlin貌似名不见经传,之前根本连听都没听说过。 这让我对kotlin产生了极大的好奇心,这种能让得到google如此宠幸的语言到底是何方神圣?
在网上查了相关资源后, 对kotlin有了粗略的了解。 kotlin是一种jvm平台语言, kotlin编译器会将kotlin代码转换成jvm字符码,因此它和java在本质上是相同的,都可以在java虚拟机上运行。
kotlin非常的年轻, 第一个版本是在2011年正式发布的
kotlin是jetbrains公司开发的语言, JB公司驰名世界,生产的IDE雄霸天下, 和宇宙第一的visual studio也没有正面冲突, 因此除非是.net系程序员,否则对这间公司不会陌生。
kotlin有一个非常可爱的特性, 就是和Java不分彼此, 两种语言的代码可以混编, 同时在一个项目中使用。 在我之前的认知中,开发程序代码混编, .net平台应该在这方面实践处于领导地位, 我们可以用f#写一个模块, 编译成.dll组件, 然后在c#项目中调用, 这也算一种代码混编的形式,但却不能在一个project中即写c#代码又写vb或f#代码。 而kotlin和java却没有这种局限性, 只要不是天真的把混编理解为可以将kotlin代码和java代码混合写在一个文件当中, 那么不管你怎么折腾都没有问题。 你可以用java写一个类,让kotlin继承; 你可以用kotlin写一个函数 ,让java调用; 反正这两种代码的交互完全是无缝的。
我在通过网络资料大致浏览了一下语法,有兴趣的同学也可以看看
https://github.com/huanglizhuo/kotlin-in-chinese
经过初步了解, 可以确定kotlin的语法非常惊艳, 和java完全是两个极端。 相信只要不是从1995年穿越过来的程序员,肯定会觉得现在的 java并不美丽。人家c#当初也和java一副德行, 但是人家求上进啊, 每一个版本都添加各种符合时代潮流的先进语法特性,现在的c# 7.0各种牛逼 ,虽然说c#是模仿java生长起来的,青出于蓝也在情理之中, 但从现在两者间的差距来看, 这尼码青的也未免太蓝了。
就拿武侠小说中的武功作个比喻, java就像是少林寺大和尚们练的绝技, 威力够大, 练的好了能在武林中杨名立万雄霸一方, 但是武功招数实在太过于朴实无华, 使将起来一板一眼, 一点潇洒飘逸夺人眼球的感觉也没有。 而像c#、f#、haskell、scala之类的语言就像是降龙十八掌、六脉神剑、凌波微步、北冥神功一样,使将出来往往是挥掌炸山头,手指放激光,不但威力奇大, 而且招式出人意料,跟少林寺那些绝技相比, 不知道高到哪去了。 显然,kotlin也属于后者。
kotlin几乎拥有所有c#有而java没有的语法特性,在某些方面可能更胜一筹。 kotlin具备很多FP的特性, 但又不像scala那样复杂难学,并且编译速度和java一样比scala快的多, 所以可以说汲取了java和scala的优点,但又摒弃它们的缺点。
语法先进这个东西, 对程序运行的本质没有任何影响 ,但对于代码的质量和开发效率却有长远的影响 , 因此kotlin这门语言拥有非常值得使用的理由, 尤其是抱上了google 的大腿以后, 前景更在一片波澜壮阔。
因此,kotlin , 等待广大开发者的临幸吧。。。
kotlin, 一种新的android平台一级开发语言的更多相关文章
- android平台手电筒开发源代码
android平台手电筒开发源代码,AndroidManifest.xml文件的入口是startapp,这个文件没上传上来,大家可以自己写. 1. [代码]android 1 2 3 4 5 6 7 ...
- 在android平台打印C语言日志
在android平台打印C语言日志 1.操作平台:AS2.0 2.步骤如下: 在C代码中添加如下代码: #define LOG_TAG "我的C语言日志:" #define LOG ...
- SaltStack介绍——SaltStack是一种新的基础设施管理方法开发软件,简单易部署,可伸缩的足以管理成千上万的服务器,和足够快的速度控制,与他们交流
SaltStack介绍和架构解析 简介 SaltStack是一种新的基础设施管理方法开发软件,简单易部署,可伸缩的足以管理成千上万的服务器,和足够快的速度控制,与他们交流,以毫秒为单位.SaltSta ...
- 如何看待 Kotlin 成为 Android 官方支持开发语言?
Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言.一时间朋友圈和Android圈被各种刷屏.当然我也顺势而为发布了一篇的文章<为什么我要改用Kotlin&g ...
- 如何看待 Kotlin 成为 Android 官方支持开发语言
Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言.一时间朋友圈和Android圈被各种刷屏.当然我也顺势而为发布了一篇的文章<为什么我要改用Kotlin&g ...
- Android平台的开发环境的发展演变
因为之前学习java语言的时候安装过了eclipse,所以想在eclipse上搭建android平台,在参照知乎上大神们的意见,发现了AS强大的代码提示.实时预览和搜索匹配等出色功能,最后还是选择在A ...
- kotlin正式由Goole公布为Android的最新开发语言
那么,现在大家开发Android的话一般来说都是直接用Java,这个没错吧(高手除外).嗯,那么用力那么久的Java,不知道大家是否有想过Java的不足,已经很多可以优化的地方呢.当然,新修订的版本中 ...
- 作业1.3——Android平台的开发环境的发展演变
一开始的打算是在eclipse的基础上搭建Android平台,在ADT.SDK上兜兜转转,听过一些前车之鉴后,还是选择了Android studio.因为之前安装过eclipse,就省去了JDK下载和 ...
- Android平台Native开发与JNI机制详解
源文链接: http://mysuperbaby.iteye.com/blog/915425 一个Native Method就是一个Java调用非Java代码的接口.一个Native Method是这 ...
随机推荐
- Nginx编译参数
configure arguments: --with-cc-opt='-g -O2 -fPIE -fstack-protector //设置额外的参数将被添加到CFLAGS变量.(FreeBSD或者 ...
- GDOI2014模拟 旅行【SPFA】
旅行(travel) 从前有一位旅者,他想要游遍天下所有的景点.这一天他来到了一个神奇的王国:在这片土地上,有n个城市,从1到n进行编号.王国中有m条道路,第i条道路连接着两个城市ai,bi,由于年代 ...
- jmeter 登录并发 (此文章有待修改)
1.先通过录制通过取样器找到所需要的请求.并新建添加至线程组,也可以根据以下样式找到所需请求.复制添加至线程组 寻找请求 添加后 2.添加CSV配置元件 3.填写CSV参数 4.修改参数.这是格式:& ...
- Excel import
Case Study: Reading cell content from excel template for COM variant type VT_R4 or VT_R8 is always l ...
- dd命令的使用简介
dd命令: convert and copy a file 用法: dd if=/PATH/FROM/SRC of=/PATH/TO/DEST bs=#: block size, 复制单元大小 ...
- 恢复oracle数据库误删除数据的方法汇总
学习数据库时,我们只是以学习的态度,考虑如何使用数据库命令语句,并未想过工作中,如果误操作一下,都可能导致无可挽回的损失.当我在工作中真正遇到这些问题时,我开始寻找答案.今天主要以oracle数据库为 ...
- css3 兼容各个浏览器
transform:rotate(9deg);-ms-transform:rotate(9deg); /* Internet Explorer */-moz-transform:rotate(9deg ...
- ASP.NET MVC4 微信公众号开发之网页授权(二):通过公众号AppID(应用ID)和AppSecret(应用密钥)取得网页授权openid
ASP.NET MVC4 微信公众号开发之网页授权(一):搭建基础环境 通过了上一篇文章我们已经搭建好了基础开发大环境,现在打开开发环境这里我用的是 vs2013,通过如下方式: 拼接请求链接重定向到 ...
- 我们一起学Docker(一)
一.什么是Docker? Docker是一个基于LXC(Linux Container,Linux容器),以及cgroup的上层工具,通过对LXC,cgroup及相关系统命令的封装,使得用户可以非常方 ...
- qt 文本中显示中文
QTextCodec *codec = QTextCodec::codecForName("utf8");QTextCodec::setCodecForLocale(codec); ...