刘鑫成同学与老师们的对话:“学编程=敲代码?”

博文来自刘鑫成同学的博客:http://www.cnblogs.com/liuxincheng/

 

感悟

在进入这一学期以来,我没有记过自己敲了多少代码,但我肯定,比我大一一年敲的都多。

在这学期我报名参加了java培训班,从基础学起,它们的战术就是大量的敲代码,你说你不会,敲!你说你会了,把代码默出来!

在开始接触C++时,老师讲你不会代码你就多敲几遍,我当时觉得是在开玩笑,也觉得老师口中那个大学四年敲了几万行代码的学长很厉害,但是现在我发觉,代码真的是从基础的开始,多敲就真的可以懂,不是那种不带头脑的敲,那还不如ctrl c,ctrl v,一边敲一边思考,一段简单的代码,我以为看会了,我就默一遍,运行,如果有错,自己调试修改,没错了,再默一遍,运行,往复直到能够一次就对。

因为我选修课还选了C#,今天在上机课时,认认真真的在做习题,发现部分程序我可以依靠翻书,以及java,C++中的程序来完成,如果有时间,我希望自己能够再在C#上取得一些进步,感觉不同的语言很多地方是相通的。

在看了苗苗的编程环境后,我发现自己的编程环境有点跟不上时代,现在培训班的java训练要求我们直接ctrl r ,然后javac文件来调试,而苗苗的编程软件能够自带测试改错,我觉得在初期我还是不要用那种软件,踏踏实实的打好基础。

这是我学java两个星期的一点心得,不喜勿喷。

 

感悟(二)

  最近学到了java中的Map和collection部分,然后还有泛型等等,到了现在我遇到了很多困难。

  主要问题如下:

1、对于单独的知识点举例或者写出程序是可以的,但是对于什么时候该用,以及程序中一些语句的作用不能做到真正的理解,也就是说,是对于学到的知识点不能够联系起来,总觉得好像毫无关联。

2、很多程序知识点都懂,但面对具体需求问题难以想到利用。

3、昨天,在完成一道作业时,由于面对问题毫无头绪,苦思无果,然后心态爆炸,开始想我是不是不适合做程序员等等,虽然后来觉得是自己练习不够,但是不知有没有人遇到同样的问题。

4、从上课以来每天敲代码还是蛮长的,但还是无法练成盲打,不清楚是不是我练习方式的不对,我打字速度已经提升许多,但还是需要看键盘,而且我打汉字速度快,打英文相对较慢还容易出错。我几乎每天都会用金山打字练习10-20分钟。在上课时,老师敲完一个程序所有代码(连讲带敲),我还差还几行,导致有时就在敲代码,某些知识就错过了。

学的越多,越觉得以前学的那真是皮毛都不算,也为自己当初觉得我考试过了没有挂而满足的心态觉得惭愧。大家都在努力,清明假期,苗苗去南京培训,三天没在宿舍。也有高中同学凌晨三点发动态鼓励自己完成概率难题。我还是有那么点的贪玩,前两天好好学习,今天就放了自己一天假,赖到十点才起床(好久没有这么晚),玩了会游戏,跟家里人打了电话表明自己可能要到八月份才回去,五一还要上课。以前总觉得别人在玩,自己也可以玩玩,觉得认真学习的人挺少,现在发现,到处都是在奋斗的人,自己不奋斗就要被远远抛下。比如苗苗,挺帅的,用网络语言讲就是明明可以靠脸,却偏要靠才华。

希望自己以后不会为辜负了大好青春而遗憾。

 

 
#1楼 2016-04-09 07:28 | yeka  
[我们在尝试新的事物的时候,总是会遇到各种各样的困难,不同的人会在碰壁不同的次数之后退出。用程序员喜欢的话来说就是,我们都在for循环,区别在于你是什么情况下break;的。有的人退出阈值高,这是能坚持的一类人,有的人退出阈值低,这类人很可能遇到一些障碍就退出了。

过早退出的原因往往在于对于未来的不确定性,对于投资时间最终无法收到回报的恐惧,感受到的困难越大,这种恐惧越大,因为越大的困难往往暗示着这个任务需要投资的时间越大。所以其实我们都是直觉经济学家,当我们说“畏难”的时候,其实我们畏惧的不是困难本身,而是困难所暗示的时间经济学意义。

然而,我们的情绪大脑毕竟比较原始,仅根据碰壁的次数或硬度来判断事情的难易并不一定靠谱,如果你遇到困难,不妨用一用互联网,用一用群体的智慧,看看别人当时是怎么想怎么办的,绝大多数情况下你并不孤单,你遇到的问题早就有人遇到过,你踩过的坑里面尽是前人的脚印,不要仅仅因为一时摸不着头绪,找不着出路就退出,这不是informed decision,问一问自己作出退出的决策是否基于足够的信息,我是否进行了足够的调查,至少,是否去简单用了用搜索引擎。

模仿高德纳先生的名言:过早退出是一切失败的根源。


兴趣遍地都是,专注和持之以恒才是真正稀缺的。]
http://mindhacks.cn/2009/10/05/im-a-tiny-bird-book-review/
#2楼 2016-04-09 07:33 | yeka  
这里有不少过来人的故事:
http://zhuanlan.zhihu.com/p/19927299


