站点工具

用户工具


回答编制内人员对学编程的疑问

最近有一个编制内的人员问我如何开始学习编程

网景公司的创始人说过一句话:软件正在吞噬整个世界(Software Is Eating The World)。

是的,现在所有的行业都需要互联网和软件。所以我十分赞同你学习编程。

对于「自学者」而言,第一门语言选择一门正常点儿的语言还是非常重要的,从 Python 开始学习是不错的选择。

如何入门

你已经自学了基础语法,但是没有项目实战。

我只给你一个实用的建议:把自己的需求当做项目实战来做。

如果你想做一个个人网站,就买一台便宜的虚拟主机或者 vps,用 Python 来搭建自己的个人网站,可以从 web.py 开始学起。

如果你平时在学英语,就用 Python 写一个简单的命令行工具来帮你查字典(建议卸载自己电脑上的 Windows系统,装一个 Linux 系统,不要问我为什么照做即可),比如 felixonmars/ydcv 就是一个不错的例子:

https://www.zhihu.com/video/1005264770890686464

如果你平时在看在线小说,就试试用 Python 爬虫将这些在线的网页收集成文字,然后生成好看的 PDF 给自己看。Python 爬虫也可以用来爬美女图片啥的,看你需求了(笑)。

如果你平时看知乎,也可以试试用 Python 爬虫将你喜欢的作者的文章全都爬下来阅读。

这些项目的重点在于:解决你自己的实际需求。

做项目的过程中需要用到什么你就去搜什么,有什么不同就去找人问,相信我,只要你能坚持做两三个这样的项目,你就入门了。

入门之后

入门之后主要要做两件事:一是开始尝试做商业项目,以体会「需求」的变态之处;二是补充理论基础。

商业项目

你可能不知道商业项目是怎样的,那你就直接去模仿一些自己常用的网站吧。

当然我说得容易,你做起来不一定容易。

比如模仿知乎做一个问答网站,模仿有赞做一个简单的电商网站。重点是一定要把用户体验做好,不要做得太烂了。大部分自学的人学得不行就是因为在做项目的时候,对自己要求太低,而且他们也不知道商业项目的要求有多高。

如果有条件的话,找个人带你做项目是最好的。

考虑到你已经有工作了,没有太多时间学习编程,而且身边也找不到会编程的人带你,因此自学会很容易有挫败感。

所以我推荐你进行「无目的编程」:觉得什么项目好玩就尝试去自己实现一个。就算项目做毁了也不要紧,因为你从过程中能获取知识和快乐。

就像 Linus 说的那句话:Just For Fun。编程只是为了好玩。

理论基础

同时你还需要找一些专业的书籍来提升自己的工程思维了,比如面向对象、设计模式、Web 框架、重构代码之类的书籍。

如果这些书你能看下去,就可以找一些能提升自己的理论基础的书了,比如《SICP》《代码大全》等。

这些书在知乎上一搜就知道了,我就不给你贴一大堆链接来吓你了。

这一步一定是不容易的,我大学在图书馆看了两三年这样的书,也没看完多少本。我记得《C#入门经典》我看了三四个月还没看完,《代码大全》就更难看完了,实际上我至今也没看完这本书。

而你自学会比我更困难一些:你的动力不足。

我看这些书是为了毕业,是为了找工作;而你不需要找工作……

所以唯一能支撑你学下去的只有「兴趣」了。如果你兴趣浓烈,这件事就好办;如果你兴趣不够大,就还是随便学着玩玩吧,不要指望学得很好。

兼职赚钱

如果你没有两三个实际的商业项目开发经验,就死了「兼职赚钱」这份心吧,因为如果你 hold 不住一个商业项目,是不会有人放心把项目给你做的。

最重要的一点

编程最重要的不是你多么聪明,也不是你多么努力,而是你是否能从编程中获得快乐。

用代码去做一些能让自己开心的项目吧。

希望对你有帮助。

饥人谷一直致力于培养有灵魂的编程者,打造专业有爱的国内前端技术圈子。如造梦师一般帮助近千名不甘寂寞的追梦人把编程梦变为现实,他们以饥人谷为起点,足迹遍布包括facebook、阿里巴巴、百度、网易、京东、今日头条、大众美团、饿了么、ofo在内的国内外大小企业。 了解培训课程:加微信 xiedaimala03,官网:https://jirengu.com

本文作者:饥人谷方应杭老师

若愚 · 2023/02/09 11:42 · 回答编制内人员对学编程的疑问.txt