php 和nodejs 的各自优势有哪些,如果无基础开始,要学那个好

JavaScript017

php 和nodejs 的各自优势有哪些,如果无基础开始,要学那个好,第1张

作者:MiseryLee

链接:http://www.zhihu.com/question/35117771/answer/61377174

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。

以上这句话摘于百度百科。PHP的语法是公认的比较独特的语法了,集百家之长,再加以创新。学习过OO的同学们一定会对此倍感亲切。不过对于我并不长的PHP编码经历,让我无法忍受的一点就是PHP的变量名必须在前面加一个$符号了。

至于Nodejs,Node本身就是Javascript语言,对于Web前端脚本开发者来说,学习Node简直是如鱼得水。Javascript作为脚本语言,在代码的编写上有极大的自由(画外音:PHP也是脚本语言好么!),但是Javascript的异步编码风格确实是让以学习同步编码风格的语言入门的同学Hold不住。

在语法方面,我更倾向于Nodejs(毕竟人家是写Javascript出身的233333)。PHP对于臣妾来说写的实在太累啦~

2.效率

这一点其实没有必要比较了,

Web语言效率问题,PHP还是Nodejs

看一下这里一楼的大大说的。

Nodejs凭借高效的V8引擎和它非阻塞异步I/O的特性,在其执行效率上远远超过了其他的脚本语言。

Node.js比PHP快14倍!

这里这位大大在效率方面分析的更加到位。当然我并不是在追捧Nodejs,就像这位大大说的

这不是简单语言细节之争,而是语言框架之争。将Node.JS这种异步机制从Javasctipt搬移到其他语言PHP .NET Java其实都会取得比原来堵塞方式有数十倍提高。

3.使用场景

毋庸置疑,这两种语言都是为Web开发而生。PHP多样化的内置方法和库,让Web开发变得极其的方便和高效,成熟的语言框架也给开发者提供了足够高的健壮性和稳定性。而Nodejs以其强大的特性吸引了大量的开发者为其贡献扩展库,Nodejs项目虽然还很年轻,但是已经聚集了大量的开发资源。

4.小结

毕竟对PHP了解的较少,所以以上言论中难免有点偏向于Nodejs,但是PHP发展多年屹立不倒肯定是有它的道理的,百度还用的PHP呢。

至于Nodejs,作为一门新兴(并不新啊,Javascript可比PHP老多了)语言来讲,它独特的设计特性足够吸引开发者向它看了。

最终回到题主的问题,不知道题主说的没有基础是指完全没有编程基础还是没有服务器开发基础?

如果完全没有编程基础的话,我建议题主还是先去学习C语言,先入了这一行,再选工具吧~

如果有编程基础的话,如果之前是学习OO的,建议先从PHP入手,毕竟更容易过渡,并且网络上对于PHP的资料要比Nodejs多得多。

如果之前学习过Javascript,我还是建议先从PHP入手,就像上面说的,先入了这一行,再选工具。服务器开发也算一个小行了,如果对服务器开发不了解,对网络机制不了解的话,先从PHP着手,把这些相关知识补充起来。

如果实在是被Nodejs的优势吸引住了的话,我建议先好好学习Javascript高级编程,深入理解一下异原型链和回调机制,这会对入手Nodejs有极大的帮助。

如对您有帮助,望采纳,谢谢

nodejs安装及环境配置:

此处的环境配置主要配置的是npm安装的全局模块所在的路径,以及缓存cache的路径,之所以要配置,是因为以后在执行类似:npm install express (后面的可选参数-g,g代表global全局安装的意思)的安装语句时,会将安装的模块安装到【C:\Users\用户名\AppData\Roaming\npm】路径中,占C盘空间。

例如:我希望将全模块所在路径和缓存路径放在我node.js安装的文件夹中,则在我的安装目录下创建两个文件夹【node_global】及【node_cache】。

关键步骤:

缓存路径和全局路径:

npm config set prefix “D:\Program Files\nodejs\node_global”

npm config set cache “D:\Program Files\nodejs\node_cache”12

注:1、在安装路径D:\Program Files\nodejs\下需要创建node_cache和node_global文件夹,

D:\Program Files\nodejs\node_global 下需要创建node_modules文件夹/2、安装最开始的方法,打开系统属性-高级-环境变量,在系统变量中新建 变量名:NODE_PATH,变量值: D:\Program Files\nodejs\node_global\node_modules。

《Node.js开发指南》(郭家宝(BYVoid))电子书网盘下载免费在线阅读

资源链接:

链接: https://pan.baidu.com/s/1Sd2152Wk6TZIfdgNoYERnA

提取码: 7ha5  

书名:Node.js开发指南

作者:郭家宝(BYVoid)

豆瓣评分:7.5

出版社:人民邮电出版社

出版年份:2012-7

页数:178

内容简介:

Node.js是一种方兴未艾的新技术,诞生于2009年。经过两年的快速变化,Node.js生态圈已经逐渐走向稳定。Node.js采用了以往类似语言和框架中非常罕见的技术,总结为关键词就是:非阻塞式控制流、异步I/O、单线程消息循环。不少开发者在入门时总要经历一个痛苦的思维转变过程,给学习带来巨大的障碍。 而本书的目的就是帮助读者扫清这些障碍,学会使用Node.js进行Web后端开发,同时掌握事件驱动的异步式编程风格,以便进一步利用Node.js的高级特性。

作者简介:

郭家宝(BYVoid),清华大学计算机系2010级本科生,曾获得信息学奥林匹克竞赛(NOI)金牌。他从中学开始涉足开源开发,参与过「汉典网」等许多Web项目的前后端设计开发,同时是Linux输入法ibus-pinyin的作者。他从2009年Node.js诞生之始,就一直在关注它的发展,有过许多用Node.js建立网站的经验,活跃于CNode社区。