想问下过来人,怎样自学编程?(文末赠书)丨IDCF
来源:知乎 作者:白小鱼 原文链接:https://www.zhihu.com/question/297202099/answer/2620406061?utm_campaign=shareopn&utm_content=group1_Answer&utm_medium=social&utm_oi=27918948368384&utm_psn=1541105608379465729&utm_source=wechat_session
关于自学编程,你们有怎样的思考和方法?欢迎在评论区回复。
我们将为评论区回复中点赞最多的前2名读者各赠送一本《代码大全》,赠书中英文版本盲盒发 货呦。
想问下过来人,怎样自学编程?
既然有这个提问,那么说明题主对编程不是很了解。
回想一下,我们一开始是怎么学习读写的?
我在上幼儿园时的做法是直接去读书,遇到不会的字通过部首去查阅对应字的读音和含义。
翻烂了一本新华字典,终于入门了汉字的读写。
同样的情况也可以用于编程的学习。对于编程我们可以有如同字典一样的工具书,让我们能在有问题的时候及时查阅到靠谱的解答(当然现在搜索引擎也起到了这个作用,但互联网也存在其缺点,那就是信息浩如烟海,需要读者有能力从海量信息中找寻高质量契合自己需求的信息)
如果想成为计算机领域的研究者的话,我会建议你读一下《算法导论》《深入理解计算机系统》《计算机网络自顶向下方法》等几本大部头的黑皮书(不过我觉得有点太重了,这几本书我现在都没看完……)
如果希望掌握怎么写代码,甚至了解整个软件工程领域的知识的话,我倒是建议另一本大部头《代码大全》(code complete)
代码大全
《代码大全》这本书这本书不是代码的大全,而是传授读者如何完成代码的参考书。不论是制作一个网页,一个发售的游戏,还是编写代码送火箭上天,这本书都告诉你如何去考虑和设计。
这本书的目录有35章之多:架构、分析、设计、编程、测试、重构、面向对象、调试、规范、管理、软件质量控制、协作、优化、开发工具、注释、甚至程序员的个人性格和开发艺术等等,只要是与软件有关的,基本上它都写到了。
如下是这本书的简明目录,正式目录写了四页,足以说明这本书覆盖内容的广度了。
虽然这本书有近900页之多,但小鱼在阅读其中的五章内容后可以说:
这本书很有趣,作者不仅引经据典介绍了很多计算机领域和其他领域的优秀工作,还埋了很多段子在书里,得益于原作者的趣味灵魂和译者的如实表达,这本书读起来没啥负担。
比如关于“如何正确撰写注释”,下面是一个倒霉程序员和一条奇怪注释的故事
这里作者介绍了一处奇怪的注释对后续程序员的影响,当得知真相的时候,接替工作的程序员发出了呐喊。
作者甚至创作了一部戏剧的脚本来讨论到底需不需要做注释:
我预估如果每天看两个小时的话,一个月应该能把这本书初步读完~
总结
当然编程肯定不是买了书就能学好的,编程是一门非常重视实践的技术(艺术),要多看多写代码。如果想要阅读优质代码,可以借鉴开源项目,而现在最好的代码托管平台是GitHub,作为全世界最大的代码交流平台,你需要的资料、编程学习伙伴和未来的合作者都能从中找到。
可以参考:【小白向】3小时上手Git+Github,开源你的项目
如果你恰好也是人工智能领域的初学者,那么这个回答:有哪些可以自学机器学习、深度学习、人工智能的网站 也将帮助你快速掌握优质信息渠道和了解哪些论文有配套代码可以运行和学习。
多看:找到优质信源,比如经典著作、优质课程和优秀项目代码
多写:不写代码就没法入门编程
多查:遇到程序报错了,就去谷歌等搜索引擎中去查英文错误码
多问:问问你身边的代码技能掌握者,很多时候你卡几个小时的BUG,别人一分钟帮你搞定
这就是自学编程需要做的。
关于自学编程,你们有怎样的思考和方法?欢迎在评论区回复。
我们将为评论区回复中点赞最多的前2名读者各赠送一本《代码大全》,赠书中英文版本盲盒发 货呦。
#IDCF DevOps黑客马拉松挑战赛,独创端到端DevOps体验,精益创业+敏捷开发+DevOps流水线的完美结合。
2022年9月17-18日将在北京举办,36小时内从0到1打造并发布一款产品。
企业组队参赛&个人参赛均可,赶紧上车~👇