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

cooling · 2017年12月13日 · 最后由 magicyang 回复于 2017年12月18日 · 3511 次阅读

请问,以后 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。表示有些尴尬😂

L. 回复

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

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

心向东 回复

哈哈😄

FelixKang 回复

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

恒温 回复

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

ting 回复

你说得在理

cooling 回复

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

L. 回复

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

15楼 已删除

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

rocl 回复

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

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

这么说吧,创业的公司一般喜欢用短平快的语言,比如 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 强推,还有人推么。。。培训班都没人培训移动开发了,唉。。。

2楼 已删除
cooling 关闭了讨论 05月24日 21:17
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册