Java已经过时了,Scala和Kotlin,C#即Csharp

10 篇文章 1 订阅
2 篇文章 0 订阅

Java已经过时了

Scala 和 Kotlin 都是 为JVM而设计的 , 他人认为:Scala更强大一些
Kotlin 是Java的改良版 , 而 Scala 完全是另一种语言
Kotlin为你提供所需要的一切 , 而 Scala 为你提供你想要的一切
Every Java developer can easily pick Kotlin, not so for Scala.
有关两者语法技术方面的比较详见 Scala vs Kotlin

这并不一定意味着Kotlin比Scala更好。相反,这意味着Kotlin设计师认为Scala是一门优秀的语言。他们和其他一些开发人员只是认为Scala不是为他们的需求而设计的,Java也不是。所以他们做了Kotlin。

Java是一种专为面向对象编程而设计的语言,但并非所有东西都是对象。基本类型(如数字)表示为基本类型。在Scala和Kotlin中,一切都是对象,可以这样访问。这不一定是一个慎重的选择,因为使用引用类型而不是原语会有轻微的损失,但这是因为在JVM中您无法定义值类型。因此,要获得智能型系统的优势,您只能使用引用类型实现它。

Scala
编译速度慢
官方提供基于Eclipse的IDE,现在建议使用IntelliJ Scala 插件
Keeping developing Java software with Scala? Not really a good idea
Scala was designed to do things that Java could not.

Kotlin
可以 被编译成Java字节码 ,也可以编译成JavaScript
Google在2017年的I/O大会上宣布支持使用Kotlin语言来开发Android应用程序,和Java同为一级开发语言。
Google正式宣布,Kotlin将由一级开发语言转为第一开发语言,未来Google提供的API都会优先以Kotlin为准。当然Java和C++开发也会继续支持下去,暂时还没有放弃Java的时间表。
目前已有超过50%的专业Android开发者选择使用Kotlin,并且Kotlin目前是Github中上升最快的编程语言。

能够静态检测引用空指针
已经集成在Androidstudio 和 intelliJ IDEA , 有一个Eclipse插件
比Scala更简洁
由JetBerains开发,JetBrains是开发IntelliJ IDEA 和 PyCharm 的公司,是家私人持股公司,

可以在线测试代码结果

这就是Kotlin不同的地方,在Kotlin中任何一个非抽象类默认都是不可以被继承的,相当于Java中给类声明了final关键字。
在《Effective Java》这本书中有明确提到,如果一个类不是专门为继承而设计的,那么就应该主动将它加上final声明,禁止它可以被继承。
,
Kotlin支持基本的功能特性,如:lambda和高阶函数。
但它并不完全支持函数式编程范式。
它适用于对普通程序员有用的实用位,而不需要熟练使用计算机科学博士学位。
独立(顶级)函数很好,您不需要使实用程序类包含不同的函数
Kotlin定义了表达式而不是语句,因此您可以将变量分配给if等结果
您可以使用val而不是var轻松定义不可变数据。 不需要像final这样的修饰符
Kotlin拥有所有必需品和其他一些功能,尽管它还具有一流的安全支持和智能演员等有趣的东西
智能强制转换意味着如果您检查自动转换为新类型的变量的类型,当然如果它实际上是该类型的变量。
一般来说,Kotlin非常使用它的一组功能,而不是添加更多东西。例如,您可以重载运算符,但只有已经在语言中的基本运算符,您无法定义新的运算符。
it became the first language to be officially supported for Android development, other than Java. This is undeniably a great achievement that prove a couple of things: the Java community loves Kotlin and it is easy to introduce Kotlin to Java developers.

Xtend
先编译成 Java代码,再用Java编译器往下编译成JVM字节码
基于eclipse

C#
C#读作C Sharp。最初它有个更酷的名字,叫做COOL。
(sharp your mind)
是微软产品
Unity 3D 所用编程语言
与Java有着惊人的相似点
特点:与 COM 直接继承
NET Windows网络框架的主角
运行于 NET Framework 和 NET Core 之上的高级程序设计语言
C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

也是面向对象的语言
它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

C#是兼顾系统开发和应用开发的最佳实用语言,并且很有可能成为编程语言历史上的第一个“全能”型语言。 看过这篇简史,不要把C#看成年轻后生了——只要是“马拉多纳”,就早晚当“球王”。

Summary

相对而言 ,为了以后的Android开发,Kotlin 是不得不学
而 Scala 学不学看个人喜好 和需求了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Sadam

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值