其实这个问题可以从三个方面来回答:
语法层
应用层
如何自学
- 从语法层来说,都是c语系。关键字,操作符,以及语句差别不大,都能跨平台,都是基于解释型(或虚拟机)的语言。
java是强类型,通用语言,可以用于客户端,服务器端等各种环境。
而php本身定位服务器语言,并且是弱类型语言。
随着时间的推移,你会发现,原本各种脚本语言越来越向面相对象,面相接口编程,并且逐渐向强类型过度的趋势。
为什么呢?
因为现在的程序越来越复杂了,不是几句增删改查能解决的。各种框架是建立在设计模式,mvc,mvvm等思想理念上的,要求你的语言支持继承,支持多态,支持数据隐藏等等。
所以php也在改革,改得越来越像java了。
而且大型程序,强类型有着天然优势,例如编译器错误检查,函数签名自解释,内存使用量小非常多,等等等等(例如typescript现在优势逐渐显示出来了)。
所以我的结论,如果你一开始学,还是选java比较适合。
个人建议而已!
我不想引起语言之争!
- 从应用层来说,不管哪门语言,学了语法就是掌握格式而已,真正的应用是需要很多基础知识
首先,肯定是数据结构要掌握,你不会抽象结构,不会一些基础容器操作,那根本没办法走远
其次,业务知识。如果你做服务器开发,那么tcp/ip http等基础协议至少要了解。各种常用类库要会用。如是更加专业的领域,例如金融之类的,那么还需要行业知识
然后,面相对象和设计模式一定要多了解,多学习,多模仿,多应用。当然这个是靠你自学以及经验的,需要慢慢累积
就是一句话,多动脑,多动手,多查资料
- 关于如何自学,我个人经验是:
选定一个开源项目就不要换,深入了解源码。
一定要学会跟断点,各种调试方法。
分析项目的各个模块,各个类之间的关系,为什么要这么做
要学会google,baidu。拼命了解术语和关键字。建立对代码的敏感性触觉。
树立崇拜对象。我的偶像是约翰卡马克和安德斯海尔斯伯格。哈哈
介绍两本热血沸腾的书:
《Doom 启示录》
《宝蓝传奇》
我是看着doom启示录 选择quake引擎研究了5年 从一个电脑白痴到深入的了解了一把编程之道
以你所学源码为基础进行知识的学习。
任何知识都是具有延续性(上下扩展)和延展性(左右扩展)
随着时间的增加,你会积累越来越多知识。
反正一口气吃成一个胖子.那是不可能的!