PHP不是最好的语言 -- 两个凡是

宏哥 发布于 2016/09/27 21:51
阅读 1K+
收藏 0

PHP基本上只适合以下两种场景:

1:脚本

2:Web

其它方面,我是 不用PHP的

加载中
4
老查
php不太适合写脚本,内存释放是个问题
eechen
eechen
你不会file_get_contents一股脑把数据都读入内存吧?文件大的话应该用文件指针fopen/while(!feof($fp))/fgets一行行操作,这样操作PHP内存是不可能上G的,除非你的数据文件非常大而且只有一行.
老查
回复 @eechen : 我用php写过脚本,处理几十万数据,内存占用不断累积,变量用完后都unset一下的,但更本没什么鸟用,我把执行最大内存加大到3个G才能跑完,但如果要处理的数据量增加的话,估计执行内存也会超出3个G
eechen
eechen
PHP WorkerMan和Swoole服务可都是CLI下的脚本守护进程服务.另外,一个MineCraft的服务器端实现PocketMine-MP也是用PHP实现.https://www.pocketmine.net/
eechen
eechen
你不会连PHP基础的unset释放内存的语法结构都没用过吧,unset释放,立竿见影,才不要等什么基于引用计数的GC来回收.
1
ked
ked
胡说八道,分明还有几大领域你漏掉了:操作系统、大数据、实时计算、神经网络、单片机、移动设备。哪个php做不来?信不信我让php跑在浏览器里,让那些用javascript的全失业?还有,信不信我用php写个phpsql数据库,让你宏哥失业?连php的设计哲学都不懂跑来黑php。你不用php用什么语言?信不信我用php开发一个语言让你失业?
0
dy810810
dy810810
目测这是要开撕的节奏啊
0
eechen
eechen
WPF(CSharp)有XAML,Qt(CPP)有QML,Flex(ActionScript)有MXML,而我大PHP有通用的HTML! 与其用"PHP-GTK"构建GUI应用,还不如用传统的"PHP-HTML"基于Web实现UI. PHP全称是"HTML预处理器(Hypertext Preprocessor)",HTML就是PHP默认的UI语言. php -S localhost:8080 就能建立一个支持PHP编程内置SQLite的本地HTTP服务器. 去掉不用的扩展,打包PHP解释器和你的脚本,大小才几个MB,比DotNet和Java运行时小太多. Electron/NW.js打包的应用是几十MB,而PHP打包的应用只有几个MB,小了一个数量级. 调用浏览器访问本地PHP建立的HTTP服务器,支持离线运行的GUI应用不就出来了么? 而且还不需要像Electron/NW.js那样自带几十MB的Web运行时. PHP7中支持用opcache.file_cache导出脚本opcode实现源代码保护.

PHPDroid打包PHP7的同时也打包了Swoole,方便广大PHP开发者在Android这个我们触手可及的Linux上使用PHP+WebView构建Android应用,APK包大小还不到6MB.

HTML是一种奇妙的语言,它能为没有图形界面的操作系统开发一个图形化的管理界面,比如我们常用的路由器管理后台.你看phpMyAdmin,它既可以部署在没有图形界面的服务器,也可以打包PHP解释器部署在客户端本地,都能实现对MySQL的可视化管理,你说厉害不厉害?就这点而言,其他那些本地程序实现的MySQL管理工具简直弱爆了,而这就是HTML的优越性.

PHP的UI实现是HTML,而HTML的性能是浏览器的事,跟PHP无关. HTML构建的UI应用已经很复杂,看看Adobe Brackets,Github Atom这些编辑器, 看看所见即所得编辑器UEditor,看看Echarts这些图表, 看看形形色色的Web应用,你还在怀疑用HTML构建UI的可行性么?

Java开发的GUI程序体验确实很差,还不如用HTML.
做安卓开发的同事尝试HTML+CSS+JS后说:
Android Layout是原始社会的产物.

HTML和CSS面向UI和交互,可以近乎精准地还原设计,它们是声明性语言,不是命令性语言.声明性语言为设计而生,你只需告诉它我要个黑色背景就可以了,这是语言层级的支持,而不像命令式语言想的是如何实现一个黑色背景.除了HTML和CSS之外,和它们绑定到一起的还有JavaScript,一门很长一段时间只能运行在浏览器中同DOM进行交互的语言.

