学Java的颤抖吧 Kotlin成为Android官方开发语言

很多朋友对于为什么不建议学kotlin和为什么不建议用kotlin不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

本文目录

  1. 新手是否可以跳过Java直接学习Kotlin
  2. Java、JS、C++ 依然强势,Go、Kotlin等新语言却不能破局吗,为什么
  3. C#这么优秀的语言为什么不流行
  4. 为什么不建议学kotlin

新手是否可以跳过Java直接学习Kotlin

一、首先你先明确自己用这门语言开发什么

1.如果你要做后端开发,必选java,大厂都在用,工作好找。java在写后台web方面有非常完善的解决方案,数十年的积累,写商业服务端技术很成熟,大公司都在用,比如淘宝的后端就是java写的,目前有非常多的成熟框架,Spring全家桶是Java开发web的成熟框架,从单体应用到微服务架构,Springboot,Springcloud等都有着非常成熟的开发套路

2.如果你做安卓app开发,不考虑以后写后端开发,必选kotlin。kotlin是jetbrains公司设计的语言,这个公司本身就是ide科技公司,Androidstudio是这个公司开发的,天然完美支持kotlin所有特性,完全支持安卓app开发,虽然android完全支持Java7,但android只支持Java8的部分特性,如果你想要支持编程语言的全部功能,你可以放心选用kotlin,如果计划未来构建多个app,kotlin是一个完美的选择,Java在语法方面非常啰嗦,kotlin简洁,null是非常常见的bug,kotlin处理null值非常简洁灵活,Java就很麻烦

二、总结

Java非常适合开发大型商业后端web服务,微服务架构,spring全家桶,技术生态非常繁荣,如果做后端开发,那就选择Java;如果做安卓app开发就选择kotlin,这是androidstudio的亲儿子,天然支持所有语言特性。如果您精力旺盛,既也想要涉猎后端开发,也想要涉猎安卓app开发,做全栈工程师,Java和kotlin都学吧

Java、JS、C++ 依然强势,Go、Kotlin等新语言却不能破局吗,为什么

每一种语言的产生都是为了解决某一类问题的。没有最好的语言只有最适合的语言。新语言的产生一定会在它所针对的领域里如鱼得水,但是,经典语言依然会在其领域里无可替代。稳定的系统往往需要更牢靠的实现方案,那么经典语言就首当其冲。都是互补关系,替代未免有点极端!

C#这么优秀的语言为什么不流行

C#为什么不流行?

说到底这个锅该鲍尔默来背,他差点都把比尔盖茨一手打下的微软江山给败光了,更别说一个C#了。C#能做的JAVA基本都能做,JAVA不能做的有其他语言比C#做得更好,然后你的开源和跨平台还姗姗来迟,C#拿什么跟JAVA斗?

行业有个笑话,.NET最厉害的地方是跨平台,但是.NET最大的笑话也是跨平台。除了C++之外,能在.NET上运行的编程语言,是唯一一个能做到在所有平台上都能运行的编程语言,能把桌面MacOS、Linux、Windows,移动Android、iOS、WP(假设这玩意儿还在)全部跨完。不过遗憾的是,理想与现实总是残酷的,理论上是可以跨平台的,不过遗憾的是这么多年了微软一直都没跨出去。

这些年C#过得其实还挺憋屈的,前面的C/C++、JAVA交替做老大,两个老前辈C、C++时而来个青春走一回、容光焕发的,PHP、Python也是时常爆发,Go语言这个年轻人也是越来越强大,都实现自举了,可是C#呢打不过老年人,也打不过年轻人,其实还蛮惨的。

C#也不是一无是处

Windows应用程序,现在很多都是C#开发的,MSDN、SQLServerManagementStudio、Bing的很多服务,也都是用C#开发的,现在office365、Windows、VisualStudio也用了一些C#开发,C#现在还是Unity开发游戏的主要脚本语言。

