知乎上看到的,觉得讨论很有意思~
如何让编程不枯燥,甚至把编程变成一件很愉悦很爽的事?
23 票
有的人就是生来喜欢编程。即便他因为编程这件事情受过多少挫折,失去多久目标,最终还是会坐到电脑前,从 coding 中找到乐趣。这种乐趣是内在的。没有的话不必强求,有的话,其它的事情都不会让你更快乐。
7 票
给自己定目标,实现,然后定下一个目标。通过一个又一个逐步达到的目标,最终完成一个会让最初的自己感到骄傲的事。
让编程成为一件有成就感,且不断让自己靠近实现自己想要得到的事物的过程。
让编程成为一件有成就感,且不断让自己靠近实现自己想要得到的事物的过程。
6 票
哈哈,这个问题问我,我觉得算是问对人了
其他同学如何从编程寻找乐趣我不知道,我只是谈谈我的一点经验
常常,我会有一些新奇的idea(可以与工作相关的,也可以毫无关系的,比如,自己写个小游戏,可以自己玩,自娱自乐,也可以给那些无知的小妹妹玩,听听她们那如同天籁般的"哇,好厉害 "),然后就尝试着将这些idea用程序实现,当这些idea在你手中通过程序成为现实时,你获得的成就感是无法言表的,这时编程序就成了一件很愉快很舜的事情
这里有几个实际的例子,可以给你一点启示
其他同学如何从编程寻找乐趣我不知道,我只是谈谈我的一点经验
常常,我会有一些新奇的idea(可以与工作相关的,也可以毫无关系的,比如,自己写个小游戏,可以自己玩,自娱自乐,也可以给那些无知的小妹妹玩,听听她们那如同天籁般的"哇,好厉害 "),然后就尝试着将这些idea用程序实现,当这些idea在你手中通过程序成为现实时,你获得的成就感是无法言表的,这时编程序就成了一件很愉快很舜的事情
这里有几个实际的例子,可以给你一点启示
4 票
下面是我很久以前写的一篇blog(稍稍有修改),我想,到目前为止,这篇blog里的写的东西依旧是我能够一直都喜欢编程的最根本的原因。当然,对很多人来说,这些可能还是很枯燥,这种事情太因人而异了。不过,从一般论来说,人要改变对一个事物的看法和感受,总是需要从与平时的不同角度来观察和分析它才有可能的。如果下面这堆东西能够给有些人提供一个新的角度来看待编程,那也就足够了吧。
教会别人一项新的技能毫无疑问会给我带来很多快乐,而编程,事实上就是在教一个笨到极点又听话到极点的孩子做事情,而这个孩子,很显然就是电脑。
电脑虽然很笨,像一个永远不会长大的孩子那样,什么都需要教,但是他非常地听话,不论我叫他做什么,只要我向他描述清楚,告诉他怎么做,在什么时候做,做多少次等等等等,那么他就会毫无怨言地,竭尽全力(当然,只要我要求他竭尽全力)地去做。如果我要他不停地做1+1的运算直到永远,那么,他就会为1+1的事业穷其一生而毫无怨言。话说在这个世界上我到哪里才能找到另一个这么听话的孩子呢?当然,如果是另一台电脑的话不算!
另外,作为一个学生,这个叫电脑的孩子还有许许多多人类孩子所不具有的优点哟。比如,对于这个孩子,我可以不负责任地用任何方式教给他任何东西,而不用担心他的家长来找我麻烦,我可以教给他任何在别人看来很傻的东西,而不用担心他会擅自宣扬我的丑事,我可以随时抹除他的记忆重新开始教,我还可以把这个孩子学会的所有技能很方便地复制给另一个孩子...其实优点够多了吧已经。
事实上,“绝对地听话”这个属性是多么的简单而美丽呀,正因为这份简单,才使得在这个孩子身上一切都变为可能。
虽然他所会的一切都是我教他的,但是因为他那让所有人类为之汗颜的计算能力以及持之以恒且对任何东西都不会感到厌倦的精神,他学会了做很多我——也就是一个普通的人类——所不可能做到的事情。他能用几个小时的时间在屏幕上绘制出一个逼真的萝卜来,只要我教给他一个叫做“Ray Tracing”的技能,他能竭尽全力持续几天帮我解方程组,只要我教给他一个叫做“Non-linear Optimization”的技能……另外,我还听说在世界上的其他地方,比如某些研究所,有一些大孩子,他们所学会的东西能预测天气变化,构造新的能治病的蛋白质,甚至下赢国际象棋大师。
最后的最后,我想说的是如果我有能力,我甚至可以教这个孩子怎么“长大”,教他如何“学习”,如何“思考”。只不过到目前为止,曾经来到过这个世界的和当今世界上还活着的所有最伟大的计算机天才们都没有教会我们这个笨孩子怎么“长大” 怎么“学习”怎么“思考”。残念...我不是天才,所以我只能爱着这个孩子,然后为他的“长大”尽一点微薄之力。
教会别人一项新的技能毫无疑问会给我带来很多快乐,而编程,事实上就是在教一个笨到极点又听话到极点的孩子做事情,而这个孩子,很显然就是电脑。
电脑虽然很笨,像一个永远不会长大的孩子那样,什么都需要教,但是他非常地听话,不论我叫他做什么,只要我向他描述清楚,告诉他怎么做,在什么时候做,做多少次等等等等,那么他就会毫无怨言地,竭尽全力(当然,只要我要求他竭尽全力)地去做。如果我要他不停地做1+1的运算直到永远,那么,他就会为1+1的事业穷其一生而毫无怨言。话说在这个世界上我到哪里才能找到另一个这么听话的孩子呢?当然,如果是另一台电脑的话不算!
另外,作为一个学生,这个叫电脑的孩子还有许许多多人类孩子所不具有的优点哟。比如,对于这个孩子,我可以不负责任地用任何方式教给他任何东西,而不用担心他的家长来找我麻烦,我可以教给他任何在别人看来很傻的东西,而不用担心他会擅自宣扬我的丑事,我可以随时抹除他的记忆重新开始教,我还可以把这个孩子学会的所有技能很方便地复制给另一个孩子...其实优点够多了吧已经。
事实上,“绝对地听话”这个属性是多么的简单而美丽呀,正因为这份简单,才使得在这个孩子身上一切都变为可能。
虽然他所会的一切都是我教他的,但是因为他那让所有人类为之汗颜的计算能力以及持之以恒且对任何东西都不会感到厌倦的精神,他学会了做很多我——也就是一个普通的人类——所不可能做到的事情。他能用几个小时的时间在屏幕上绘制出一个逼真的萝卜来,只要我教给他一个叫做“Ray Tracing”的技能,他能竭尽全力持续几天帮我解方程组,只要我教给他一个叫做“Non-linear Optimization”的技能……另外,我还听说在世界上的其他地方,比如某些研究所,有一些大孩子,他们所学会的东西能预测天气变化,构造新的能治病的蛋白质,甚至下赢国际象棋大师。
最后的最后,我想说的是如果我有能力,我甚至可以教这个孩子怎么“长大”,教他如何“学习”,如何“思考”。只不过到目前为止,曾经来到过这个世界的和当今世界上还活着的所有最伟大的计算机天才们都没有教会我们这个笨孩子怎么“长大” 怎么“学习”怎么“思考”。残念...我不是天才,所以我只能爱着这个孩子,然后为他的“长大”尽一点微薄之力。
3 票
编程最有意思的是改写操作系统. 步伐小, 较简单, 但是效果明显(成就感,嘻嘻). 并且你和别人说: 哦, 最近在搞操作系统内核, 一下子就能把别人拉出几条街了.
跟进一步, 开始搞软硬结合, 这个嘻嘻嘻嘻... 很装x的.
哦. 其实我有时候觉得写代码很无聊的时候, 我就把注释写的搞笑点...其实玩操作系统是为了更好了解计算机原理。
跟进一步, 开始搞软硬结合, 这个嘻嘻嘻嘻... 很装x的.
哦. 其实我有时候觉得写代码很无聊的时候, 我就把注释写的搞笑点...其实玩操作系统是为了更好了解计算机原理。
2 票
当编程对你不是那么难的时候,你就不会感到枯燥了...所以,一般来说编程得有一个付出的过程
似乎很少见过有人发生这样的转变。也就是象题主那样,对他来说编程是枯燥的,然后希望转变为不枯燥的。
我所认识的人,倒多数是一直觉得编程很有乐趣,从未觉得编程是枯燥的,所以所谓“转变”无从谈起。
那么在这个问题上,我支持冯东的说法。
我所认识的人,倒多数是一直觉得编程很有乐趣,从未觉得编程是枯燥的,所以所谓“转变”无从谈起。
那么在这个问题上,我支持冯东的说法。