一提起最好的编程语言,PHPer一定会说,PHP是世界上最好的编程语言。
其实这个最好,实际上是有范围的。PHP对程序员来说是最好的。主要原因是,它能让程序员写代码最爽。
它是如何让程序员写代码最爽的?
PHP做到了以下几点:
1、不要考虑指针问题。PHP中没有指针。
2、不要考虑数据类型问题。任何变量均可以是任意类型。当然,对象除外。
3、不要考虑编译问题。解释执行,即刻运行,即刻调试。
4、不要考虑数据结构问题。PHP中没有Map, HashMap, Vector, Tree等复杂结构。平常编程,这类结构,只有一个数据类型:Array。当然这个好处,也有坏处,那就是初级程序员在这一方面容易写出低效率的代码。
在PHP中,Laravel则是最好的框架,原因也在于,它能让程序员写代码最爽。当然,仅仅是Laravel,未必百分百最爽。但Laravel开了这个头,于是Laravel社区拥有千万个组件,其中,大量的优秀组件,就是让你写代码写得爽的。并且,所以有仍在这条路上不断努力。
这里,推荐一下一些优秀的组件:
"bardoqi/sight": 这是一个解决把数据表中原始数据转换成可展示数据的组件。同时,它也解决了过度联表查询问题,为了一个字段,你大可不必做联表查询,而直接用它。
"barryvdh/laravel-cors": 这是用来解决跨域问题的优秀组件。
"barryvdh/laravel-ide-helper": 这是用来让你的开发更爽的组件,它可以让你的IDE能够智能感知。
"dingo/api": 这是API应用必选组件。
"intervention/image": 目前看来,最为优秀的图像处理库。
"intervention/imagecache": 与上一组件相同,这是用来处理cache的。
"ixudra/curl": 对Curl封装,让你的Curl调用更加简单。
"mmal/openapi-validator": API项目要做单元测试吗?怎么做?用它会简化很多。
"nasyrov/laravel-enums": 最好的枚举类型的数据结构支持。
"tolawho/loggy": 日志要按频道分文件写入吗?它帮助你完成了这个。所以,你不要再扩展monolog了,因为,它做完了,且做得很好!
"zircote/swagger-php": API在线调试,支持Open Api 3.0, 可以与swagger-ui结合使用。
不过,话说回来,PHP这个最好是有代价的。
第一,是限制的程序语言的可用范围。当然,所有语言都是的应用范围的,比如,汇编能程的,C不能全部能做,C能做的,C++也不能全部能做。
第二,程序灵活性上的牺牲。一旦写代码爽了,很多要写的东西就变得枯燥了。如同,原生JS,或JQuery给了你可创作的空间,但写起来不爽。但你去写VUE应用时,写得是很爽,很爽的结果是,枯燥增加。
所以,任何事情都有两面性。都要讲个平衡。
再说,这个所谓的世界上最限的编程语言,现在未必能继续这个称号,原因很简单,因为现在有了GO,当然,还有JULIA,RUST。不过,JULIA只是计算见长,不过,GO语言,RUST与PHP有一拼。这其中,GO最强。因为,GO的背后支撐是GOOGLE公司。而RUST后面则是Mozilla开源基金会。
笔者目前仍未用过RUST,但是,GO语言在写代码最爽,以及应用运行最爽中做出了新的平衡。而且,很有趣的是,GO中也有类似于LRAVEL的框架。一个让人写代码很爽的框架:buffalo。 所以,现在要这么说,GO也是世界上最好的编程语言。