后台语言比较多。在选择方面 PHP vs. Node.js,想请教一下建议。Node有崛起之势,就像以前一样,比较少人涉足程序员这个职业,所以敲代码敲代码。
回复内容:
就进化来说,js速度快于PHP,ES6还没普及,都开始ES7了,语法变化太多,三天不写就跟不上,Node就更快了,一天一个版本,Express更偏激,找个去年的代码样例都跑不了,很多变了。
PHP谈不上语言设计,也没有美感,写多了,甚至有点想吐,但PHP是实用主义,能出活啊,出活快啊,Node.js先不说js的回调能不能适应(Promise),回调中的异常捕捉等等问题,但javascript并非为web专生,写web欠缺的东西很多,比如sprintf没有、strftime没有、strtotime没有,连获取时间戳都要 parseInt((new Date()).getTime()/1000),模板解析也没有,当然这些都可以依赖第三方包,结果是写一个小东西,到处都是 require。
PHP就简单多了,基本上你需要的内置函数都有,实用来说,Node还差很多。
题主想自己玩玩还是拿来谋生?
拿来玩玩就在这里继续看答案。
想找工作去拉勾看看自然有答案了。学会一门优秀的技术然后没有没有offer也是很苦恼的。
写过7年PHP,5年Javascript,让我从头选,我选Javascript。
原因如下:
PHP到目前仍然只是WEB后台语言,Javascript已经是全栈语言(WEB,桌面,移动,嵌入式,数据库等都有重要应用),如果编程语言是一种投资,Javascript的长期回报更高。
PHP在实际编程环境里主要仍然是一种OO语言,Javascript实际场景里的多范式应用随处可见(OOP,Functional,Event Driven,Declarative Programming等等),学习Javascript能打开你的思维。
WEB开发无可避免的是全栈开发,当你需要做前端的事的时候,Javascript是唯一的目标语言。
Javascript的工具链比PHP的灵活,迭代更快,社区支持更好(PHP的核心社区小很多);再者,PHP能做的,还没发现Javascript在V8上做不了的。
当然是 Haskell 了,连 Facebook 这样的写 PHP 的公司都开始用 Haskell 处理一些高性能服务了。
常见疑问:
一、Haskell 小众,职业选择不多。
答:学了 Haskell 分分钟转 Node.js 不是问题。
二、学不会怎么办?
答:首先,你要试试才知道智商够不够。其次,到时候还可以参考本问题下其它回答。
看答案没用,每个人都会推荐他心中的神器,但是实际上带有太强的主观性能,这也是无法避免的,因为不存在精通所有语言的人,俺感觉cpp js这四门语言够了。
中小项目。首推Rails。
PHP代码丑陋,Node.js玩玩可以,真做项目头疼。
唯有Rails,写Web项目如行云流水。拥有中小企业快速起步所必须的开发效率。
ROR也是国外初创企业的首选。例如:twitter airbnb 500px kickstater square hulu producthunter等等
各种强大的GEM,比如登录管理Devise、图片上传管理Papaerclip、角色权限管理cancan等等。令一般编程语言3天5天才能搞定的功能,在Rails里面几分钟就搞定了。
一个用PHP和PYTHON需要写到绝望的项目,用Rails可能一个月就搞定了。
看图。Github上的语言排行,JavaScript还是比Php要火一点点的。
要么有社区,要么有爹。
在有爹方面,Java、C#、Golang比较好。Java有Oracle/IBM等厂商支持,C#有Microsoft支持,Golang有Google支持,都是有实力的公司。PHP勉强可以算有爹,毕竟有Zend/Facebook/Sina等公司支持和使用。Node.js这种东西就算了吧。
在有社区方面,Java、C#、PHP、Python比较好,Golang发展的速度也比较快。
感觉PHP现在仍处于上升趋势,在天朝PHP第一估计10年内没有问题,更何况PHP要7了
题主要找工作的话,还是PHP吧,别听忽悠去学小众技术。