Node.js 感觉 Node.js 也是 MongoDB 的命,忽悠一帮小青年

hi2016 · 2015年12月09日 · 最后由 1279802320 回复于 2016年01月25日 · 12859 次阅读

前两年 mongodb 炒的多火,面试官必问的一项就是 nosql,好像马上就要革 sql 数据库的命。结果现在呢?老老实实呆在它该呆的角落了,大部分业务需求还是 sql 数据库挑大梁。

现在 nodejs 颇有两年前 mongodb 的架势,不会 nodejs 就不是极客,不折腾下 hexo 都不好意思写博客(不就是 10 年前的生成真静态吗,还不如那时候 asp 版的生成静态博客顺手),只有会用 nodejs 些后台才是极客范儿。

纵观这些炒的火的技术,都有一个特点:【新潮,老一代程序员没有这方面的积累】。这是最吸引新生代程序员的地方,而不是因为它的技术优秀吸引的,新生代程序员在经验上被老一代吊打,只能幻想出来一门新技术把老技术淘汰掉,这样就可以跟老一代在同一起跑线上了,并且自己年轻精力旺盛,学的比老一代更快,这样就可以吊打老一代程序员了。两年前最支持 mongodb 的正是那些连 sql 三个范式都不懂,多表关联查询都被绕晕的新手程序员,他们希望 mongodb 能解放他们帮他们逆袭。现在那帮追捧 nodejs 的熊孩子也是这种心态,java、php、rails、python 等生态已经成熟,再去啃这个硬骨头必被吊打,他们就幻想着踩个新场子也当一回先驱。

你想太多了,Nodejs 给前端带来了很大的改变,也不要拿他和 mongodb 比,各有各存在的价值,重要的自己用得爽,用起来合适就行。

#2 楼 @hxh1246996371 改变确实很大,让前端终于有机会写后端了,不过后端可不是简单的增改删查,有复杂的业务逻辑和现实需求,跟前端基于事件的驱动完全不一样

#3 楼 @hi2016 我指的不是用它来做网站,其实目前它最大的作用就是作为一个命令行工具来使用,让前端能够去自动化构建项目,

nodejs 很屌吗?就是不鸟他

然而多表关联查询已经在被淘汰了。 多语句查询在有查询缓存的情况下性能说不定会更高。 思考问题不要只停留在表面现象,要深入下去,探究事物的本质,你才能搞懂为什么这技术或者那技术会流行起来。

你说的 NodeJS 也是这样。JS 语言框架的优势就在于事件驱动。 所以你会很惊讶地发现一个原生连多线程都不支持的环境竟然能做到这样的性能。 新技术流行起来是有道理的,因为这些新技术解决了某一些问题。 你提到的那些应该算作滥用技术,万事提 NoSQL 或者 NodeJS,没意义。 但是在特定场景上,比如高并发高流量的环境下,这些技术轻松吊打那些你认为成熟稳定的老技术。 再借助前端的 V8 引擎,Node 要演变成一个成熟的高并发环境并不难。 (连最难搞的运行时编译器都有人白送了,还有什么不满意的。)

最后提醒你一句,生成静态博客最流行的工具之一 jekyll,是基于 ruby 的。

#3 楼 @hi2016 为何不直接用后端语言解决。。

  1. NodeJS 真的不错的
  2. 一个 JS 工程师可以做前端也可以做后端,对于不好招人的公司或者团队来说是一个不错的消息
  3. Google 这个干爹不只是一个幌子,Ruby 如果找到一个靠谱的干爹肯定可以再火一把

楼主吐槽晚了,Node 已经火过了

楼主你呀,too young,naive。

node 就是白送一个 JIT。。 event io ruby 想有也能有

楼主吐槽晚了 +1

业界流行,为了解决一个新的问题就发明一门新语言

相信楼主的话说出了好多程序员的心声。 无论对错,不同声音确实能引发其他人的思考。

Node.js 么 21 天 erlang 大法好, erlang 还兼容 PHP 语法

不懂 sql 三个范式,多表关联查询怎么了?不懂这个一样能把 mongodb 用好! Node.js 也是 MongoDB 的命是个什么意思?mongoDB 不行了吗? Nodejs 不行了嘛?我看现在他们还是很火热啊,也没听说哪家公司因为用了这两个技术而导致出现重大问题的。

没有过时的技术,只有不思进取的人

#19 楼 @numbcoder 我的意思不是 mongodb 和 nodejs 不行了,而是这两项技术回归它本该呆的位置:作为主流技术的补充,而不是革主流技术的命,也革不了。

Paul Graham《不能说的话》

刚毕业时,有特别关注过,工作第二年开始,回归了根本:扎实 Ruby 开发(前后端),熟透了微信开发,解决温饱后,现在开始向 ios 开发这个方向发展,仍然是优先考虑让自己生活的更好; 当然从未放弃数据库原理、算法、架构之类的学习,只是当成一种爱好,因为公司的产品还未演化到需要更深层次的知识来支撑,只能算是当作一后备力量; 对于新技术,保持敏感是需要的,谁知道将来会不会成为主流,说不定你不小心就变成了专家了呢?

还是得一步步努力,把基础慢慢地打好,选择了就要专注

24 楼 已删除

瞎说什么大实话呢

React, React Native, Ember.js 都很好啊,我更希望被叫做 ES2015 程序员。

#26 楼 @ericguo 话说,这个 React 有没有什么入门教程推荐?

有时候,问题是怎么处理字符串。有些人可能都答不上。

有时候,问题是怎么处理字符串。有些人可能都答不上。

#26 楼 @ericguo 2015 马上要结束了

#27 楼 @blacktulip react-native-guide不错,里面其实 React 内容很多。

我是是一个特别老的程序员,我认为 nodejs 是近期唯一一个值得深入学习掌握的技术,融合前后端。

感觉 node 还是会慢慢地成长起来的,势必是个趋势,无论前端还是后端都避不开的技术了

#33 楼 @cloudqq 我不觉得是融合前后端,一样的语法但是解决问题的思路完全不一样。只能说是降低了学习多种语言的复杂性。不过说回来,哪个工程师不会个 4 5 种语言呢(举例:js css html 算三种)

#35 楼 @zj0713001 强烈赞同,前后端的差异不是语言的差异,而是思路的差异,前后端用不同的语言刚好可以把两种思路隔离开来,不至于混淆。

nodejs eventmachine 不用等 IO 速度快适合 web 应用啊

#37 楼 @lithium4010 屠龙之技而已,目前为止,95% 以上的 web 应用,瓶颈不在速度,而那 5% 瓶颈在速度的,95% 以上瓶颈不在语言。再者,非阻塞并不是 nodejs 特有的,为了 nodejs 的这个优点忍受那根本不适合后端的语法,不值得。

nodejs 对前端工程化起了很大的作用。。。

#39 楼 @pynix 对的,他们老是在说用 Node 做应用,忽略了对前端工程化的重要作用。

个人认为 Node 是个革命性的技术,其作用不可估量

看看 Node 在阿里双 11 里的应用,大概就没人说这是忽悠小青年的技术了吧:https://www.zhihu.com/question/37379084

#39 楼 @pynix 说到点子上了。

我觉得不是,弄的还是很有前途的。我的这个网站就是几个人用 node.js+mongodb 写的 @hi2016 可以来看看,提提意见,我还特意集中整理了一些 node.js 的内容,我看好 node.js。http://www.hubwiz.com/course/?type=nodes&ch=rubyc

需要 登录 后方可回复, 如果你还没有账号请 注册新账号