phpMyAdmin这种带有比较复杂DataGrid管理功能的程序,用的还不是jQuery?所以不要以为用jQuery就落伍,jQuery有jQuery的设计哲学,没有好坏之分,只有适合与否之分.jQuery+PHP,Write Less Do More,至少很适合我自己,而且在Web上得到大规模应用也说明它们不俗的价值.

B/S(Browser/Server)属于C/S(Client/Server),因为Browser本身就是一种Client.B/S里的Server可以部署在本地,所以B/S架构也可以开发本地桌面应用.
0
回去干活
回去干活
这个的确要支持,打算拆分业务逻辑,全部用golang,然后php做view调用服务.
0
geminiblue
geminiblue

用来做做view,不过前后端分离之后,连view都不做了,至于脚本么,用go或者python写了,比如db与cache之间的数据对比,比如雪崩之后,db到cache的快速同步,说实话,这些指望php,真会被跑的累死,至于eechen的一堆,jQuery不是php这边的,人家是js阵营的,一个前端库,你php能用,人家java也能用,这玩意是html里面用的,跟php有个毛关系。难不成你在server端直接操作某个dom去?

eechen
eechen
PHP is Hypertext Preprocessor是什么?就是HTML预处理器. 所以说,有HTML的地方,有HTTP的地方,有浏览器的地方,就有PHP用武之地. jQuery可以在浏览器操作HTML实现交互,PHP可以在服务器操作HTML实现逻辑, 相辅相成,设计哲学都是"Write Less Do More".
eechen
eechen
回复 @小紫羽 : 前后端分离?先解决SEO/IE8以及打败jQuery再说吧.
小紫羽
小紫羽
有句调侃的话,“接下来的六年都是前端元年”,前后分离是趋势,但是不是那么容易的。
0
狂飙的小蜗牛
狂飙的小蜗牛

引用来自“eechen”的评论

WPF(CSharp)有XAML,Qt(CPP)有QML,Flex(ActionScript)有MXML,而我大PHP有通用的HTML! 与其用"PHP-GTK"构建GUI应用,还不如用传统的"PHP-HTML"基于Web实现UI. PHP全称是"HTML预处理器(Hypertext Preprocessor)",HTML就是PHP默认的UI语言. php -S localhost:8080 就能建立一个支持PHP编程内置SQLite的本地HTTP服务器. 去掉不用的扩展,打包PHP解释器和你的脚本,大小才几个MB,比DotNet和Java运行时小太多. Electron/NW.js打包的应用是几十MB,而PHP打包的应用只有几个MB,小了一个数量级. 调用浏览器访问本地PHP建立的HTTP服务器,支持离线运行的GUI应用不就出来了么? 而且还不需要像Electron/NW.js那样自带几十MB的Web运行时. PHP7中支持用opcache.file_cache导出脚本opcode实现源代码保护.

PHPDroid打包PHP7的同时也打包了Swoole,方便广大PHP开发者在Android这个我们触手可及的Linux上使用PHP+WebView构建Android应用,APK包大小还不到6MB.

HTML是一种奇妙的语言,它能为没有图形界面的操作系统开发一个图形化的管理界面,比如我们常用的路由器管理后台.你看phpMyAdmin,它既可以部署在没有图形界面的服务器,也可以打包PHP解释器部署在客户端本地,都能实现对MySQL的可视化管理,你说厉害不厉害?就这点而言,其他那些本地程序实现的MySQL管理工具简直弱爆了,而这就是HTML的优越性.

PHP的UI实现是HTML,而HTML的性能是浏览器的事,跟PHP无关. HTML构建的UI应用已经很复杂,看看Adobe Brackets,Github Atom这些编辑器, 看看所见即所得编辑器UEditor,看看Echarts这些图表, 看看形形色色的Web应用,你还在怀疑用HTML构建UI的可行性么?

Java开发的GUI程序体验确实很差,还不如用HTML.
做安卓开发的同事尝试HTML+CSS+JS后说:
Android Layout是原始社会的产物.

HTML和CSS面向UI和交互,可以近乎精准地还原设计,它们是声明性语言,不是命令性语言.声明性语言为设计而生,你只需告诉它我要个黑色背景就可以了,这是语言层级的支持,而不像命令式语言想的是如何实现一个黑色背景.除了HTML和CSS之外,和它们绑定到一起的还有JavaScript,一门很长一段时间只能运行在浏览器中同DOM进行交互的语言.

