新手区 Kotlin 在测试领域会不会有一番大作为

bill · December 13, 2017 · Last by magicyang replied at December 18, 2017 · 2046 hits

请问,以后Kotlin在测试领域会不会有一番大作为,更多的测试API来对其支持?

共收到 22 条回复 时间 点赞

我以前寄望nodejs来让QA实现尽可能的全栈,但是nodejs发展偏离了全栈,只是成了前端工程师的工具,没成为各种语言的粘合剂,也没成为一门合格的服务端开发语言,举个简单的例子,你应该没见过有团队用nodejs去调用hadoop spark的场景吧,nodejs的语法发展很快,但是这挡不住他落后的现状,它优秀的异步机制很多语言也都实现的很好,而且语法更简单。只是都没nodejs那么“火”而已。

后来我选择了Scala,Scala基于JVM,可以跟Java交互,同时自己也能通过scala.js项目跟前端js交互,以及通过scala.native与native交付替代c编程。所以我选择了scala。但是scala的问题是它能调用java任何的项目api,但是java却不能调用scala的很多特性,scala调用一些java语言特性的时候也非常的繁琐,两者不是完全互通。另外是scala项目背后的团队很学术,追求高深的理论忽略工程化的痛点被工业界诟病很久,同样被诟病的还有sbt构建工具,一个完全拖累scala发展的构建项目。另外scala本身是学术驱动,背后的商业支持公司lightbend其实是没有全部押宝scala,他的很多框架产品比如Play AKKA都谨慎的提供了java scala双语言支持,服务模式也变成了把scala的产品生态往java语言上靠拢。

IDEA背后的公司jetbrains对scala的很多特性很恼火,因为他要做全语言的IDE工具,他们期望可以有全能的语言,尤其是无法忍受scala无法与java 100%互通。所以他们从scala项目里提取了很多特性并重新打造为Kotlin。在Kotlin早期的官网上曾经写过一段话,原话忘记了,大意是

如果你喜欢scala就一直用scala吧,我们希望是打造一门简单高效的工程化语言

后来kotlin火了后,这段容易挑起政治斗争的话就从官网上消失了,可能在个别地方还能偶尔看到。Kotlin在语言特性和语法上几乎跟Scala如出一辙。可以认为是The Good Part Of Scala。

从目前kotlin的特性来看,kotlin继承了scala的很多优秀特性,自身也实现了对jvm、js、native的编程支持,而且背后有强大的团队和公司在支撑语言发展,所以发展势头不可阻挡。就算没有google的支持,这门语言也会成为Java的继任者。对QA或者测试工程师来说,用一门语言去测试Android、iOS、前端、后端,还只需要用一门语言就可以开发服务网站,这的确是挺美好的事情。

当然也会有一部分人会说,你看Python不就随着大数据和人工智能发展起来了,难道Python不是未来嘛。其实这只是短暂的,一般新的领域都是会优先在动态语言上获得开发和测试生态环境,然后逐步迁移到可以大规模工程化的静态语言上。就如大数据早期Python和R就是先锋官,后来就是Hadoop、Spark、Storm、Flink的天下了,人工智能也在走类似的发展轨迹。

我建议大家了解跟进下。其实很多研发工程师也在跳坑中,国外的一些优秀的app开发商早也已经入坑了,当然大家也可以再等等,坐等时间红利。我也在考虑转kotlin,也在等时机。

个人觉得不会。用新语言对国内广大测试人员来说太难了,于是现实中会产生的问题就是招不到人。有能力自学的太少了z

语言这个东西一通百通的
我是先学的python 然后现在在学JAVA
准备JAVA了解的差不多了 去看看这个NBB的kotlin 学无止境

学好java吧

java 转 Kotlin 并不困难,但是 Kotlin想超过java 确要很久

恒温 回复

之前一直用java。目前公司中统一要求python。表示有些尴尬😂

bill #7 · December 15, 2017 作者
_Long 回复

你静心学习,一切都不是问题,以前我巨讨厌python.现在觉得可能思想没转变,python 也有其优点。

bill #8 · December 15, 2017 作者

谢谢,大神,耐心仔细的回复,我是看了你的appcralwer视频后,你说的建议大家有空入手下kotlin.所以才发此贴。谢谢,大神扩展我们的思维。

bill #9 · December 15, 2017 作者
心向东 回复

哈哈😄

bill #10 · December 15, 2017 作者
FelixKang 回复

大神,厉害。我以前习惯java.讨厌python.现在慢慢习惯python

bill #11 · December 15, 2017 作者
恒温 回复

嗯٩(•̤̀ᵕ•̤́๑)ᵒᵏ

bill #12 · December 15, 2017 作者
ting 回复

你说得在理

bill 回复

嗯 正在努力学习、使用中···

_Long 回复

你们公司这种做法会伤害自己公司的。Python作为胶水语言挺好的,但是用来搞所有的事情并不是特别推荐。国内90%以上的服务都是Jvm上的。

java也不能丢,python也要努力学。目前测试都在用python。
那请教个问题思寒,哪些工作适用java哪些工作适用python呢?

_Long 回复

其实我觉得一般来说不存在绝对的哪些工作适合专门的语言
需要什么语言,就调研下,然后选用什么语言即可
个人感觉java用途稍微稍微广一些,我用python写过一些小的脚本,flask框架写过一个内部用打包网站,一个app的自动化;觉得python不适合商业上的网站,内部网站用用没关系,公开的官网用python实现,觉得性能上不行

rocl 回复

知乎这个网站,就是用python写的,tornado框架。

Java学扎实了,想学其他真的也不难。
保持自驱力,加油

_Long 回复

这么说吧,创业的公司一般喜欢用短平快的语言,比如php,rails on ruby,flask on python,但是后面规模扩大后,这些模式都会遇到问题,就会开始架构拆分,这个时候差不多就会都转到了java或者go上了。前期是生产力第一,所以哪个语言开发效率快速、生态全就用哪个。但是一旦稳定后服务器成了规模,服务器和架构维护成本就成了大头了,这个时候就得上更稳定的架构和更快的引擎。服务器集群规模达到上千台的时候,性能提升一两倍,几乎就是千万级别的收益了。

python的好处,第三方库很多很丰富,开发速度快
(1).github用rails on ruby开发的,这个性能上应该说是经受住考验的,毕竟是面向全球的
(2).至于"知乎这个网站,就是用python写的,tornado框架",我不知道知乎使用python写的,不了解github和知乎的线上实际情况,不好评判

FelixKang 回复

我也是先学python后学java,各种语言大同小异,python更简单,java更啰嗦,但也更严谨。在测试领域,个人感觉python还是应用更广泛,但是在互联网开发领域,java占有率应该是第一的,所以作为一个测试工程师,被逼得没办法,只能两种语言都学。

如果纠结用那种语言更好的话,说明你语言还没有一门真正的入门。
不要太纠结所谓的语法糖,喜欢用语法糖的必然是快速迭代的小工程。
真正学会一门语言,1到2个月,足够切换一门语言到多线程并发开发的程度。
PS: 做ANDROID应用的我,最近也在考虑再转次行,KOTLIN除了ANDROID强推,还有人推么。。。培训班都没人培训移动开发了,唉。。。

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up