文档章节

是时候放弃php了

sidney9111
 sidney9111
发布于 2016/11/28 15:02
字数 767
阅读 51
收藏 0
点赞 0
评论 0

写过几年android,也不得不说我是支持php多过java的

(当初我还不是懂很多程序的时候,我就知道歪果仁,比较直接,名字也比较直接,javascript是必定和java有些关系的)

看看javascript之父怎么说:

仅仅一个月之后,1995年5月,网景公司做出决策,未来的网页脚本语言必须"看上去与Java足够相似",但是比Java简单,使得非专业的网页作者也能很快上手。这个决策实际上将Perl、Python、Tcl、Scheme等非面向对象编程的语言都排除在外了。

Brendan Eich被指定为这种“简化版Java语言”的设计师。

但是,他对Java一点兴趣也没有。为了应付公司安排的任务,他只用10天时间就把Javascript设计出来了。

由于设计时间太短,语言的一些细节考虑得不够严谨,导致后来很长一段时间,Javascript写出来的程序混乱不堪。如果Brendan Eich预见到,未来这种语言会成为互联网第一大语言,全世界有几百万学习者,他会不会多花一点时间呢?

总的来说,他的设计思路是这样的:

 

(1)借鉴C语言的基本语法;

(2)借鉴Java语言的数据类型和内存管理;

