转载声明:文章来源https://zhuanlan.zhihu.com/p/143247998
前言:本文旨在引导那些还徘徊在如何学习自动化/测试开发必备技能的同学们,如果已经是测开老手,请略过。
有不少同学会有选择恐惧症,可能会一直纠结该学哪种语言?其实有那些纠结的时间可能已经入门一门开发语言了。那么对于测试小白来说,选择哪一种开发语言才是最佳的选择呢?其实这一个问题可能会是一个致命题,无论回答哪一个都会迎来一场血雨腥风的征讨。以下就个人经验来对比两种用的最广泛的语言,对于零基础小白来说,可以参考一下然后选择最适合自己的语言进行学习。
工作这些年,面试过别的公司,也面试过不少候选人,总结来看,对于测试开发/自动化测试,用的最热门的两个开发语言是JAVA和python。
那么JAVA和python哪个更加适合新手入门呢?以下将从几个方面进行对比:
语言历史
java诞生于1995年,是一门以class为单位,高度面向对象的高级编程语言,因为Java的稳定性,很多公司采用其开发各种商用软件。
python于1991年被一位荷兰的大佬设计出来。目前也有不少知名的网站是由其开发出来的, 比如知乎/豆瓣等。
语言优点
Java语言架构安全稳定,速度快:Java是一种面向对象的语言,一次编写,到处运行,吸收了c++ 的各种优点,并且可以跨平台,应用十分广泛,前几年Java可谓是后端开发/自动化测试的必备语言。目前来看,一些大厂(比如阿里/字节跳动)都将其作为主语言。
python语言语法简洁,扩展性好:python语言近几年势头很猛,在GitHub的语言年度榜上面每年都在上升。有一个简单的例子(笑话):用其他语言写一个功能可能需要100行代码,而python只需要30行代码就能搞定。且python有很成熟的资源库,足以应付常见的各种问题。
语言缺点
Java:
性能:Java消耗内存,并且比本机编译的语言(例如C或C++)慢得多。
内存管理:在Java中,内存是通过垃圾回收管理的,每当垃圾回收器运行时,都会影响应用程序的性能。这是因为必须停止其中的所有其他线程以允许垃圾收集器线程工作。
强环境依赖:java系项目不敢升级jdk,风险更高,美其名曰稳定
Python:
慢:这是解释型语言的通病,用起来一行一行的执行,着实让人费劲
埋坑:不像java每次执行需要编译,如果有语法问题直接就报错,python可以直接执行,如果整体执行没用到那个地方就不会报错,可能会为后面埋坑。
伪并发:由于python的全局的一个GUI锁,导致python语言在执行的时候只能在单核CPU内不间断的切换,即使资源配置很好,可能都用不起来。
讨论了这么多,大家可能会有点迷惑,到底是学习python还是JAVA呢?总结来说一句话,如果你是先快速入门的那么推荐python,如果你有不少时间可能慢慢啃,那么推荐JAVA(毕竟不少大厂都在用JAVA)。因为要想成为一位优秀得测试开发,光学一门语言是肯定不够的,我们必须要掌握至少第二种开发语言。没有哪种语言最好,适合自己的才是最好的。
帖子还没人回复快来抢沙发