首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

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

  •  
  •   Sillove · 35 天前 · 1383 次点击
    这是一个创建于 35 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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