打算在这条路上走到黑

2015-08-12 18:17:08 +08:00
 tianzhen
楼主的情况是这样的,自学编程,由于没有科班背景,一打学习开始便是和动态语言打交道,PHP -> Python -> Ruby -> JavaScript,有幸于去年正式上了程序开发这班车,在全职开发的这大半年中,绝大部分时间都在写JavaScript(算是狭义的前端开发,因为只写JS,实现web前端逻辑,不需要负责HTML/CSS),我很喜欢写代码,打算在这条路上走到黑 …现在想选择一条倾向于后端开发的路深入学习下去,特来请教各位前辈,提前先谢谢了!我自己做了个简要的可能路径分析:

继续深入钻研JS:

- UP: 当前工作主力语言,能学以致用,相信编程这货光知道不行,必须得实际操作,敲得越多会敲得越好
- DOWN: 虽说JS现在大行其道,前后通吃,但总感觉它不是深钻的理想对象,据说真的node开发高手都是身后C/C++背景的,能看懂node源码实现…不然只能流于表面,且node也并非能适用于任何后端场景,日后换工作局限较大

利用业余时间啃Java:

- UP: Java的学习资料算是最全的了,在coursera上有北大的Java程序设计课程,又或各大培训机构的视频,啥高祺Java 300课,交口称赞马士兵老师的课,此外数据结构、算法、设计模式大部分书也都是基于Java的。而且工作机会也貌似最多
- DOWN: 太罗嗦了,实现点小功能需要一大堆boilerplate代码,而且非常依赖笨重的IDE,让基本上只接触过动态语言的我实在有点受不了…

利用业余时间深入Python:

- UP: 应该是自己最喜欢的语言了,强大到不行,啥都能干,2和3版本问题在我这个水平也不会太困扰我,入2准没错 :D
- DOWN: 说白了还是工作机会比较少,楼主不在北上广,本地用Python的都是很小的公司…
5810 次点击
所在节点    程序员
46 条回复
exuxu
2015-08-12 22:00:52 +08:00
如果按照作者的路线走的话,看来过一段时间我要学javascript了
lequiet
2015-08-12 23:14:10 +08:00
可以学学Java,以弥补你在强类型语言的不足。作为后端语言,Java还是很稳妥的/健壮的,至于觉得比较啰嗦,那只是写小功能会有这种感觉,做大了,面向对象和复用做好了,就知道Java的可靠性了。至于Python,很简单的语法,也不需要太深入学,偶尔有点小想法的可以拿来快速实现一下, Python3更推荐,如果是自己用的话。
lequiet
2015-08-12 23:16:08 +08:00
@lequiet 当然,Java学归学,用起来才是王道。
tianzhen
2015-08-13 07:10:02 +08:00
@lequiet 谢谢!我也觉得应该学习下强类型语言补充下 :)
bugeye
2015-08-13 08:26:20 +08:00
非科班出身不应该先把 离散数学、数据结构、编译原理、计算机组成原理 这些基础学好吗?
尤其是准备在coding上面走到黑的。
ren2881971
2015-08-13 10:36:26 +08:00
@bugeye 等学完这些课程 早饿死了。 来点实际的吧 不可否认这些课程的重要性。但更不能脱离实际!尤其是非科班的!
notcome
2015-08-13 10:58:46 +08:00
一、忘记语言只是工具这种话。
二、学习 Haskell。
Rand01ph
2015-08-13 11:09:56 +08:00
最近也想捡一门强类型编译语言好好学学,犹豫Java和CPP。
Rand01ph
2015-08-13 11:11:36 +08:00
目前接触的有PHP,Python,Node.js,Lua这几样,可能这下半年会学习Switf撸一个APP出来,目前在用PyQt实现一个gui,这么看来可能学习CPP会是一个平滑的选择。
karlakte
2015-08-13 11:30:12 +08:00
@Librazy 长点心吧 大兄弟 逗逼巨硬专坑C#
tianzhen
2015-08-13 11:55:02 +08:00
@bugeye 嗯嗯,知道这些也很重要,但就我现在水平来说那些太难了,我的计划是先成为一名熟练的程序员,然后把你说的这些作为长远慢慢攻克的目标
bugeye
2015-08-13 12:12:34 +08:00
@ren2881971 他已经有工作了,又不是还在找工作。对于想走到黑的人来说,跳过这些以后更浪费时间。我不知道码农能做到几岁。

更何况数据结构是非常多工作的敲门砖。
anubiskong
2015-08-13 12:37:47 +08:00
学Java? 自找苦吃
tianzhen
2015-08-13 12:56:02 +08:00
@bugeye 嗯嗯,数据结构是肯定要学习的,等我把java se基础部分学了就开始学数据结构,有很多数据结构java实现的学习材料,包括算法,应该工作中用不上java所以不急学应用譬如j2ee部分的东西,学了也记不住,就通过java来打其他的基础 :)
chinajik
2015-08-13 14:17:04 +08:00
我当年也是你们这想的, 至少大学的时候也跟着一群人喷 java....
@tianzhen 但是, 我工作是用 java 的, 当系统足够复杂的时候,这个语言在构建大型系统上有不可替代的优势...尤其是当技术水平不一,有需要保证系统健壮可维护.. 动态语言这方面简直是灾难
JamesRuan
2015-08-13 14:47:28 +08:00
@bugeye 还是学操作系统、数据库、计算机网络等对工作更加重要吧!这些工程方面课,跳过所有基础课去学完全没有问题,却对实际工作最有帮助。

那些基础课,什么时候学都不迟的(用来刷新世界观用的)。而操作系统、数据库、计算机网络这类确实越早学越受益。

提到基础课的话,还要补一个概率论,所有工科的都应该去学。
moro
2015-08-13 14:53:19 +08:00
@JamesRuan 基础打好,语言都是一通百通,都是用来解决问题的,不要被表象所困惑。
robertlyc
2015-08-13 15:30:57 +08:00
噗 我发现 有些人就喜欢一本正经的胡说八道 然后还享受被小白膜拜的感觉
limuxy
2015-08-13 15:54:06 +08:00
UP & DOWN 应该说成PROS & CONS (对不起歪楼了
publicID321
2015-08-13 16:02:09 +08:00
数据库 or ABAP

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/212744

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX