作为一名从业多年的程序员,同时也是一名IT行业的教育工作者,我来一下这个问题。
首先,从发展趋势来看,Python语言无疑具有明显的优势。
Python语言虽然并不是一门新出现的编程语言(实际上Python比Java面世还要稍微早一些),但是Python语言在近几年的上升趋势非常明显,主要原因是Python在大数据和人工智能领域的广泛使用,随着产业互联网的发展,Python语言未来的发展前景还是非常值得期待的。
Python语言未来发展趋势较好的原因有以下几点:
第一:大数据有广泛的发展前景。当前大数据正处在落地应用的初期,未来大数据将伴随产业互联网的发展广泛落地到传统行业,而Python在大数据分析等领域具有一定的优势,这也会进一步促进Python的应用。
经过从业20多年开发经验和对行业的发展需要,我个人建议,学习.net的是比较好的,.net既可以搞传统的桌面应用开发,又可以用.net做互联网跨平台开发,开发效率和成本综合起来还是比较优秀的, Java在互联网应用有开源比较早的优势,.net core现在已经全面开源并可夸平台应用,对为使用.net开发传统桌面应用系统的升级开发的开了挂,大量使用开源对你成为顶级程序员并没有好外,Python这门语言就更不用说了,搞数据挖掘人工智能都是一些顶级公司干的,估计没有几个人有机会进入到这个领域,要的也不是开发能力,应该是数学逻辑分析能力,其他公司基本上都是拿这些公司做好的成果来应用。
投C#一票,现在.net5的跨平台和开源环境都不错,.net core相对之前的性能提升很强。maui和java互操作都在下一个版本的.net6里,比较看好[灵光一闪]
我做c#的,我觉得微软耽误了黄金时间,收费高,导致社区和开源项目少,虽然语言现在版本感觉比java好,新的跨平台也其实更好了,但用的人少,尤其企业更少了,以至于很少人去了解这个了
java由于社区环境和开源项目多,而且主要从事这个得人多,企业人员流失容易补充,我们公司现在都正在转型java了
python自己学过,感觉上手快,简单,现在各种数据分析,人工智能都在用,但工具简单,你真能做的了需要行业经验的数据分析么,人工智能数学基础要求很高,不然不是写不出来就是调参数的机器人
个人建议还是偏向java
Python,JavaScript,C#后劲十足
最有生命力的还是.NET/C#家族,其扩展能力强,无论是跨平台,还是数据库、音视频、图像处理,或者系统未来要对接各种低端外设硬件、整合不同平台的多个独立应用联合作业,都非常方便,这一点是JAVA难以企及的。
语言都是相通的,不要太纠结于语言本身,需要什么就学什么。存在即合理,不要一定分出个1234来,没啥意义。
如果从长远的职业规划发展考虑,建议掌握java,因为这门语言技术在构建大型系统架构的能力上是其它技术不可比拟的(社区资源、巨头企业产品支撑、标准化、行业人才)而系统架构师级别的职位,是大多数软件工程师的职场目标。实际上学习java重点、难点在于掌握基于java语言所衍生出来的各种框架技术,大至分布式系统应用、小至测试工具,总之java的复杂不在于其语法本身,而在于对设计模式、系统架构、项目管理方法等抽象理念的掌握(这些概念并不是理论方案,在JAVA业内有很多具体的产品辅助实现)同时要去研究和熟悉各种开源框架技术的实现原理。如果全方位掌握JAVA及其衍生的各种框架技术,这个周期会很长很长。个人建议分两步走,第一步掌握该语言的基础编程知识,大概花两到三个月的时间。然后去学习最新的groovy/grails技术,特别是grails这套框架技术,整合了java业内有史以来各种主流技术(以springframework为基础整合了完整的企业级应用开发技术架构),并且以非常简练的语法用于实现和应用。其使用的简单程度甚至超越python、ruby等敏捷开发语言。groovy的出现,其目的就是将越来越复杂的java技术应用给予最大程度的简化-用开发者习惯来代替java原生的强约束编程模式,让你少走弯路。
个人感觉,Python会步dephli的后尘,最终会消声灭迹,因为他没有大厂在背后为他背书,java是个方向,毕竟他打通了C/S,B/S,移动端三个平台,而且尽力了那么多年的进化,总体而言,.NET和JAVA是值得信赖能长期生存下来的平台,而python的火热貌似培训中心有很大的功劳
如果从学习难度讲,最难的是java,最简单的是python。从找工作的角度讲,java最容易,Python最难。趋势上看,python在上升,java在下降。不过,如果工业互联网能成气候,最看好的是c#。