Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


如何教女朋友一起编程

若干年前,在我还是一个小小的软件开发人员的时候,我就梦想有一个女孩能让我与之畅谈我喜欢的东西。我想和她谈论我做了什么。不是简单地说我在做与电脑相关的东西,而是能够更深层次地畅所欲言。就像和同事一起的那种谈话。我希望当我发现了什么令人兴奋的新玩意儿的时候,当我兴致勃勃地讲给她听的时候,她能理解我。

回想我还在上大学的时候,我也经常将我这个梦想说给朋友听。我以为他们会和我想的一样,但让我吃惊的是,我是这群极客中唯一一个这么想的人。他们中的每一个人都告诉我,他们不想找一个女程序员做女朋友,他们说这会让他们会发疯。但我认为他们是在自欺欺人。

他们内心真正的想法是,要找到一个既好看、聪明,又对编程感兴趣,以及最重要的是,对你有意思的女孩,那是不可能的。概率微乎其微?!!

让我告诉你一个秘密,兄弟,她其实并不需要知道编程。生活中的一切东西都是可以学习的。的确,有些人可能更擅长于编程这些理科类的东西,但这并不意味着其他人就无法学习和理解这些内容了。我们能骄傲地宣称自己是个程序员,是软件工程师,那是因为我们用了很多年的时间去学习和掌握这些知识。但是我要告诉你一个真相,许多你花了一年时间才明白的东西,其实可以在5分钟内被解释得清清楚楚,如果你知道怎么解释的话。

指针运算真的很难吗,还是我们需要这么说以便于自吹自擂,炫耀自己的能耐,因为我们自己是好不容易才明白它是如何工作的?理解多态性困难吗?是真的很难理解,还是我们自己理解的角度不对?

思维角度相当于80分智商。

你完全能在短短几个小时内就将指针,手动内存管理,栈和堆分配,垃圾收集等等等等解释得一清二楚,如果你选择了正确的形容和比喻方式。

算法难吗?我敢打赌,你肯定不希望有人半夜吵醒你要你写一个快速排序。但是,如果你有很多小刀,然后教你的女朋友如何对它们进行排序(明显是按大小来)?你可能依然需要示范个两三次,才能让她真正认同这种排序方法是有效的,但其实这个算法本身不要太简单。

如果你有一个问题,想了几个小时还是搞不明白,那么不妨试试解释给你的女朋友听。不要以为这是在对“牛”弹琴(各位美眉勿喷),如果你在句子中突然有所发现,可以中断谈话。试着真正地解释给她听,就算她一点儿也不懂技术。如果你能用一个正确的比喻手段来解释的话,她理解起来其实是很容易的。

记住得是她自愿学习这些东西,你不能强迫灌输知识给她,自己想学才能学得进去。你需要打破的最大障碍是,克服她“我永远不会明白”的忧虑。

这并不难,只是需要时间

大约6个月前,我的女朋友还正在学习政治学,攻读她的硕士学位。她真的没有任何技术经验。

然而突然有一天,她决定要学一些很酷的东西,以便于用JavaScript在我给她制作的个人网站上面放一些动画。于是我开始教她Ruby on Rails。两周之后,她建立了自己的web app。几个星期后,她意识到,她需要一些更深层次的知识,于是我开始教她更多基本的东西。

我们学习了如计算机如何工作,如何手动分配内存,栈和堆分配之间的差异,如何在Objective-C做到正确地引用计数,垃圾收集器是如何工作的,函数式编程(此处指Haskell),网络协议以及更多。她甚至知道了我在一年前还不知道的东西。

基本上我采取的方式是,对于我知道的内容,提取重要的东西,扔掉99.5%用于说明什么重要的浪费时间的玩意儿,只教她需要知道的东西。

不过这还不足以让人成为一个程序员,她还需要了解硬件部分,但即使这样,她已经比大多数在学校中学习软件工程的人懂得更多了,仅仅学了6个月之后。

你是一个专业的老师

作为一个专业的开发人员,也意味着在一定程度上你是一个专业的老师,因为我们的工作迫使我们需要不断地解释给其他人听。我们必须将自己代入阅读者的角色以便于让我们的代码更易于理解。我们必须解释我们做的事情,当别人不知道这有什么用的时候。我们必须教实习生如何迈向自己的伟大之路。

