看造房子的故事,明白自学编程的秘诀

我是霖哥,一个因兴趣入行的商学院毕业的程序员。霖哥一直觉得,编程做软件,就像造房子。所以,我想把我自学编程的经历,毫无保留的分享出来。

毕业了,却不会造软件

有很多的大学计算机专业的毕业生,到他们毕业的那一刻,却还是搞不懂,怎么样去开发一个软件。

可是,他们明明在学校里面的成绩就不错啊,什么C语言、Java语言等编程语言课程,数据结构啊,编译原理啊这些,都学的还不错,甚至还拿过奖学金,可是很多为什么依然没有动手能力,去完成一个软件开发呢?

我们,先从一个造房子的故事来开始说起。

造房子

在上一篇文章里面,霖哥把“函数”比喻成“砖头”,把“架构”比喻成“建筑结构”,说编程就像造房子。

为了说明这个问题,霖哥专门斥巨资买了一个房子的玩具。

就是这一个玩具房子,霖哥从网上买来的,除了一个房子,还有家具,布娃娃,你可以自由地把它们组合摆放。

(图:复杂多样的零配件)

拆开长长的包装盒,会发现,这个玩具房子会有各种各样的零件,并且它会有一个说明书。霖哥把零件出来,然后根据说明书,一件一件的把零件给组装起来,它就变成了一个完整的房子。

这可能对大家来说,会觉得,这不是很正常吗?

可是我们往深里想一些细节:

这个椅子是用什么材质做出来的?

里面的娃娃,用什么材料制作的?

上色的颜料,是用的什么牌子的?

这个玩具的,整体是怎么设计出来的?

作为消费者,你不需要知道,你也不想知道,你恨不得买回来的,一整个玩具房子帮你装好了。

我们回到现实生活中,所有的房子的建造,不都是这样的吗?

房地产开发工人,他们去买不同牌子的水泥,不同牌子的钢筋,不同牌子的管道等等等等。在造房子的过程中,无数的零配件都是通过第三方购买而得来的。

没有人说为了造一个房子,自己去生产水泥,自己去生产钢筋,这不太可能,对吧?

用造房子的思维,自学编程

很多自学编程的同学都来问我,自己在学习Java语言、C语言一段时间了,感觉距离要做项目、找工作,还遥遥无期。

有这么一个人,觉得高楼很宏伟、很漂亮,他从小有一个梦想,去建造一栋超级高楼,然后他就学习搅拌水泥,学习粉刷墙面,学习打钉子等等。

可是,学会了这些,距离他建造一栋高楼的梦想,还有非常遥远的距离啊。

现实生活里面,我们不会遇到这种人吧?如果有一个人真的有一个梦想去造高楼,他绝对不会去学习打钉子,相对的,他更可能会去建筑学院,去学习建筑设计,CAD制图等等。

而在霖哥看来,这种学打钉,学刷墙,有点像学习编程的时候,大把大把的时间,学习计算机运行、硬件机制等一些基础的东西。大学课程,花去我们大量的学习时间去学习的这些知识,距离我们最初的梦想,去做一个软件,还有很远很远的路。

这样一个比喻,我们可以大概看出,跟想造房子的人会去读建筑设计的人不一样,现在的学习编程课程,很少人说会像学建筑那样,先学软件开发整体设计,而是一上来先学习怎么“打钉”,“刷墙”。

拿霖哥自己来说吧,霖哥最初只是想实现一个自己的想法,做出一个社交网站,可以被很多人使用,这就是霖哥最初的梦想。只是在实现这个想法的过程中,不小心地学习了编程,自学得越来越深,不小心进入了这个行业。

在上两篇文章里面,霖哥都提过一个思想叫做,函数思维。我说过了一个软件程序,90%都是通过各种各样的函数给堆砌起来的。

我们在学校里面学习的编程语言、数据结构。构成了函数的基础。但是,要做出一个完整的软件,我们更重要的一点是,我们要知道,有什么函数来给我们服务。

这些函数就像我们上面这个房子玩具里的配件。

