欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

后端零起步:学哪一种比较好?

程序员文章站 2022-05-28 21:57:53
...
我后端基础为零,怎么学好Node.js呢?有很多朋友说,PHP已经是上个世界的了,真的假的哈?作为初入移动互联网界的小弟级中小弟级,求大神指导。就我所知道的后端,好似还有Python、Ruby、Scala等等。好纠结哈、好纠结,学哪个好呢?话说是不是应该把这个同时也贴到知乎上面去呢?我想我是一定会做这件事情的,同时。 求大牛+大神+码神,以前瞻性的眼光指点迷津一下下。

——我会同时自己不断回答我的问题,因为见证着自己的成长,成为牛掰程序员,改变世界,是梦想!更要是不多年数后的,那真真实实的生活状态。

——新浪微博:@夏力维

回复内容:

我后端基础为零,怎么学好Node.js呢?有很多朋友说,PHP已经是上个世界的了,真的假的哈?作为初入移动互联网界的小弟级中小弟级,求大神指导。就我所知道的后端,好似还有Python、Ruby、Scala等等。好纠结哈、好纠结,学哪个好呢?话说是不是应该把这个同时也贴到知乎上面去呢?我想我是一定会做这件事情的,同时。 求大牛+大神+码神,以前瞻性的眼光指点迷津一下下。

——我会同时自己不断回答我的问题,因为见证着自己的成长,成为牛掰程序员,改变世界,是梦想!更要是不多年数后的,那真真实实的生活状态。

——新浪微博:@夏力维

对于,学过,java,php,python,nodejs 的人来简单说说怎么选择。

java 首先,你一定不要用myeclipse进行java web的学习,这样,会让你永远不明白什么java web里面的jsr 规范。作为一个有志向的程序猿,深入到规范的标准时必须的。其次,就是至少掌握一门包管理工具(maven,ivy,gradle),这样会让你学习开源项目的时候得心应手。

优点:可靠的大型解决方案多,速度快(告诉你一个事实,java作为后端语言的性能在各种评测里面都是名列前茅的,不过对于新手而言的感观的慢这点要改过了确实不容易)。 缺点:概念多,包管理工具不易上手。

php 简单,好用开源成熟的东西多,至于你朋友说php是上一个世纪的东西,我告诉你,现在流行的技术都是上一个世纪的(java,python,javascript)

优点:上手快,学习资料多。 缺点:php5和php6 不兼容,速度慢(这个问题,在你还没有精通php之前,请暂时不要考虑),一般只能用来开发web。

python 优雅,简洁,好看,前后端通杀。由于我只是两年前有个开源项目用到了python,然后,那个项目结束以后也没怎么接触python了,所以,这里的评价可能不太正确。

优点:能用的开源项目多,学习门槛不高。 缺点:py3和py2不支持。对win 不友好,缩进的编程,可能会由于文件编码导致项目崩溃。

nodejs 单线程,事件异步驱动模型,通杀网络层,传输层,还可以进行嵌入式的开发(对于跑v8 的js 而言,性能杠杠的,已经有不少人用nodejs + 树莓派开发出各种好玩的东西)

优点:活跃的国外社区,为人民服务的作者众多,强力的github支持(这里不是说nodejs本身,而是nodejs整个模块的生态,一般模块的作者都会回复你的issue,这点心有体会,没有什么东西比把问题交给别人解决最好的了。。。), 缺点:很多模块并不成熟,中文资料不多,过时。国内社区不活跃,喷子很多(主要喷node的性能比php还差我补充一下,大部分(注意是大部分,不是全部,喷的时候不要瞎喷)的评测都毫秒杀php(http://www.techempower.com/benchmarks/),还有就是js作为编程语言的不成熟,关于这点,你去好好翻一下 es5标准(v8的实现的就是es5标准)再来开喷。),所以,要学node,你的英语起码要有初中生的水平,用于方便阅读英语资料和与老外交流。还有就是,不是很人类的callback 编程风格。不过我很喜欢。。

按我的建议,学什么语言不重要,重要的是你学语言想干什么?比如做网站?开发安卓app,等等。明确一个自己感兴趣的目标之后,在选择语言,以兴趣引导语言,学习才有动力。比如做网站,那可能就是php,nodejs,做个简单的blog,在实践中慢慢了解语言,在学习中慢慢成长。

如果你学会了其中的一个,然后在去了解其它的,可以说,入门会很快,因为里边有很多相同的东西。

梦想无用论者表示,最重要的事情是,马上挑一门语言开始学,多实践,自然会找到接近best practise的路。不要期望一门语言能解决所有问题,尤其是“后端技术”这么宽泛的概念。你现在需要的只是一个能解决手头问题的语言,鉴于你现在是零基础,那么你提到的任何一个语言,必然都能解决你现在的问题。

我会在这里记录下我的学习进度,也便于后来者,同时更主要的是让前辈们看到,因为万一我走歪了,还要靠大家把我给扭转回来哩!

1)Node.js
这是我2013年里从朋友们那里听到最多的建议,虽然在GDG Shanghai的活动中,听@青山老妖_黄冠 讲过一堂(类似七周七语言那种的),但是我可是完全不懂哈,好尴尬!不过这个不重要,重要的是等到学会了,一切都会好的。
现在用书是:《Node.js开发指南》
相关介绍地址:http://book.douban.com/subject/10789820/

2)PHP
我能找到的相关书籍最多的一门语言,这里完全是因为有资料供给的优势在,虽然很多朋友说,“其实不要管那个了”,“不要强求那个”。。。至于为什么,我也不是很清楚。

不要为了学习而学习, 要为了满足需求而学。

先给自己找个小项目, 然后分析一下完成这个项目需要的技术, 找几本书看一下, 然后就动手做, 碰到问题就再回过头去看书。

这样做, 一方面保证有的放矢, 另一方面事实证明, learn by doing 才是最佳的学习方法。

具体到技术, 我推荐 Ruby on Rails. 后端零起步, 最重要的是快速地做出东西以及知道什么是好的代码和坏得代码。

立即上手,然后你就会了

找一个 IDE 支持比较好的语言