我们在工作中能做的就是将复杂的事情简单化(话说,有些人恰喜欢反其道而行)。之所以需要这么长的学习时间,其原因之一就是因为我们经常迷路。你可能有一个偶尔会给你解释一些东西的教授,但是很遗憾每周只有一节课。

但是话说回来,如果你教你的女朋友——因为是住在一起的——那么她随时就可以问你,因为你随传随到,立马可以给她解答问题。

开发人员通常之所以非常擅于谷歌搜索,是因为经常陷入迷途。总是需要自己去寻找答案。但是,如果在同一个房间里,对方随时能提供答案的话,那生产效率还能不高吗?

发表评论


最新评论

我也要发表评论

来自河南郑州的 Chrome 45.0|Windows 10 用户 2015-9-16 14:01
第一步:先找个女朋友
1 回复
linux [Chrome 44.0|Mac 10.10] 2015-8-25 22:21
1
夜域诡士 [Chrome 44.0|Windows 7] 发表于 2015-8-25 20:21 的评论:
一是,耐心。二是引导。三要有创意
四是不能变成老婆了。。
6 回复
夜域诡士 [Chrome 44.0|Windows 7] 2015-8-25 20:21
一是,耐心。二是引导。三要有创意
回复
贵在坚持 [Chrome 42.0|Windows 8.1] 2015-8-25 20:05
暴击伤害! 是在下输了!
1 回复
来自吉林吉林市的 Chrome 31.0|Windows XP 用户 2015-8-25 13:51
首先你得有个女朋友。。。
5 回复
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 2015-8-25 09:51
[点击展开更多楼层]
3
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 发表于 2015-8-22 19:08 的评论:
虽然天天逛这个网,我决定不在这个网站注册,这样我的留言每次都能留下GNU/Linux用户的名号
4
来自四川眉山的 Firefox 40.0|Ubuntu 用户 发表于 2015-8-24 13:31 的评论:
我也天天逛,注册了我也难得登
5
linux [Chrome 44.0|Mac 10.10] 发表于 2015-8-24 17:37 的评论:
哈哈,这是说我该把文章隐藏一半——注册用户才能看全文不成?:D
注册要码,没马不能在草原上浪
11 回复
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 2015-8-25 09:21
[点击展开更多楼层]
3
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 发表于 2015-8-22 19:08 的评论:
虽然天天逛这个网,我决定不在这个网站注册,这样我的留言每次都能留下GNU/Linux用户的名号
4
来自四川眉山的 Firefox 40.0|Ubuntu 用户 发表于 2015-8-24 13:31 的评论:
我也天天逛,注册了我也难得登
5
linux [Chrome 44.0|Mac 10.10] 发表于 2015-8-24 17:37 的评论:
哈哈,这是说我该把文章隐藏一半——注册用户才能看全文不成?:D
-_-
回复
linux [Chrome 44.0|Mac 10.10] 2015-8-24 17:37
[点击展开更多楼层]
2
来自北京的 Chrome 44.0|GNU/Linux 用户 发表于 2015-8-22 08:59 的评论:
linux用户
3
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 发表于 2015-8-22 19:08 的评论:
虽然天天逛这个网,我决定不在这个网站注册,这样我的留言每次都能留下GNU/Linux用户的名号
4
来自四川眉山的 Firefox 40.0|Ubuntu 用户 发表于 2015-8-24 13:31 的评论:
我也天天逛,注册了我也难得登
哈哈,这是说我该把文章隐藏一半——注册用户才能看全文不成?:D
回复
来自四川眉山的 Firefox 40.0|Ubuntu 用户 2015-8-24 13:31
1
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 发表于 2015-8-21 09:35 的评论:
別人 家的 女朋友
2
来自北京的 Chrome 44.0|GNU/Linux 用户 发表于 2015-8-22 08:59 的评论:
linux用户
3
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 发表于 2015-8-22 19:08 的评论:
虽然天天逛这个网,我决定不在这个网站注册,这样我的留言每次都能留下GNU/Linux用户的名号
我也天天逛,注册了我也难得登
2 回复
linux [Chrome 44.0|Mac 10.10] 2015-8-24 12:34
1
天国之影 [Chrome 41.0|Windows 7] 发表于 2015-8-24 12:10 的评论:
真好,这样我也能把我学到的东西教给我老婆听了。正如作者所说,如果在同一个房间里,对方随时能提供答案,生产效率自然也会提高的呀,这就是为什么工作室模式的产品研发效率会高于大公司的那种。
教女朋友学会编程这事我信,教老婆学会编程这事我不信 :D
回复
天国之影 [Chrome 41.0|Windows 7] 2015-8-24 12:10
真好,这样我也能把我学到的东西教给我老婆听了。正如作者所说,如果在同一个房间里,对方随时能提供答案,生产效率自然也会提高的呀,这就是为什么工作室模式的产品研发效率会高于大公司的那种。
2 回复
FullStackBugman [Firefox 40.0|Windows 7] 2015-8-23 17:56
[点击展开更多楼层]
2
来自北京的 Chrome 44.0|GNU/Linux 用户 发表于 2015-8-22 08:59 的评论:
linux用户
3
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 发表于 2015-8-22 19:08 的评论:
虽然天天逛这个网,我决定不在这个网站注册,这样我的留言每次都能留下GNU/Linux用户的名号
4
linux [Chrome 44.0|Mac 10.10] 发表于 2015-8-22 21:28 的评论:
不错不错!尤其你的浏览器还这么独特,肯定能认出你来的。
FireFox的重编译版而已嘛
2 回复
linux [Chrome 44.0|Mac 10.10] 2015-8-22 21:28
1
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 发表于 2015-8-21 09:35 的评论:
別人 家的 女朋友
2
来自北京的 Chrome 44.0|GNU/Linux 用户 发表于 2015-8-22 08:59 的评论:
linux用户
3
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 发表于 2015-8-22 19:08 的评论:
虽然天天逛这个网,我决定不在这个网站注册,这样我的留言每次都能留下GNU/Linux用户的名号
不错不错!尤其你的浏览器还这么独特,肯定能认出你来的。
回复
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 2015-8-22 19:08
1
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 发表于 2015-8-21 09:35 的评论:
別人 家的 女朋友
2
来自北京的 Chrome 44.0|GNU/Linux 用户 发表于 2015-8-22 08:59 的评论:
linux用户
虽然天天逛这个网,我决定不在这个网站注册,这样我的留言每次都能留下GNU/Linux用户的名号
6 回复
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 2015-8-22 18:56
1
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 发表于 2015-8-21 09:35 的评论:
別人 家的 女朋友
2
来自北京的 Chrome 44.0|GNU/Linux 用户 发表于 2015-8-22 08:59 的评论:
linux用户
怎么了
回复
suriealli [Firefox 39.0|Windows 7] 2015-8-22 10:39
国外的还是不一样的
1 回复
来自北京的 Chrome 44.0|GNU/Linux 用户 2015-8-22 08:59
1
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 发表于 2015-8-21 09:35 的评论:
別人 家的 女朋友
linux用户
2 回复
来自内蒙古乌兰察布的 Mobile Safari|iOS 8.4 用户 2015-8-21 20:24
我太渴望有一个你这样的朋友了!!!!
回复
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 2015-8-21 14:46
1
绿色圣光 [Firefox 40.0|Windows 7] 发表于 2015-8-21 09:34 的评论:
不看内容了,昨天刚刚再次收获了一张“好人卡”。
收集一百张好人卡可以解锁麒麟臂的技能
7 回复
来自上海的 Chrome 43.0|Windows 7 用户 2015-8-21 14:34
前提是得有一个女朋友,,
2 回复
12下一页

热点评论

绿色圣光 [Firefox 40.0|Windows 7] 2015-8-21 09:34
不看内容了,昨天刚刚再次收获了一张“好人卡”。
20
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 2015-8-25 09:51
注册要码,没马不能在草原上浪
11
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 2015-8-21 09:35
別人 家的 女朋友
8
来自湖北武汉的 Iceweasel 38.2|GNU/Linux 用户 2015-8-21 14:46
收集一百张好人卡可以解锁麒麟臂的技能
7
linux [Chrome 44.0|Mac 10.10] 2015-8-25 22:21
四是不能变成老婆了。。
6
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。