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 ...
随机推荐
- LVS集群类型
一.LVS-NAT 简述:多目标的DNAT,通过Director修改请求报文中的目标地址和端口为LVS挑选出来的某RS的RIP和PORT实现转发 特点: (1)RIP和DIP必须在同一网络,且应该使用 ...
- ASP.NET ZERO 学习 事件总线
用于注册和触发客户端的全局事件. 介绍 Pub/sub事件模型广泛用于客户端,ABP包含了一个简单的全局事件总线来 注册并 触发事件. 注册事件 可以使用abp.event.on来注册一个全局事件.一 ...
- [转] swf文件加密基础
本来打算下班回来就写这个东西,一方面算是对今天学习的一个笔记记录,另外一方面,给一些朋友普及一些swf文件加密基础知识.之所以说是基础,那是因为我也是刚学习了一点,灰常的基础.不过晚上看了一会我是传奇 ...
- Python:迭代器
迭代器:可以被next()函数调用并不断返回下一个值的对象称为迭代器. 可迭代对象:可以直接作用于for循环的对象. 基本方法:iter()和next() 迭代器创建: 例1: list = ['a' ...
- nodeJS分层
一.nodeJS分层 分为三层: - 表现层:接受用户数据,并封装 - 服务层:与公司业务有关的东西,处理判断呀什么的 - 持久层:与数据库有关的 表现层:page与表现层的数据传递,route ...
- 分布式日志1 用c#的队列写日志
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- StringGrid 实例5 本例功能:字体修改为居中,红色,20号
实例5 本例功能: 在FireMonkey中StringGrid对于字体的调整由于没有font属性和onDrawCell事件使得变得有些麻烦,后来费了一些功夫才找到方法.但由于XE3中某些属性还是没有 ...
- singleton注意
如果singleton里面的构造函数里面对资源进行了初始化,那么程序退出时,需要一个release进行资源释放,并且设置instance = null;
- noip2014-day1-t2
题目描述:无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离. ...
- Find Minimum in Rotated Sorted Array leetcode
原题链接 直接贴代码,这道题是 search in rotated sorted array leetcode 的前面部分! class Solution { public: int findMin( ...