为了账号安全,请及时绑定邮箱和手机立即绑定

习编程之路、少走弯路

标签:
Java

回头看学生时代,最大的弯路便是怕走弯路、想不走弯路。


  纠结该学什么言语、该研讨哪个方向、该做项目仍是啃算法,生怕一失足成千古恨,踏上一条不归路。


  好久之后才发现,与其纠结挑选,不如找个点坚持下去。比如爬山,你在山脚下纠结该从哪条路上去,而实际上,每一条都能通往山顶,每一条都不会是垂直平坦的。你怕错失另一条路的景色踟蹰不前,却不知道只需登上山顶就能够一览众山小。


  假设必定要说个经历教训,那便是尽或许多地写代码、读源码、读文档。


  有两个词,一个叫做功不唐捐,一个叫做殊途同归。


  学习进程中的弯路是不得不走的,可是学习办法上的弯路仍是能够绕的。


  得到经历和浪费时刻终归是两回事吗。


  我是个完完全全自学入门的人,现在虽现已进入科班,可是我认为经历仍是能够共享给想自学编程的我们


  的。当然假设题主是想要为了信息学的比赛学习,那我觉得这个答案就不适合你了,你应该挑选更为体系,更为针对,强度也更大的操练办法。


  1.大多数人学习编程最早的懊恼便是不明所以的“烫烫烫烫烫烫烫烫”,虽然根本教育的节奏都是从巨大的C言语开始,可是作为一个早早自学编程的人来看,C言语作为入门言语是很简略打击人的(教材本身的质量也是一个要素),所以假设是自学入门的话,无妨学一学的入门简略规则简略的言语培育语感和根本本质,例如PHP、VB这样的东西,能够很快做出一个能够看能够用的东西,是很有成就感的,有了自傲就自然而然得会想深化的前进自己了。


  2.自己当年中学的时分做论坛,那时分盛行的是Discuz!,为了做好玩的互动插件学的PHP。当时的感觉是,自学一门编程言语并不轻松,在会的人看来简略的概念其实不简略灌输给完全不会的人。最开始自己便是啃书本,上课都不记笔记的我把学习到的东西规规整整地记在本子上,直到把基础的语法和言语特性都了解了才停止。不必定像我这样,可是作为一个一清二白的菜鸟,必定要让自己有一个把基础的基础看下去的驱动力才能够。


  3.实践是检验真理的唯一标准。实践关于初学者而言非常重要,可是C言语课本上的实践大多是一些就事论事,针对知识的标题,面临一个控制台程序,其实做完了……过几天也不会觉得这个有什么意思,所以我认为必定要尽或许的尝试去做一个能够用的东西。学PHP做个登陆页面呀~学VB仿个Win计算器呀~学Java做个扫雷~总归做出能够对除你之外的人都能有一点点喜好的东西,对自己是很鼓动的。在这方面,C言语这种,关于初学者做图形界面比较不友好的言语……首要的问题便是不会让你发生那种真实处理问题的成就感。


  4.最开始的实践是一种集合,由于知识的不可靠,可是需求处理的问题对自己又是如此的杂乱,所以那个时分的代码都是以能处理问题为主,而不是以好的办法处理问题为主。现在回过头来看当年写过的论坛宗族,论坛宠物中心,从外观上讲确实是当时一流的,可是背面的代码着实不忍目睹。不过关于初学的人而言,能够使用现有知识达到方针现已是鞠躬尽瘁了。那个时分的编程没有精雕细琢,便是为了完结而完结,也不论有多少if套着if,甚至变量名我都能起成$if。不过我有必要招认的是,没有那段经历,我或许不会如此的喜欢编程。当有人运用了你的效果,不论是对他提出主张仍是提出赞美,关于一个没有破壳的菜鸟而言,都是很棒的感觉。说实话,作为初学者,敢写代码,便是个里程碑了。


  5.历史和人的感觉是很像的,当你的代码写得多了的时分,你自然就会觉得写得不漂亮。照现在的话讲,那些代码一点都不高雅。作为一个逼格满满的人,完结任务现已不再是一个寻求,当Ctrl+C/V成了编程的必备过程的时分,你自然而然的就会考虑了:是不是能够不这样做?这是一个重要的进程,你会想要前进你代码的实行功率,你会想削减查询数据库的次数,你会想用简便的代码完结想要的功用……当你步入这个阶段的时分,祝贺,菜鸟总算入门了。


  这是三个大坑,算法优化、数据库查询优化、代码复用。


  你得心甘情愿跳进去,再逐步往外爬。


  看上去我好像在举高PHP相同,其实不是这个意思。我仅仅觉得作为一个能够马到成功的入门言语,它是很适合的。进入大学计算机专业后,我和同学相同,一起学习C言语,我没有触摸过这门言语,可是我却比周围的初学者们更快更好地接受了它,即便是像内存、数据类型、指针等从没有触摸过的概念,我也比别人更快的知道清楚。我觉得这一方面是由于编程所带来的学习才干的前进,另一方面也是由于我自认为我不是菜鸟所带给我的自傲和动力。我当时做了许多出格的工作,当讲课、教科书都在用VC的时分,我固执的运用VS2010,由于我觉得这个用户体会好。在课设阐明书还在依照Turbo C阐明图形界面的时分,我却找了个能在VS下运用的拷贝的图形库EasyX。其实人都是寻求美的,教师也不喜欢你开个DOSBOX翻滚翔相同的Turbo C给他演示。擅用和检索现有的东西和资源,是这个时期我最大的收成。


  当然,这儿也挖了一个大坑,用户体会。


  前几天知道,我的学弟学妹们都扔掉Turbo C了。


  6.在校园的学习进程是这样的:C -> C++ -> Java。


  C++和C天壤之别,作为一个具有面向对象特性的言语,它带给我们许多新鲜的概念。虽然初次见面的时分我们互相都如此羞涩,谁都看不懂谁。在学习C++的时分,其实我并没有提起多大的劲头,仅仅觉得STL很好很便利,在OJ上刷题的时分能比C省劲不少。不过之后看到一本国外的关于物理引擎的书,便又是提起了12分的喜好看了看。那本书终归我是没有看完,不过只看一部分我便能感受到自己的浅薄——本来类是这么用的啊。


  好久之后我才知道这是一个高档坑:规划方式。


  7.之后数据结构的课程规划,依照套路是要用Java做UI的,可是Java的IDE在我的电脑上一贯表现不佳,加上调试时分的种种不顺利,使得我我对Java做窗体程序好感不佳。所以我想起了初中的VB,随后又联想到了它的同门C#(求别问怎样联想的=。=),那种拖拽做界面的爽快感……经过我的推行,班里终究只需一人用Java做UI,还有其他一个人用的MFC。这个其实是想说,我这个人比较懒,所以喜欢找更好的处理计划,存在就有存在的价值,短短5天,所有人都能够用C#做出一个漂亮的界面,而Java搞得很麻烦又不漂亮。这不是在谈好坏或是投机取巧,而是在谈生产力、功率。我操练的人能够5天上岗,做得比你操练一个学期的人还要好,那这便是价值。


  8.其实一路走来,站的越高,自己就越简略被推翻。


  当PHP写代码觉得原始的时分,框架这样的东西就会跳在你眼前打脸。


  当WinForm程序做起来感觉到代码混搭的乖僻的时分,就发现其实还有个WPF。


  当觉得Java臃肿功用堪忧的时分,高档的Web技术又会推翻你对Java的偏见。


  ……


  学习编程的人需求这样一个自我认知和自我前进的进程,老实说,我觉得这其实不算弯路,这可都是经历呀。这些所谓的弯路是你只需踏上这条路就必走不行的,就像是宜家的步道规划,人家规划好便是要你走遍全程。由于这是一个进程,学习进程上的弯路是宝贵的。


  至于我之前所说的学习办法上的弯路,大多是指教材挑选、操练办法上的弯路,这些弯路能够经过老一辈的教导来避免,我觉得这种弯路走上了,便是浪费时刻。现在时刻这么宝贵,我们都要讲功率的。当我们都说谭老的书欠好的时分,就不要选这本书了。当我们都说某些习题没有用的时分,就不要去做了。学会挑选,学会甄别,学会找到适合自己的办法,这才是最重要的吗。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消