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. 一步一步写平衡二叉树(AVL树)

    平衡二叉树(Balanced Binary Tree)是二叉查找树的一个进化体,也是第一个引入平衡概念的二叉树.1962年,G.M. Adelson-Velsky 和 E.M. Landis发明了这棵 ...

  2. iOS大神牛人的博客集合

    王巍的博客:王巍目前在日本横滨任职于LINE.工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发.他的陈列柜中已有多款应用,其中番茄工作法工具非常棒. http://onevca ...

  3. tomcat 支持ssi功能配置

    1.SSI是Server Side Includes 的缩写,是嵌入到HTML页面的一组指令的集合.在返回请求的页面(包含SSI指令前),服务器会处理这些指令,并用处理的结果替换指令,然后把页面返回. ...

  4. 内存管理运算符new delete与内存管理函数malloc free的区别——已经他们对对象创建的过程。

    (1)内存管理函数与内存管理运算符的区别 内存管理函数有内存分配函数,malloc calloc realloc 以及内存释放函数free. 内存管理运算符有new 和delete. 两种内存管理方式 ...

  5. [Chapter 3 Process]Practice 3.3 Discuss three major complications that concurrent processing adds to an operating system.

    3.3  Original version of Apple's mobile iOS operating system provied no means of concurrent processi ...

  6. mysql 全文搜索的FULLTEXT

    FULLTEXT索引 创建FULLTEXT索引语法 创建table的时候创建fullText索引 CREATE TABLE table_name( column1 data_type, column2 ...

  7. spring随想

    //不定时持续更新 1.拦截器通过配置文件,在某方法前后添加一些处理,如权限判断等,减少了改方法需要处理的事,是其更专注,由配置文件来设定责任链,更灵活,而且责任链能够复用(一方面是这样能由sprin ...

  8. mysql.sock

    Mysql有两种连接方式: (1)TCP/IP (2)socket 对mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用. 例如你无须定义连接host的具 ...

  9. hdu 5726(二分)

    GCD Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepted Sub ...

  10. sql把一个表数据插入到另一张表

    把一个表数据插入到另一张表 insert into tableB (field1,field2,field3,field4) select field1,field2,field3,'val4' fr ...