网络框架及;可用库:选择Node.js而不是Python是一个勇敢的举动吗?

网络框架及;可用库:选择Node.js而不是Python是一个勇敢的举动吗?,python,node.js,server-side,serverside-javascript,Python,Node.js,Server Side,Serverside Javascript,我现在有相当一段时间(一两个月)才能真正开始学习网络编程语言;所以我仍然担心学什么语言 无论我选择哪种编程语言,我都必须在学习该语言的同时学习JavaScript,因为它是客户端脚本的首选 我在看:(1)Python、Ruby、JavaScript(Node.js——服务器端&jQuery——客户端)(2)DBMS-PostgreSQL(3)无论如何,我都要学习C/C++语言(但在我学习了上面提到的高级编程语言之后) 所以,问题是,选择Node.js/JavaScript进行服务器端编程是一个勇

我现在有相当一段时间(一两个月)才能真正开始学习网络编程语言;所以我仍然担心学什么语言

无论我选择哪种编程语言,我都必须在学习该语言的同时学习JavaScript,因为它是客户端脚本的首选

我在看:(1)Python、Ruby、JavaScript(Node.js——服务器端&jQuery——客户端)(2)DBMS-PostgreSQL(3)无论如何,我都要学习C/C++语言(但在我学习了上面提到的高级编程语言之后)

所以,问题是,选择Node.js/JavaScript进行服务器端编程是一个勇敢的举动吗?(从某种意义上说,勇敢,学习Python会容易得多,也会好得多,选择Node.js只会让你变得勇敢/愚蠢)

需要考虑的要点:

  • 我相信Python、Ruby和所有的东西都会有一个美好的未来。Node.js也会享受同样的乐趣吗?你认为呢?(长期计划)

  • 可用性web框架:Node.js是否有一个与Django(或Pylons)一样成熟和完整的框架

  • SO社区和网络支持的可用性:也就是说,如果出现问题,我需要帮助,我是否可以确保SO社区会给我一些好的回复?我的意思是,如果是Python、C/C++等,我肯定会的

  • Node.js是否比Python编写代码太慢

为什么我会想到Node.js?

  • 我读过关于Node.js的评论/回答,说Node.js比Python、Ruby或PHP等其他高级语言快得多。对不起,就像我说的,这不是我的意见
  • 如果我选择Node.js,我基本上只需要学习一种编程语言——JavaScript。(我不是在找工作,我想开发一个(大型?)网络应用程序,比如社交网络或照片共享服务)
[我相信任何人都会有这些问题,所以这不完全是主观的]

1)我个人喜欢(!)Ruby,我认为它是人们可能使用的最漂亮的语言,但我也喜欢Node.js和JavaScript的速度。幸运的是,我可以将我喜欢的两者结合起来,答案是CoffeeScript(它有Ruby/Python风格的编程,但可以编译成纯JavaScript)。注意:您应该正确地学习JavaScript,然后才能转到

2) 我不会使用PostgreSQL,因为我想使用一些更“快速”的东西,比如MongoDB(数据库上也有JavaScript——如果你只知道SQL,学习MongoDB比学习CouchDB更容易)或CouchDB(这是一个非常惊人的数据库,也是JavaScript——默认情况下支持同步)。但是,如果您想使用PostgreSQL,则有其驱动程序

3) 您计划学习C/C++真是太好了,因为每种语言都是建立在这之上的。您可以为Ruby、Node或Python编写C/C++模块

回答你的(额外)3点:

1) 有一个非常好的web框架叫做Ruby,它的灵感来自Ruby。还有其他的框架,但我相信Express是最好的(你甚至可以在它上面构建自己的框架等等,它是“灵活的”)

2) 事实上,我已经订阅了上的“node.js”标签,我可以说,如果你发布了一个有效的问题,你会在1分钟到24小时内得到答案。除此之外,只需加入Node的IRC频道(#Node.js#express#socket.io#nodejitsu)并查看那边的活动即可。我可以向你保证,在我学习的过程中,我没有任何未回答的问题(说真的,这些家伙非常有帮助)

3) 不,一旦你习惯了就不是这样了。在Node.js中编写代码时,您唯一需要习惯的就是异步编程方式(不仅是Erlang、Twisted或EventMachine)。此外,几乎所有的东西都有大量的模块和帮助程序(这样也可以加快您的编码速度,您不必为所有东西重新发明轮子-您还可以在前端使用一些JS代码)

根据我自己的经验,我可以告诉你,一旦你习惯了异步编程风格(包括回调等),就再也没有什么能让你慢下来了

额外的


虽然Node.js有点年轻(2009),但Github、Linkedin、Yahoo、37signals、Learnboost、Trello都在使用它,所以你不会那么勇敢:p

你有任何事实证明你的理论,即Node.js不比Ruby、Python、PHP快吗?或者这只是一句咆哮?:)@alessioalex这就是我有阅读链接的原因。--我现在大胆了。请大家,这不是咆哮。只是一个简单明了的回答。对不起,我误解了你的说法,实际上是关于编码的速度#mybad@alessioalex很高兴这个问题不再令人反感。但我想他们(Gitbub、LinkedIn)都没有完全使用Node.js吧?这就是问题所在,因为我想我会的(我不想在那时显得愚蠢)。那么,Node.js(库等)的可用资源是否可以与Python媲美?Github、Linedin和Facebook等都不是只使用一种语言,而是使用多种解决方案来扩展应用程序。Node.js的资源不能与Python相同,因为两者的成熟度不同,但是Node.js有很多库:(这些是一些)