自学编程遇到了瓶颈,望有经验人士解惑。

2019-09-18 11:09:54 +08:00
 Sillove

我按照 https://zhuanlan.zhihu.com/p/19959253 这篇文章里的内容进行自学。 一开始是在慕课网上学习了 python 和 C 语言入门,简单理解了编程的一些知识。 然后学习了《计算机程序的构造与解释》( SICP ),这本书真的很棒,前四章学习的还算可以,第五章有点囫囵吞枣。 然后现在是学习《深入理解计算机系统》,在这里我卡壳了。其中有关 C 语言和汇编语言的知识让我有点头大,习题也有些困难。 我想是否可以通读浏览一遍,而少做或不做习题;或者直接跳过这本书,去看《算法导论》。 不知道有没有人能够给个建议。

2736 次点击
所在节点    问与答
17 条回复
ClericPy
2019-09-18 11:36:08 +08:00
没什么经验, 只想说有的书真的不是一遍就能看懂的, 有的书也不是只读一遍的, 很多时候随着眼界开阔积累丰富, 再读以前的书确实有豁然开朗的感觉, 祝好
Sillove
2019-09-18 11:38:17 +08:00
@ClericPy 好吧,目前我是看着 B 站上的视频配合书本学习的,不过汇编语言真的有够难的。我还是慢慢看吧。
cmdOptionKana
2019-09-18 11:40:19 +08:00
建议跳过,另外算法导论也不建议看。建议找一些非常基础、非常简单的算法和数据结构的入门书籍来看。

一般如果不是特别聪明的人、不是数学上特别有天赋的人,在自学的情况下没有必要深入学习算法。
ClericPy
2019-09-18 11:41:15 +08:00
@Sillove 从头开始学, 越底层收获越大, 但是没计算机基础会很难理解, 至少学会一门语言掌握学习方法就好办了. 时间充裕前期就打好基础, 之后学新语言什么的基本就是官方文档+Google+stackoverflow 无限循环了
lxfxf
2019-09-18 11:42:00 +08:00
先学一学数据结构
biantaoGG
2019-09-18 11:42:46 +08:00
1.基础语法先看,就像学英语一样,基本的单词,语法摸通,然后能说几句像样的英语就行
2. 顺带看看算法,虚拟机原理之类的,这些属于必须,但是不是很紧迫,但是将来往深了学很必要的,你一开始就看这些玩意一点意义都没有. 属于你死记硬背了英语之后,然后深入意境,靠理解力去学习英语
3. 算法属于加分项, 部分语言会基础的就行,除非你未来是后端或者偏算法岗位,否则不必深入太多,而且现在看过早
4. 基础啊基础,编程的基础是语言啊大哥,不是啥算法,计算机构造啊啥的,而且你确定是想做桌面程序?看了一大堆计算机程序的书. 去看虚拟机啊大锅
Raisu
2019-09-18 11:46:48 +08:00
2333,我当初就把这些书都看了,结果找的工作才 5K。。。
guokeke
2019-09-18 11:49:49 +08:00
主要是看了书也不代表学会了,编程还是写出来的。
cmdOptionKana
2019-09-18 11:58:27 +08:00
@Sillove 建议先学习语言、框架,注重实际上一个普通程序是怎么写的,至于算法和汇编、原理那些不是说不学,而是安排在后面学更好一点。

如果你坚持要按部就班从底层学起,不肯走捷径,那你要想想,人家科班正常学习需要花四年,那是脱产学习,刨除大四摸鱼以及一些杂七杂八的课程之后,可以压缩为 2 年,但这是完全不受外界干扰、有老师、同学辅助、有合理课程安排、有作业监督和考试压力的 2 年,自学是能做到,但你真的确定自己要挑战难度吗。
keyv
2019-09-18 12:00:19 +08:00
给你一个关于理解汇编的建议,汇编大体上来说就是调用 syscall,整个汇编程序就是在告诉内核,我要用什么 syscall,给你什么参数,从哪里来读数据,把数据写到哪里,对数据做什么操作。把这些步骤用汇编指令描述出来,就是一个汇编程序。所以看汇编的时候,可以把程序拆分成这几部分,整个程序就清晰明了了。
dazhangpan
2019-09-18 12:23:03 +08:00
你这些书看得太“超前”了,当前建议先多看 Github 上优秀的开源项目代码,多看多模仿——模仿非常重要,照着抄也得一行一行自己敲出来,很快就上路了,然后找一个你觉得你模仿得最好的项目,自己再实现一遍,基本上就 OK。至于计算机体系结构这些,有了这些基础之后再看。
q8164305
2019-09-18 12:46:12 +08:00
入门不要看这些,这些属于屠龙术,先写个网站跑起来,这些东西以后再研究
Torpedo
2019-09-18 12:59:15 +08:00
迷茫的时候,就做点东西。网站,游戏啥的
inorilzy
2019-09-18 13:37:00 +08:00
汇编? 自学 python ? 汇编找工作根本用不到,python 不好找工作,建议学 java,后悔当时没学 java,python 找工作太难了。
FlyingClive
2019-09-18 13:47:45 +08:00
建议根据下面这个网站的步骤来学,从易到难,书和视频结合,学完每个 topic 最好根据你现在的工作需要做个完整的项目出来进行总结和实践。
学编程和健身一样,有规划,打好基础,持之以恒就会有成效!
https://teachyourselfcs.com/
lllllliu
2019-09-18 14:13:01 +08:00
你是要搞应用话建议你开始用 python,c 或者其他语言来做一些 curd 的简单项目了,如果你是要搞底层的话那就一直啃书吧也得有个领域,你要是搞算法的话就开始忘算法那边过渡了。啥计算机构成原理,操作系统的原理,如何编写操作系统,啥汇编之类的现在不需要看。
CoCoMcRee
2019-09-18 14:16:16 +08:00
没啥捷径, 书要看, 但不要只看书.
代码是写出来, 多写总是没坏处的. 尤其是你在自学阶段, 写代码没有啥约束, 不像到了公司里, 写代码会有很多条条框框或者外部原因限制着你.
反正想些啥就写啥, web 网站也好, 爬虫也好, 甚至 app, 小程序, 反正想些啥就写啥, 写的越多, 学得越快.

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

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

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

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

© 2021 V2EX