个人意见初学者(非数学背景)学习编程,以TIOBE排名前十为样本(本人都写过项目):
纯语言难度:
C++ > JS > C > Object Pascal > C# > Java > Python > Go > http://VB.net > PHP
文献、体系生态难度:
Java > JS > C++ > C# > http://VB.net > Object Pascal > C > Go > PHP > Python
快速上手难度:
C++ > C > C# > JAVA > http://VB.net > Object Pascal > JS > Go > PHP > Python
综合难度:
C++ > Java > C > C# > Object Pascal > JS > Go > http://VB.net > PHP > Python
从语言本身来说,Java是一门限制相当死板的语言,经验很少的工程师在Java上也不会犯太大的错误,语法元素和细节也并不多,集成环境成熟,所以语言本身不难学。但是Java背后的推手都是传统的巨头,所有知名大公司都有一定规模的应用,因此文献资料很少照顾非科班学习者,生态体系高度封闭,包库数量浩瀚而且都有巨头的身影,可谓入门容易,深入难。
Java的难不在语言,而是在庞大的生态和一些刻意建设的专业壁垒
PHP和Python对初学者当然最有亲和力,尤其是Python,拥有良好的交互编程体验,每一件事都能立即实作,标配包库包罗万象。PHP则是学习建站的最佳入门,PHP语法远比Python简单易懂,基于上下文的类型推断,尤其适合处理Web文本流。
其他的,Object Pascal纯粹吃老本了,只有些老项目在维护,社区不活跃,商业支持也衰颓没有学习价值;C++ 不适合初学,语言太过于花哨,安全保护太少,不加以限制成精的老司机也照样翻车,初学没人监督容易养成非常恶劣的习惯;C底层语言东西少,可以给初学者学,但是入门太过于枯燥建议结合嵌入式开发学;C#、http://VB.net都是M$的封闭生态,本身并不难入门,不过社区不算活跃,VB语法简单易上手,C#大多也都不难,两者很多概念都共通,不同的只是C#的野心大,背负的东西很多,纯语言学习初学者比学Java更容易踩坑;Go语言东西少,语法简单,稍有点经验的人都可以自己编写Go语法分析器,自带的包库也很易用,自带丰富的工具和工程管理规范,也是一条学习的路
哦,忘了说JS,这门语言太太太花哨,几乎不亚于C++的花哨,放纵很多相当不安全的使用习惯,不加以限制,也是容易走火入魔。不过单说上手的话,真心是很简单的。
java是否合适非科班者自学入行?
于 2022-04-13 15:35:38 首次发布