(3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;

(4)借鉴Self语言,使用基于原型(prototype)的继承机制。

 

所以,Javascript语言实际上是两种语言风格的混合产物 ----(简化的)函数式编程+(简化的)面向对象编程。这是由Brendan Eich(函数式编程)与网景公司(面向对象编程)共同决定的。

多年以后,Brendan Eich还是看不起Java。他说:

 

“Java(对Javascript)的影响,主要是把数据分成基本类型(primitive)和对象类型(object)两种,比如字符串和字符串对象,以及引入了Y2K问题。这真是不幸啊。”

 

----

简单来说作为一种内嵌脚本javascript肯定不是php,java能比,100%的程序猿用js写html脚本,事实胜于雄辩,难道那些人是傻的么。。。。。。。而且主要是所有浏览器都这么支持的,难道那些浏览器开发者也是傻的么(例如有10+个浏览器,其实只有2种浏览器内核,chromrium和火狐,这个就不详细说了,不要告诉我你混开源中国这么9了还不知道)

php和java有什么好争的呢?PHP和java比面向对象,而java要和php比脚本式写法,就好比是蚂蚁和大象比较,除了都是地球上的生物,真美什么可比较的。

我不喜欢java,但是我同样也不是很喜欢php,都是面包惹的祸,我们都需要面包,差不多是时候离开微信公众号了,走了才分享,这是开源么?

http://tools.poparkbtt.com/?spm=0.0.0.0.c6GEwT

 

本文转载自:

共有 人打赏支持
sidney9111
粉丝 17
博文 12
码字总数 4597
作品 0
广州
其他
如何跨越PHP学习瓶颈

如何跨越PHP的学习瓶颈 “千军万马过独木桥”,这句话用来形容编程的学习过程好像在适合不过了。PHP也不例外,大量的语法结构,函数式,面向对象和高密度封装等把小鸟们刚开始学习编程的激情...

张沫
2010/08/23
1K
14
用php实现ios多条数据推送的时候出现“fwrite() [function.fwrite]: SSL: 您的主机中的软件放弃了一个已建立的连接。” 求指点

用php实现ios多条数据推送的时候出现“fwrite() [function.fwrite]: SSL: 您的主机中的软件放弃了一个已建立的连接。” 求指点

samuel2012
2013/12/16
148
0
dedecms刚进后台卡的原因

测试调试的时候,做的本地host,发现进后台的时候很卡。 检查后发现是卡在安全检测环节。 原因: 刚进后台的时候,系统会ajax调用admin/index_testenv.php脚本,这个脚本负责检查目录权限等。...

吾爱
2013/04/09
0
5
zend studio、netbeans、phpdesigner使用后的感受

使用php作为开发语言一年半的时间来,经历从zend netbeans phpdesigner 三个IDE工具。特记下其中的心得,这是自己的总结(仅限参考)。 zend是我一开始接触php就用的工具,当时我是已经学了一...

路边拾草人
2011/10/29
0
6
php5.5-win64位下curl扩展不能开启解决方法

运行环境:window 64 / php5.5+ 错误描述:Call to undefined function curl_init() 解决方法: 1 、在网上搜了半天,谷歌百度都用上了,什么改php.ini配置文件开启curl扩展、改httpd.conf加...

码上有春天
2015/04/08
0
11
读书笔记网站建设之我放弃zblog-php博客系统的三个原因[图]

很早以前我就接触了博客,而在10年前,写博客是一种时尚,大量的博主将自己的经验心得和学习资料放在个人博客上分享,这对于互联网的发展来说非常重要,因为大家需要一个交流和互动的平台,每...

原创小博客
07/12
0
0
成为一个 PHP 专家:缺失的环节

这一篇文章是“Becoming a PHP Professional”系列 4 篇博文中的第 1 篇。 当浏览各类与PHP相关的博客时,比如Quora上的问题,谷歌群组,简讯和杂志,我经常注意到技能的等级分化。问题都类似...

oschina
2014/02/27
5.3K
54
PHP学习过程感悟经验和懂得坚持的力量

接触php已经几个月,从开始的什么不懂到现在的可以自己写程序,感觉真的很好,之间有放弃和不放弃的纠结,本人懒惰 能自学一门php编程真的不容易。我用做的第一个站一个小广告公司企业网站,...

西西爱OS
2012/09/29
0
0
对于新手学习PHP的规划建议

关于自学PHP,这方面的很多资料,我几乎没有看到过一个满意的答案,我该构建一个什么样的体系,如何构建,从哪开始?下面就是小编总结的学习网站开发(使用PHP)的过程,如果你有基础或已经了解...

丶辉
2016/08/18
269
4
《从零开始学Swift》学习笔记(Day 62)——Core Foundation框架之内存托管对象

原创文章,欢迎转载。转载请注明:关东升的博客 内存托管对象 Swift中调用Core Foundation函数获得对象时候,对象分为:内存托管对象和内存非托管对象。 内存托管对象就是由编译器帮助管理内...

智捷课堂
2016/01/20
32
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

崛起于Springboot2.X之集成MongoDb使用mongoTemplate CRUD(27)

1、pom依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.7</version></dependency><dependency> <groupId>log4j</......

木九天
8分钟前
0
0
切分log日志

新建logback.xml放到resource里面 <?xml version="1.0" encoding="utf-8"?><configuration> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <......

talen
13分钟前
0
0
spring @Resource 和 @Autowired 的使用区别

这两个 注解 @Resource 和 @Autowired , 常识都知道 @Resource 是 JAVAEE 自带的,@Autowired 是 spring 的自定义注解。 一般情况下, 使用 bean的时候, 这两个注解 随便使用一个即可。 但...

之渊
18分钟前
0
0
springboot集成elasticsearch客户端问题记录

1背景说明 服务端ES版本为5.5.2,springboot版本为1.5.6。 工程中添加如下依赖 2问题记录 2.1 NetworkPlugin类找不到 报错java.lang.ClassNotFoundException: org.elasticsearch.plugins.Net...

zjg23
20分钟前
1
0
快速构建ceph可视化监控系统

前言 ceph的可视化方案很多,本篇介绍的是比较简单的一种方式,并且对包都进行了二次封装,所以能够在极短的时间内构建出一个可视化的监控系统 本系统组件如下: ceph-jewel版本 ceph_expor...

万建宁
20分钟前
0
0
Java构造器使用注意

public class 父类A {int age = 10;protected void say() {System.out.println("父类A");}public 父类A() {override();}public void override() {Syst...

咸鱼AI
20分钟前
0
0
TensorFlow 线性分类

构造直线 z = 2 * x - 3 * y + 4 x0*w0+x1*w1+b=0 x1=-x0* w0/w1-b/w1 斜率 k= -w0/w1 截距 -b/w1 随机生成数据,加入一定的偏差,用直线将二维平面分为两部分 使用线性模型拟合参数 损失函数...

阿豪boy
24分钟前
0
0
翻译冒泡排序测试

翻译一个冒泡排序: var a = [1,3,2,4,6,5];var f = 0;var n = a.length ;for( var i =1; i<= n; i++) { for( var j = n-1 ; j >= i; j --) { if(a[j] < a[j+1]) { ......

钟元OSS
25分钟前
0
0
maven父、子级版本号同时修改

命令: mvn versions:set -DnewVersion=0.0.2-SNAPSHOT

沉默的懒猫
26分钟前
0
0
Spring boot中的异常处理之注解响应

Controller层 return patientRepository.findById(id) .orElseThrow(() -> new NotFoundException(String.format("Patient %d not found", id))); Exception类 @ResponseS......

亚林瓜子
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部