Java or Python?初学者的选择
Java or Python?初学者的选择
有部分学员过来咨询,说自己拿不定主意,是学习java呢,还是学习python?今天我就给大家说道说道,关于这两个语言的选择问题。 我先表明下自己的观点,java和python这两门语言,都要学习,但是,要有先后顺序。 强烈推荐先学习java。java是个严谨、高效的编程语言,出道20余年,在编程兵器排行榜上,常年占据前三。从这就能看出java这门语言深得人心,是见过世面的编程语言,这么多年,什么风雨都经历过,从互联网草莽时代,凭借一己之力,为互联网推向全宇宙做出了不可磨灭的贡献,到了移动互联网时代,Android的兴起,让java又活出了第二个生命,羡煞旁人。再到大数据时代,java又毫无悬念的霸屏了,Hadoop的技术圈里,java始终是焦点。 以上就足以让你选择java了。至于python语言,现在火的不行,全宇宙都知道的编程语言,吸引了不少人的眼球,各大培训机构的标语都是大数据+python+人工智能了,这些趁热点的标语你看看就行了,别当真,当真你就输了。python是个脚本语言,极其灵活,极其好学,既然这么好,为啥不学呢?其实在编程界里,语言的灵活,其潜台词就是失控。 如果你是开发一些小项目,小工具,小功能,python也许你是的首选,灵活、易学的特性,让人欲罢不能。但是,如果你是在做一些中大型项目,多人团队开发的项目,python就不是你的首选了。有不少企业的大佬一开始拍脑袋决定使用脚本语言开发项目,到后来要么是死掉了,要么是变强大了,强大之后,就意味着人员不足,项目失控,脚本语言真心不适合后期的维护和扩展,人一多,项目就会变得失控和不可维护,坑自然就很多,整个项目就会拖死。不得已,很多项目都会迁移,从python迁到java,ruby项目迁移到java,这样的例子每天都在上演,何必呢! 有很多人嫌弃java,说java啰嗦,效率低。这些观点你在java8之前说说倒也在理,但是你现在还是这样的观点,我觉得你是有多无知呀,你有多久没关注java了,你有多信息闭塞,你有多久没学习了?java也不是一成不变,java8这个版本就增加了函数式编程,让代码大大的简化了,将脚本语言的一些特性加入进来,已经让java代码变得极其简介、高效。函数式编程让java代码变得灵活了,但是不失控,这是python语言很难做到的,从这一点上就没法和java比,再加上java的安全健壮可维护性,java已经不是从前的java了,它已经很优秀了。 还有人吐槽java开发项目慢,这也是老观点,现在使用springboot开发一个项目,不比那些脚本语言慢,不但不比它们慢,还比比它们稳定,行走江湖,就看中一个稳字,java做到了,而且做得很好,达到工业级标准,这还少脚本语言望尘莫及的。java在springboot的带领下,不但提升了开发效率,而且随时都可以改成当下最流行的微服务架构,背后有springcloud做技术支持,这又是各大脚本语言无可比拟的。 所以,我不建议小白们一开始就学习像python这样的脚本语言,由于它的灵活和不严谨,会给小白的编程生涯留下阴影。学java,让这个老牌、严谨、时尚、高效的编程语言带你入门,才是正道,虽然学习路线陡峭了些,但这是编程的基础,这样的基础很重要。 总之,我建议,小白们最好以java语言作为你的第一语言。python这样的脚本语言,都你找到工作后,再花几天的时间就能很快上手了,小孩子都能学得会的python,我相信你也可以。
原文链接:https://zhuanlan.zhihu.com/p/34194269
我的GitHub地址: https://github.com/heizemingjun我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
List集合就这么简单【源码剖析】
前言 声明,本文用得是jdk1.8 前一篇已经讲了Collection的总览:Collection总览,介绍了一些基础知识。 现在这篇主要讲List集合的三个子类: ArrayList 底层数据结构是数组。线程不安全 LinkedList 底层数据结构是链表。线程不安全 Vector 底层数据结构是数组。线程安全 这篇主要来看看它们比较重要的方法是如何实现的,需要注意些什么,最后比较一下哪个时候用哪个~ 看这篇文章之前最好是有点数据结构的基础:Java实现单向链表,栈和队列就是这么简单,二叉树就这么简单 当然了,如果讲得有错的地方还请大家多多包涵并不吝在评论去指正~ 一、ArrayList解析 首先,我们来讲解的是ArrayList集合,它是我们用得非常非常多的一个集合~ 首先,我们来看一下ArrayList的属性: 根据上面我们可以清晰的发现:ArrayList底层其实就是一个数组,ArrayList中有扩容这么一个概念,正因为它扩容,所以它能够实现“动态”增长 1.2构造方法 我们来看看构造方法来印证我们上面说得对不对: 1.3Add方法 add方法可以说是ArrayList比较重...
- 下一篇
ABAP和Java里关于DEFAULT(默认)机制的一些语言特性
ABAP 740的新语法: 上图的代码相当于: DATA: ls_data LIKE LINE OF it_data. READ TABLE it_data INTO ls_data WITH KEY object_ext = cl_crm_prodil_bo_names=>gc_prod_root. CALL METHOD add_data EXPORTING ir_child_object = ir_root_object is_data = ls_data. 由此可见新语法比较简洁,能少写3行代码。但是这样有一个缺陷,在新语法下如果it_data内表内不存在object_ext的值为cl_crm_prodil_bo_names=>gc_prod_root的记录,就会终止程序执行,抛出异常CX_SY_ITAB_LINE_NOT_FOUND. 针对这种情况,ABAP也有对应的解决方案。 下图的第17行会抛出异常,而19行不会,从语义上容易理解:如果内表lt_data里不存在name为Spring2的记录,则返回开发者使用DEFAULT关键字指定的一个结构作为默认值。 在J...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7设置SWAP分区,小内存服务器的救世主