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 的相似性以及为什么它们这么烂还很流行。。的更多相关文章

  1. JS学习之路(这个觉得写的很好,放在这里是方便查看)

    总则-都是对象,都是引用 在接触js前用的比较多的是java,在刚开始接触js的时候,老实讲,我是有点崩溃的,相信许多像我一样从后端语言向js转的童鞋们肯定有一样的感受,这玩意儿太灵活了,好像怎么样都 ...

  2. js便签笔记(13)——jsonp其实很简单【ajax跨域请求】

    前两天被问到ajax跨域如何解决,还真被问住了,光知道有个什么jsonp,迷迷糊糊的没有说上来.抱着有问题必须解决的态度,我看了许多资料,原来如此... 为何一直知道jsonp,但一直迷迷糊糊的不明白 ...

  3. js中盒子模型常用的属性你还记得几个?

    //clientWidth;//内容宽度Width+左右填充padding//clientHeight;//内容高度height+上下填充padding//clientLeft;//左边框的宽度相当于 ...

  4. spring boot+vue.js发送post时一直415,swagger却很正常

    首先百度说要加header为applicaiton/json,加完后一直400,说json不符合格式,webstorm说要单引号,spring boot那边要双引号...... 后来不知道看了哪里说把 ...

  5. js优化提升访问速度

    一.给JS文件减肥. 有的人为了给网站增加炫目效果,往往会使用一些JS效果代码,这在上个世纪似乎还很流行,对于现在来说,最好在用户体验确实需要的情况下,使用这些东西.至于希望给自己的JS文件减肥的童鞋 ...

  6. js函数的伪重载

    这也是今天写东西是遇到的一个问题,导致我联想起了函数重载的问题. 在javascript中是没有函数重载机制的,对于用惯了java开发的同学可能就表示吃惊了,我屮艸芔茻,函数 没有重载?那怎么搞?!! ...

  7. 借助Nodejs探究WebSocket

    文章导读: 一.概述-what's WebSocket? 二.运行在浏览器中的WebSocket客户端+使用ws模块搭建的简单服务器 三.Node中的WebSocket 四.socket.io 五.扩 ...

  8. Nodejs之WebSocket

    文章导读: 一.概述-what's WebSocket? 二.运行在浏览器中的WebSocket客户端+使用ws模块搭建的简单服务器 三.Node中的WebSocket 四.socket.io 五.扩 ...

  9. 一张图告诉你最流行的 7 个 JavaScript框架特点

    欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~​ AngularJ.js                                                  由g ...

随机推荐

  1. UIScrollViewDelegate

    一.执行顺序:(scrollView加后面的)willBeginDragging         // 将要开始拖拽,手指已经放在view上并准备拖动的那一刻 DidScroll           ...

  2. Springmvc4 com/fasterxml/jackson/core/JsonProcessingException

    非常感谢: 谭卓博客 springmvc4 json springmvc4 集成hibernate4 出现 NoClassDefFoundError:com/fasterxml/jackson/cor ...

  3. Linux命令(2)- mv

    mv 功能:可以用来移动文件或者将文件改名. 格式:mv [选项] 源文件或目录 目标文件或目录 说明:mv命令将文件重命名或将其移至一个新的目录中.第二个参数类型是文件时,mv命令完成文件重命名,此 ...

  4. HDU 3974 Assign the task(dfs建树+线段树)

    题目大意:公司里有一些员工及对应的上级,给出一些员工的关系,分配给某员工任务后,其和其所有下属都会进行这项任务.输入T表示分配新的任务, 输入C表示查询某员工的任务.本题的难度在于建树,一开始百思不得 ...

  5. oracle系统表查询

    oracle查询用户下的所有表 select * from all_tab_comments -- 查询所有用户的表,视图等select * from user_tab_comments -- 查询本 ...

  6. 如何MSHTML命名空间解析HTML文件(MSHTML::IHTMLDocument2Ptr 提示错误)

    1.创建Win32或MFC工程. 2.在预编译或需要使用MSHTML命名空间的头文件中添加以下语句: #include <atlbase.h>    #include <Mshtml ...

  7. python-flask 框架使用 flask_mongoengine

    开发环境配置 再使用 mongodb 之前,需要先安装 pymongo ,以及flask_mongoengine 1. 切换到 virtualenv 环境 . /pyenv/bin/activate ...

  8. css3新属性@ text-shadow

    text-shodow是css3的新属性,可以利用这个属性使字体更有立体感,还可以创造有趣的效果. 1.语法形式:text-shadow : x-offset(x轴偏移量) y-offset(y轴偏移 ...

  9. vs代码段快捷键设置

    1 工具->代码段管理器

  10. 关于java中线程休眠的另一种写法

    编辑器加载中... 优先使用TimeUnit类中的sleep() TimeUnit是什么? TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的 ...