paip.php 与js 的相似性以及为什么它们这么烂还很流行。。
paip.php 与js 的相似性以及为什么它们这么烂还很流行。。
php与js异常的流行,web 90%都被他们统治了。发现了他们有意思的一些共性。。
结构一番总结,得出了它们共有的特点、特性:
===史上被骂最多的编程语言——除了JavaScript就是php
糟糕语言,垃圾语言,XXX很烂,玩具语言,骂名,受PHP/js毒害,狗屎
===设计匆忙
JavaScript“几天就设计出来了”,php也差不多
Ruby的设计者——松本行弘为此感叹:
“这样的出身,得到这样的成功,还真让人出乎意料,……”,
“但由于开发周期短,确实也存在着不足……”。
作者Attilax 艾龙, EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
====api垃圾
它绝不可能获得任何“年度友好API(Friendliest API of the Year)”的奖项!
===simple还是simple
俩个语言都被“专业人士”鄙视为玩具语言
===语法丑陋
怎么能和优雅的python,ruby,java 相比呢。
不一致的函数命名、使用惯例,以及其它一些怪异的东西
===简陋就是简陋,命名空间,闭包都没有,
当然最近听说山寨了java,c++的命名空间
====过程和面向对象的杂混
混乱混乱混乱
=====从来没听说过什么框架
面对而个框架满天飞的时代,这两个语言使用的框架依然很少,一定是上个世纪的遗老遗少
当然现在也山寨了不少
==== 编写简单,Ide依赖性弱
很多人没有使用过任何IDE。。
====两者都有着糟糕的设计
一定上个世纪的遗留
====语言结构混乱
====很低的入门门槛。。大家都是快枪手
====资源丰富(网上代码一抓 一大把)。。
几乎都是垃圾代码,烂狗屎
=====随处可见的HTML和SQL
找找代码中的HTML代码和SQL语句,你应该能够很快地辨别这些代码是否应该出现在这里。如果你发现一个文件里既有HTML又有SQL。。
而那些高大上的mvc,oop,orm 在这俩个语言里面都不待见。。
===好不容易有了oo,却被大家视为山寨,鸡肋。。
差不多一半人不认同oo,这些人都是垃圾程序员
===都是很烂,但是能用
他们的东西很烂,但是能用。。方便。
===ide调试困难
相对python来说
===随便代码写的再烂,都不会资源泄露
而python,ruby却有这个问题
===基本上80-90%的xxx项目都烂如一堆狗屎
===多核垃圾
不支持多核CPU,JavaScript没有线程的概念,也缺乏必要的线程同步手段,使得它几乎无法编写能充分应用客户端多核CPU计算能力的代码..php也是
====无法应对复杂的互联网应用程序,不支持大家己普遍熟悉的以类为模板的面向对象编程方式
ms现在山寨了不少,造成复杂度增高,遭到了广大的入门垃圾程序员的一致抵制
===都可以容易的嵌入到HTML,获得混乱的使用
===语法要求极其地宽松,灵活,一种实现N种写法,每个人的风格都大大不同
=========??最大的问题??为什么Php ,js这么烂还在流行??
一个东西可以很不堪但是很流行,比如塑料袋。
paip.php 与js 的相似性以及为什么它们这么烂还很流行。。的更多相关文章
- JS学习之路(这个觉得写的很好,放在这里是方便查看)
总则-都是对象,都是引用 在接触js前用的比较多的是java,在刚开始接触js的时候,老实讲,我是有点崩溃的,相信许多像我一样从后端语言向js转的童鞋们肯定有一样的感受,这玩意儿太灵活了,好像怎么样都 ...
- js便签笔记(13)——jsonp其实很简单【ajax跨域请求】
前两天被问到ajax跨域如何解决,还真被问住了,光知道有个什么jsonp,迷迷糊糊的没有说上来.抱着有问题必须解决的态度,我看了许多资料,原来如此... 为何一直知道jsonp,但一直迷迷糊糊的不明白 ...
- js中盒子模型常用的属性你还记得几个?
//clientWidth;//内容宽度Width+左右填充padding//clientHeight;//内容高度height+上下填充padding//clientLeft;//左边框的宽度相当于 ...
- spring boot+vue.js发送post时一直415,swagger却很正常
首先百度说要加header为applicaiton/json,加完后一直400,说json不符合格式,webstorm说要单引号,spring boot那边要双引号...... 后来不知道看了哪里说把 ...
- js优化提升访问速度
一.给JS文件减肥. 有的人为了给网站增加炫目效果,往往会使用一些JS效果代码,这在上个世纪似乎还很流行,对于现在来说,最好在用户体验确实需要的情况下,使用这些东西.至于希望给自己的JS文件减肥的童鞋 ...
- js函数的伪重载
这也是今天写东西是遇到的一个问题,导致我联想起了函数重载的问题. 在javascript中是没有函数重载机制的,对于用惯了java开发的同学可能就表示吃惊了,我屮艸芔茻,函数 没有重载?那怎么搞?!! ...
- 借助Nodejs探究WebSocket
文章导读: 一.概述-what's WebSocket? 二.运行在浏览器中的WebSocket客户端+使用ws模块搭建的简单服务器 三.Node中的WebSocket 四.socket.io 五.扩 ...
- Nodejs之WebSocket
文章导读: 一.概述-what's WebSocket? 二.运行在浏览器中的WebSocket客户端+使用ws模块搭建的简单服务器 三.Node中的WebSocket 四.socket.io 五.扩 ...
- 一张图告诉你最流行的 7 个 JavaScript框架特点
欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ AngularJ.js 由g ...
随机推荐
- Selenium2+python自动化20-Excel数据参数化
前言 问: Python 获取到Excel一列值后怎么用selenium录制的脚本中参数化,比如对登录用户名和密码如何做参数化? 答:可以使用xlrd读取Excel的内容进行参数化.当然为了便于各位小 ...
- php设计模式学习之观察者模式
什么都不说,先看代码: interface userOperateImpl { public function operate($username); } class userLoginLog imp ...
- Revenge of Nim hdu 4994 (博弈)
http://acm.split.hdu.edu.cn/showproblem.php?pid=4994 题意:现在有两个人在取石子,共有n堆石子,每堆石子取完后才可以取下一堆石子,最后一个取石子的人 ...
- 小甲鱼python视频第十讲(课后习题)
1.list1[0]与list1[0:1]的区别 2.分片的步长 3关于列表的copy(注意list2与list3的区别) list1 = [,,,,,,] list2 = list1[:] list ...
- 使用 IntraWeb (43) - 测试读取 SqLite (二)
一般情况下, 数据源相关控件应该有数据模块中统一管理, 这也方便其他窗体调用; UserSessionUnit 就是一个现成的数据模块. 现在把数据源相关控件放在 UserSessionUnit 的窗 ...
- 使用 IntraWeb (40) - 自定义 Session 数据
修改 UserSessionUnit 单元: unit UserSessionUnit; interface uses IWUserSessionBase, SysUtils, Classes, IW ...
- JSON代码小计
//strut json配置 <package name="mall_theme_ajax" extends="json-default" namespa ...
- net.sf.json.JSONObject 和org.json.JSONObject 的差别
http://my.oschina.net/wangwu91/blog/340721 net.sf.json.JSONObject 和org.json.JSONObject 的差别. 一.创建jso ...
- web cookie and session
一.什么是会话? 打开一个浏览器,访问多个网址后,再关掉浏览器,这一整个过程就是会话. 二.cookie技术 这是客户端保存临时数据的技术,主要用于保存用户的登录信息及其它需要保存的数据,如购买与结帐 ...
- Mysql --分区表(5)Columns分区
COLUMNS分区 COLUMNS分区是RANGE和LIST分区的变种.COLUMNS分区支持多列作为分区键进行分区 RANGE COLUNMS分区和LIST COLUMNS都支持非INT型列作为分区 ...