在实际的软件开发过程中,我们就像造一个房子一样。去找出各种各样不同的函数来为我们服务。

而学校里面偏偏没有教这样的技能,所以很多的毕业生,到毕业为止,他们只知道了基础的编程语言语法,基础的知识。

要真正的去完成开发一个软件程序,则还需要大量的“函数”知识,知道要完成某一个模块,需要什么样的“函数”和第三方库,
还有各种各样的的工具、框架,光学习编程语言,可学不到这些东西。

比如说你要进行网络通讯吧,我们要用socket,socket是怎么做出来的呢?你不需要知道。

比如说实际的开发过程中,常用到map这个数据结构。职业程序员工作中,很少会自己重新去实现一个,都是拿现成的过来用的。

所以很多人学完一门语言,觉得没用,那是理所当然的。

霖哥推崇的,是一种至上而下的学习方法,先定一个小目标,宏观地学习软件设计,学习框架,伴随着学习的深入,再注重具体的技术实现细节。

爬虫

霖哥有一个朋友,他并不懂编程,他是金融行业的,想做一个爬虫程序,可以去搜集一些的股票数据,自己做数据分析。

他花了不少的钱,报名网上自学编程的课程学习。他觉得花了很多的时间,好像课程一直都上不完了,距离自己的那一个目标遥遥无期,感到非常的沮丧。

霖哥就告诉他,编程开发就像造房子,为了造房子得找到各种零配件;既然你想做一个爬虫,你就要去找到实现爬虫的工具。

因为他是学习Python的,霖哥就介绍他一个Python的爬虫框架,叫做scrapy,一个Python开发的专门用来爬去网络数据的应用框架工具,使用它你可以非常方便地抓取网络数据,不需要关注很多技术的细节,他都帮你处理好了,你只需要直接用就好了。

他说,他还没学习Python的网络编程,也能做爬虫?霖哥说,哈哈,使用scrapy完全不需要考虑这方面,它都帮你做好了!你让它“抓”,它就去“抓”,怎么“抓”,你不需要理会,你只需要告诉他“抓”什么就好了。

总结

今天我们讲了,造房子,是通过各种各样的零配件和第三方组件来构成的。根据这个故事作类比,在自学编程的过程中,我们也要像造房子那样,想开发一个软件,就应该先去了解有什么样的“零配件”、第三方开发组件,来让我们做成一个软件。

可能这对很多科班出身的人来说,会觉得三观尽毁。编程,就应该慢慢地,学好基础的东西,稳扎稳打,才是学好编程的最好方法呀。

别急,霖哥就是这样一种学习方法的过来人。伴随着做软件的过程中,霖哥也慢慢地根据开发需要,把一些基础的知识学习回来。在霖哥后面的文章里面,将会详细的讲述这些经历。

霖哥希望把自己的学习方法分享出来,因为,霖哥认为这些经验对自己很有用,这就意味着对其他的很多人都会有用!只要是对人有用的,那么霖哥就相信它是有价值的,它能够帮助到你。

如果觉得有用就分享给你的朋友,转载请注明出处《商学院毕业的程序员》。

如果在了解或学习编程的过程中有迷惘、或对一些生涩的科技概念的不解,评论里留下你的疑惑!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,401评论 25 707
  • 我是霖哥,一个因兴趣入行的商学院毕业的程序员。最近有不少人,来问我,想学编程,但是又不知怎么开始。所以,我想把我8...
    陈凯利阅读 7,634评论 31 195
  • 我是霖哥,一个因兴趣入行的商学院毕业的程序员。总有不少不是做IT的朋友,来问各种各样的科技概念性的问题。所以,我想...
    陈凯利阅读 860评论 4 12
  • 一条路,两个人, 那么简单却还是那么多人走散, 这究竟是为什么, 难道真心换不了你的心? 路上的人们,请用心牵着一...
    铁血鸭蛋阅读 149评论 0 0
  • 2017年 4月21日 星期五 今天孩子们终于迎来了盼望已久的运动会,我有幸被邀请参加。回想女儿赛前的刻苦锻炼...
    李卓群妈妈阅读 248评论 0 3