微软自己的产品用C#自然是无可厚非,还有很多非微软网站也是用C#开发的。程序员问答网站StackOverflow、国内著名的技术博客网站博客园、国内程序员社区CSDN、开源中国,都是用C#开发的。以前当当、京东的核心技术栈也都是C#,不过后来才转向了JAVA技术栈。

C#其实能做的事情还蛮多的,Windows桌面应用开发,Web应用,也可以用来做移动开发,不过做得都比较差强人意。做桌面开发弄不过C++、现在甚至连Electron都弄不过了,除了一些B端应用,大家基本都不会选C#,Web应用方面弄不过JAVA和PHP,移动方面弄不过JAVA和swift,然后大企业也都有自己的技术栈,可是这些技术栈都跟C#无关。

C#、.NET,以及ASP.NET的关系,C#错过第一波红利

.NET是一个平台,本身实现的方式当然也是各种各样的库,理论上各种各样的编程语言都可以编译成其IL,然后在这个平台上运行,当然这个平台上面的编程语言很多,C#毫无疑问是这里面最重要的一个。ASP.NET是.NET主要用来做web开发的技术方案,当然这里面主要也是C#作为核心。

JAVA在96年面世,C#则是在2000年面世,JAVA的先发优势并没有那么明显,可是JAVA开源、免费的特点,让JAVA迅速攻城拔寨。C#有个好父亲、还是含着金钥匙长大的,C#的创造者安德斯·海尔斯伯格是TurboPascal编译器、Delphi的作者,在设计C#之前,已经是计算机工业界最伟大的科学家之一,后来又设计了TypeScript,打早了整个.NET体系。

C#语言设计本身在很多方面都是要超过JAVA的,可是吧微软早期的策略一直比较保守,不愿意跨平台,也不愿意开源,尽管安德斯·海尔斯伯格一直在努力推动这件事情,保守的鲍尔默领导下的微软错过了C#最好的几年,可是在这期间JAVA等编程语言不断攻城拔寨,C#终于还是输掉了未来。

C#输掉了移动互联网,大数据、云计算、AI也全都错过了

编程语言总得要抓住几个机会才能发展得更好,C#除了抓住了Windows,其余全都没有抓住,也许这就是命,当然跟微软自己作也有很大的关系。

你看Android爆发的时候选择了开源的JAVA,尽管现在Google因为这事儿天天被Oracle恶心;iOS自然不用说,人家先是objective-C、接着是swift,这个微软没办法;到了大数据时代,JAVA和Python又大发威风;云计算来了吧,你看Go语言又逐渐爆发了,越来越多的移动互联网企业比如字节跳动、B站也都转向了Go语言,就连Google、百度、腾讯也都在用Go语言;人工智能时代,C/C++做底层,Python用来做上层应用和算法。

你看几乎每一个重要的技术变革都跟C#无关。在大企业里面微软自己的核心技术栈都是C++,Google也是C/C++,Facebook是C和PHP,百度是C/PHP/Go,字节跳动是Python/Go,阿里巴巴是JAVA,B站是Go语言。你同样可以发现,这里面没有一家企业将C#作为核心技术栈。

C#本来可以有个很好的发展的,可惜微软自己作死,浪费了C#发展最好的几年,等到纳德拉上台之后,试图通过开源来发展C#的时候,已经来不及了。未来看微软的决心有多大,比如微软是否愿意将全功能的VisualStudio移植到MacOS平台,假设微软带着VisualStudio威力还是有点大的,不过这也可能反过来威胁到Windows的地位。

为什么不建议学kotlin

不建议学习kotlin是因为将失去两大优势。

1、对null进行了默认的处理,但是其他不正确的值还是需要手动处理。

2、对类可以随意扩展函数,如果不能不加以约束,协作开发的时候感觉会很乱。

文章到此结束,如果本次分享的为什么不建议学kotlin和为什么不建议用kotlin的问题解决了您的问题,那么我们由衷的感到高兴!

Java或将被Kotlin取代 现在学Kotlin还来得及吗