刷完 SICP 入门编程后应该如何继续学习

2017-03-15 22:26:05 +08:00
 soulomoon

一个金融专业毕业的编程小白,花了 5 个月刷完 SICP 并且完成几乎所有习题后(答案都放在 soulomoon/SICP上,写得挺烂)觉得勉强进入了编程的世界了,并且同时在外包公司打杂学习有了一定的网络编程基础。
现在正在为了成为一个合格的 python 后端工程师,成功找到 python 后端的工作,现在面临两个选择:
1 重点继续刷 clrs , csapp ,不啃完誓不罢休,再同时兼顾一下学习 python 和 flask 。
2 重点学习 python ,研究 flask , dajongo 等流行框架的使用,再轻度学习一下简单常见的算法。
这两者该如何抉择?想听听大家的意见

12365 次点击
所在节点    程序员
52 条回复
w2exzz
2017-03-16 08:14:37 +08:00
2 显然选 2
letv
2017-03-16 08:22:18 +08:00
显然是 2 , Python 工程师用到算法和底层的地方很少吧
kier
2017-03-16 09:47:40 +08:00
学金融的搞毛 python 啊,既然搞 python ,为啥不做量化分析,搞毛后台开发啊,既然要搞后台开发, 为什么不选 java ,搞毛 python 啊
jiang42
2017-03-16 10:16:19 +08:00
@letv 算法是何时何地都会用到的。底层在写 C extension 和优化性能的时候相当有用
wizardforcel
2017-03-16 10:22:27 +08:00
所以你一开始就应该拿 Python 入门,可以省时间。

你现在应该刷 leetcode ,然后才是 CSAPP 。比起系统,算法的优先级更高。
irenicus
2017-03-16 10:29:09 +08:00
2 ,学好了赶紧换个正经公司干
Kymair
2017-03-16 10:38:25 +08:00
@Cbdy 这年头看 K&R 真的合适嘛… 这是不是也属于迷信经典的一种?之前读 21st Century C 就深有同感,现在学任何一门语言都是学一整套生态系统, 21st Century C 就会首先教你如何用 Makefile, linker, 用库什么的… 不过,我并不能算会写 C 语言,只是讨论下 :-)
HarveyDent
2017-03-16 10:39:36 +08:00
难道不是应该刷 TAOCP 吗🤓(千万别当真)
jmc891205
2017-03-16 10:44:56 +08:00
急着找工作就选 2
Supy
2017-03-16 10:45:15 +08:00
@kier 👍 目前 Python 开发, 自学 Java 。 发现 Java 好啊
djFFFFF
2017-03-16 10:45:20 +08:00
刷书感觉要和实践结合吧,习题是一方面,感觉项目也挺重要
pezy
2017-03-16 10:46:06 +08:00
显然你应该用 python 刷 SICP 的。
Cbdy
2017-03-16 11:15:23 +08:00
@Kymair 你说的有道理,但是我认为 k&r 并没有过时
k&r 是一本很薄的书,真正介绍 c 语言的部分只有 100 页不到,但是覆盖了语言的各个方面, 100 页一俩个下午就可以看完了。很适合拿来入门和查阅
一般说 k&r ,基本都是说第二版,实际介绍的是 ansi c , c 语言从诞生到标准化变化很小,现在各个平台实现的最广泛的也是 ansi c ,所以我认为是入门是合适,也没有过时的,实际用的时候工具链更多的是一些操作系统的知识,如果真的要使用 c 语言工作,一本书肯定不够,这个时候就可以看看 apiu , 21st Century C 之类的书

举一个例子, lua 语言的解释器就是完全使用 ansi c 写的,现在仍活跃使用于游戏开发、嵌入式、机器学习等领域

最后我对'迷信经典'的理解:重点在迷信,而不是经典。经典是好的,但是存在一个语境:'需要某本经典'。 po 主这样的情况,我认为阅读 sicp 的短期收益是比较小的,对找工作鲜有帮助而耗费很多精力,所以目前阶段为了达到 po 的目的,可能需要更加适合的经典

'君之楚,将奚为北面?'—— sicp 也许就是那辆跑的很快的马车
zoffy
2017-03-16 13:36:57 +08:00
我擦,好毅力,我之前看 algs 两个月已经很烦躁了。
另外, csapp 是好书
rpdict
2017-03-16 16:59:21 +08:00
好想改行干金融,该怎么入门?
cjyang1128
2017-03-16 18:21:05 +08:00
羡慕金融毕业的,干嘛要来做码农。。虽然我同学做金融的平时也都在写代码,但是他们赚得多啊!别做什么后台开发了,还不好好地去做金融! [滑稽
Drahcir
2017-03-16 19:38:09 +08:00
同不理解,为何不搞金融要来当码农?金融里也有编程职位啊。
soulomoon
2017-03-16 20:51:11 +08:00
首先非常感谢大家的回复
@lsmgeb89 非常感谢对学习数据结构和重要的算法设计的方向指导,我会 mark 下来。

@wizardforcel 我也是想从 python 入门的,但仅仅是尝试,写 console , 21 点小游戏之类的。尝试去进一步入门,之后也尝试跟着 CS61 的 python 版的 SICP 学过,但是有一个严重的问题,就是它的习题量太少,对于我来说,学过就忘了。只好尝试去学原版。

@感谢支持选 2 的回复,确实这更加现实和容易走一点。

@Cbdy @Cbdy 感谢你们的讨论,又让我学到了一些东西

@djFFFFF 刷书和实践一起食用,效果更加,刷过 SICP 后,对程序的组成,逻辑的走向,有了更好的理解,工作阅读和写 C#的程序时也可以慢慢看出写法的优劣,也有了更清晰的思路去组织代码和复用代码。例如关于书里抽象隔离的部分让我能很快就理解依赖注入之类的设计模式的原理。

关于不选择做金融, 1 不敢兴趣, 2 没有资源, 3- -别再逼我了,我投降┗( T﹏T )┛还不行?。。
Systemd
2017-03-16 20:54:46 +08:00
厉害… SICP 什么的看的一头雾水
soulomoon
2017-03-16 21:33:07 +08:00
@zoffy 我不烦操是因为我同时还在体验很多其他的东西,
例如折腾电脑系统,刷了一个有一个的系统,体验 ubuntu 和 fedora 的使用后果断装上 macOS, 其实电脑里一共装了 3 个系统, windows (工作使用), linux ( fedora ), macOS (装逼+因为对多屏幕异分辨率的支持真的很好)。所以即使工作是在 windows 学到了一点基本的 bash shell 的知识。
还搭了自己的 VPS 来玩,墙外的大世界, 看到我目瞪口呆。
玩了一下很火的几个前端框架和 nodeJS , docker 之类的(跟 tutorial 写 demo )。还不务正业的去搞一点 Axure- -。。
还写一个专门把新短信偷偷发送到自己电脑的安卓 app , python 端服务器接收( ps 绝对不是专门监听女朋友)(加上了 selenium 用手机发送到被监听手机,然后 pc 端接收到信息去 google 相应的网页)[绝壁没有用的功能]

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

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

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

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

© 2021 V2EX