知乎上也有好些人在分享菜鸟学习心得。

另外,菜鸟也有菜鸟的优势咧——
http://www.12reads.cn/24426.html


总之,加油!
#3楼 2016-04-09 07:50 | 娄老师  
写代码要靠思考,不是练打字。打字可以专门练习的,我大一的时候用DOS下的TT集中练习两周,盲打速度很快就到了班里最快的,就是一篇文 章来回打,打熟了换一篇。这篇文章 [做中学之五笔输入法实践教程](http://www.cnblogs.com/rocedu/p/5167940.html)中介绍的「五笔打字员」也可以用来练习。
#4楼 2016-04-09 07:52 | 娄老师  
> 学到的知识点不能够联系起来,总觉得好像毫无关联。
建议你看看[积极主动敲代码,使用Junit学习Java程序设计](http://www.cnblogs.com/rocedu/p/4837092.html),学习慢下来,多思考。
#5楼 2016-04-09 07:55 | 娄老师  
> 很多程序知识点都懂,但面对具体需求问题难以想到利用。

说明你应用还少,这个体会我也有,项目做多了,这个问题就自然解决了,关键是自己要能感到不断的进步,现在的阶段,代码行数的增长都是可以引以为豪的进步。
#6楼 2016-04-09 07:57 | 娄老师  
Map和collection部分的理解要有数据结构的基础的,不知道你们学了没有。
 
#11楼[楼主] 2016-04-09 08:06 | 刘鑫成  
@ 娄老师
数据结构学过了,Map和Collection我这几天把他的每一个知识点代码都带着理解去默了五遍,现在已经有点明白了,但还是需要多应用
 
#14楼 2016-04-09 08:56 | 小林觉  
我认为,不必刻意追求盲打! 事实上,我们在写程序时候,还需要思考的时间的
#15楼 2016-04-09 08:56 | 小林觉  
我记得 对此还有种相反的观点
#16楼 2016-04-09 08:57 | 小林觉  
认为,敲键盘速度太快了,与人们思考的速度不同步,需要放慢输入速度的 :)
#17楼[楼主] 2016-04-09 08:59 | 刘鑫成  
@ 小林觉
嗯嗯,我会选择最适合自己的😁
#18楼 2016-04-09 09:00 | 小林觉  
最适合自己的方法,只有自己慢慢摸索
#19楼 2016-04-09 10:03 | SoftwareTeacher  
别纠结泛型了, 和三五个同学一起写一个有 100 人用的软件, 你就知道什么重要了。
#20楼[楼主] 2016-04-10 09:32 | 刘鑫成  
@ SoftwareTeacher
明白了,谢谢老师
#21楼 2016-04-11 05:50 | 小林觉  
@ SoftwareTeacher
引用别纠结泛型了, 和三五个同学一起写一个有 100 人用的软件, 你就知道什么重要了。


重在实用!!!
重在实用!!!
重在实用!!!
(PS: 重要的事情说~~~ :))
#22楼 2016-04-12 21:38 | 周见智  
>从上课以来每天敲代码还是蛮长的,但还是无法练成盲打,

一直没有搞清楚一个问题,很多学生博客中都提到过‘打代码’、‘敲代码’这样的词,我很好奇这些同学是照着书上的例子一个字母一个字母地写么?

如果是,我觉得方法完全错了。最起码前提要看懂了,自己尝试不看书的情况下去默写一遍。根据自己的理解,哪怕最后和标准代码有出入,这样最终的效率比一上来就照着书本敲代码高太多,后者可以说几乎就没有什么用处。

 

posted @ 2016-04-22 18:08  船夫日记  阅读(628)  评论(0编辑  收藏  举报