phpMyAdmin这种带有比较复杂DataGrid管理功能的程序,用的还不是jQuery?所以不要以为用jQuery就落伍,jQuery有jQuery的设计哲学,没有好坏之分,只有适合与否之分.jQuery+PHP,Write Less Do More,至少很适合我自己,而且在Web上得到大规模应用也说明它们不俗的价值.

B/S(Browser/Server)属于C/S(Client/Server),因为Browser本身就是一种Client.B/S里的Server可以部署在本地,所以B/S架构也可以开发本地桌面应用.
你丫的是不是有病,实在想发直接写个链接到你博客就行,别特么复制这么一大堆,你不知道托滚动条很累啊
0
钛元素
钛元素

引用来自“eechen”的评论

WPF(CSharp)有XAML,Qt(CPP)有QML,Flex(ActionScript)有MXML,而我大PHP有通用的HTML! 与其用"PHP-GTK"构建GUI应用,还不如用传统的"PHP-HTML"基于Web实现UI. PHP全称是"HTML预处理器(Hypertext Preprocessor)",HTML就是PHP默认的UI语言. php -S localhost:8080 就能建立一个支持PHP编程内置SQLite的本地HTTP服务器. 去掉不用的扩展,打包PHP解释器和你的脚本,大小才几个MB,比DotNet和Java运行时小太多. Electron/NW.js打包的应用是几十MB,而PHP打包的应用只有几个MB,小了一个数量级. 调用浏览器访问本地PHP建立的HTTP服务器,支持离线运行的GUI应用不就出来了么? 而且还不需要像Electron/NW.js那样自带几十MB的Web运行时. PHP7中支持用opcache.file_cache导出脚本opcode实现源代码保护.

PHPDroid打包PHP7的同时也打包了Swoole,方便广大PHP开发者在Android这个我们触手可及的Linux上使用PHP+WebView构建Android应用,APK包大小还不到6MB.

HTML是一种奇妙的语言,它能为没有图形界面的操作系统开发一个图形化的管理界面,比如我们常用的路由器管理后台.你看phpMyAdmin,它既可以部署在没有图形界面的服务器,也可以打包PHP解释器部署在客户端本地,都能实现对MySQL的可视化管理,你说厉害不厉害?就这点而言,其他那些本地程序实现的MySQL管理工具简直弱爆了,而这就是HTML的优越性.

PHP的UI实现是HTML,而HTML的性能是浏览器的事,跟PHP无关. HTML构建的UI应用已经很复杂,看看Adobe Brackets,Github Atom这些编辑器, 看看所见即所得编辑器UEditor,看看Echarts这些图表, 看看形形色色的Web应用,你还在怀疑用HTML构建UI的可行性么?

Java开发的GUI程序体验确实很差,还不如用HTML.
做安卓开发的同事尝试HTML+CSS+JS后说:
Android Layout是原始社会的产物.

HTML和CSS面向UI和交互,可以近乎精准地还原设计,它们是声明性语言,不是命令性语言.声明性语言为设计而生,你只需告诉它我要个黑色背景就可以了,这是语言层级的支持,而不像命令式语言想的是如何实现一个黑色背景.除了HTML和CSS之外,和它们绑定到一起的还有JavaScript,一门很长一段时间只能运行在浏览器中同DOM进行交互的语言.

phpMyAdmin这种带有比较复杂DataGrid管理功能的程序,用的还不是jQuery?所以不要以为用jQuery就落伍,jQuery有jQuery的设计哲学,没有好坏之分,只有适合与否之分.jQuery+PHP,Write Less Do More,至少很适合我自己,而且在Web上得到大规模应用也说明它们不俗的价值.

B/S(Browser/Server)属于C/S(Client/Server),因为Browser本身就是一种Client.B/S里的Server可以部署在本地,所以B/S架构也可以开发本地桌面应用.

引用来自“狂飙的小蜗牛”的评论

你丫的是不是有病,实在想发直接写个链接到你博客就行,别特么复制这么一大堆,你不知道托滚动条很累啊
就是,我鼠标滚轮坏了,只能点右侧的滚动条
狂飙的小蜗牛
狂飙的小蜗牛
打飞机都没这么累
0
李落雨
李落雨
何必纠结谁是最好语言这个问题呢!
返回顶部
顶部