我为什么放弃java学习Kotlin
我会建议使用纯JAVA。而不要去考虑Kotlin。否则,你将失去两大优势。
首先要搞清楚,kotlin与JAVA之间,其实并没有任何关系。kotlin是那个做IDE的Jetbrains公司创造的语言,它只和intellij IDEA这个IDE有关系。只是这个IDE,会在编译的时候,把kotlin转换成JAVA代码。所以kotlin无形中,便把使用者与这个IDE捆绑在了一起。而并不是与JAVA捆绑在了一起。
失去的第一个优势,便是从此无法自由选择IDE。。。对于kotlin来讲,将永远只有一个IDE可以选择。用户会成为Jetbrains公司的奴隶。如果有一天,你必须离开这个IDE,那你将会沦为废物,因为如果没有IDEA,kotlin无法做到任何事,哪怕仅仅一个“hello world”都不能。
失去的第二个优势则更加致命,也是JAVA可以获得成功的原因之一。。。JAVA能做的事情,其实很多其他语言也能做到。。但为什么JAVA可以如此受欢迎?除了JAVA本身的强大之外,还有一个原因在于,JAVA与C#语言,几乎是一模一样的。只有非常细微的差别,不仅语法一样,而且连编程思想都一样。只要掌握其中一门,完全可以在几天之内,无师自通另外一门。然后就可以对照api文档,去开发另外一门语言的程序了。所以学习JAVA的一大亮点就在于“学一门,会两门”。
C#很了不起吗?没错,非常了不起。。它本就可以视作JAVA获得成功的最大幕后英雄。。但我不是来讲故事的,因此微软与sun公司的恩怨情仇不在此深究。
我只说三个关键点,你自然明白其中利害关系。
1,它是微软的官方编程语言,微软的亲儿子,天生的富二代,Visual Studio便是为它量身设计。并且是微软唯一可以跨平台的儿子。。微软前不久又为它专门设计了轻量开发工具VS code。。不远的未来,它将成为微软的独子。未来几年,微软几乎全部工作都将与它有关。
2,它是游戏开发行业的第一大编程语言。占有60%以上的份额。Unity3D,CE5,寒霜,夜光,这四大游戏引擎的标准语言。《口袋妖怪Go》《使命召唤》《FIFA》《极品飞车》《最终幻想14》等数以万计的游戏都是由它开发而成。还包括国内最火的手游《王者荣耀》
3,它是虚拟现实(VR)设备开发的第一大语言。
扔掉JAVA,改用kotlin,也就等于与C#分道扬镳。。。所付出的代价,在我看来是无与伦比的。
如何评价kotlin与scala
个人觉得kotlin有点小尴尬。
kotlin一个主要优势是可以很好的使用现有的java库,很容易融入到已有的java项目里面,但是这样就会有很多妥协的地方,比如常见的spring 项目,使用aop的话,kotlin的class 就必须是open,方法也是是open,这个和kotlin的设计理念是冲突的。
如果使用spring data的话,就要求数据表对应的bean有默认构造器,这样kotlin的data class也没法用了。类似的情况应该还是有很多。
如果放弃老的库,比如spring,完全使用新的架构的话,那么kotlin也就失去了它的最大优势。
而且目前kotlin没有杀手级应用出现。
如果不是完美主义者,想在java项目里面尝个鲜,可以用用。
Kotlin会替代java吗?
下面来讲一下Kotlin和Java相比的优势是什么?
更简洁:这是它重要的优点之一,可以比Java编写少得多的代码。
更安全:Kotlin是空安全的,它在编译期间就会处理各种为null的情况,无需像java一样添加很多的判空代码,节约很多调试空
指针异常的时间,很大程度上避免出现NullPointException。
易扩展:扩展函数意味着我们不仅可以扩展我们原有写好的类,还可以扩展系统级的类,非常灵活,另外如果在类里编写扩展函数,那么只对当前类生效。
函数式:Kotlin使用了很多函数式编程的概念,比如用到了lambda表达式来更方便地解决问题。
Kotlin Android Extensions:再也不用编写烦人的findViewById()了,如果你集成了ButterKnife,是时候删除对它的依赖了,
Kotlin支持了对于View以id形式访问。
不用写分号,就像你看到的上述代码一样,对于很多写过脚本语言的童鞋来说,不要写分号这一点真是节省了很多时间,对于一
天写几百行几千行甚至上万行代码的童鞋们来说,相当于省了多少个分号.
到这里有的同学想要说了,你说的这些好处确实不错,但是我之前的项目全是用java语言来写的,难不成让我推倒重来过?别急
,最后我要说的一个最大的优势就是
与Java语言可混合编程,也就是说我们可以继续使用原来所有用Java写的代码和库,因为两个语言之间高度互操作,想尝试的童
鞋们建议可以从新的小功能小模块入手,对这些模块使用Kotlin代码进行编写,原有的稳定模块之后再逐步重构。
对初学者友好,kotlin对java语言转用kotlin提供了很多便利,对于初学者来说免去很多不必要的烦恼。最贴心的是Kotlin插件
支持一键由Java转Kotlin,为你之后想要重构提供了很大的便利性。希望能帮到你,优“”就“”业“”野“”鸡“”希望你能明白
kotlin和java区别
Kotlin是JetBrains开发的基于JVM的语言;而Java是一种可以编写跨平台应用软件、完全面向对象的程序设计语言。Kotlin是对Java的一种改进,语法差异:
Kotlin中的方法和属性可以不包含在类中;Java中的一切是以class为基础的,都要在class中,但Kotlin不是;
Kotlin中语句不需要以;结束,Java以;结束;
Kotlin中数据类型是后置的;
Kotlin方法使用fun关键字定义;
Kotlin的类和方法默认是public final的;
Kotlin中类继承和接口实现使用:标记;
Kotlin中使用var,val声明变量及属性,可以进行类型推断,编译器可以根据赋值自动推断其类型为String,而Java声明变量必须先指定其类型;
Kotlin存在非空与可空类型
Kotlin中package可以与文件路径不一致;
如何评价 Kotlin 语言?
kotlin是一门现代的编程语言呢,这门编程语言的设计符合很多现代编程语言的思维。简化编程语言,提升开发效率,跨平台开发,空安全,类型转换,协程,函数式编程,兼容庞大的资源库,工具友好等等。
这些特点,是新一代的编程语言的追求的特色。比如说Go,Swift等。kotlin是这一轮新的编程语言的大潮中,综合实力非常突出的佼佼者。
可用于开发跨平台的应用。kotlin是一门真正全栈式的编程语言,可以开发web,Socket,安卓,js,NativeApp等。投资这门编程语言的收益率,太高了。
然后,它是一门静态编译型的编程语言。在很多专业的评测当中,性能基本跟原生Java相当。但是,某些项目会更省内存。使用Kotlin开发安卓,app的体积大约会增加1MB。
最后,与java和android 100%可互相操作。由于跟java一样,基于JVM引擎生成字节码,所以kotlin跟java和android,那是100%兼容的。说白一点,kotlin可以拿所有java的资源来用,干所有java能干的活,然后能比java干的更好。