当前位置:网站首页>我是如何学习编程的?

我是如何学习编程的?

2021-01-23 22:10:59 InfoQ

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"前不久,有位朋友问我是如何学习编程的,我入行五年,也走了很多的弯路,参加过培训机构的速成培训,也在自己不断持续学习中。我自认为并没有太大的天分,目前还是靠着自己的努力来应对工作。那关于学习编程这件事情,有没有学习套路呢?我认为还是有的。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果上过大学的话,计算机基础课程基本上都学过。如果说现在一点儿都不记得,也没关系,至少有印象吧?如果说真一点基础都没有,推荐去极客时间买计算机基础课学习,然后再来讨论如何学习编程。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":1},"content":[{"type":"text","text":"你的目标是什么?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在学习之前,一定要搞清楚你的目标是什么。我们在采取行动之前,一定要先问问自己‘我为什么要做这件事情’?并且写下来。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"只有想清楚做一件事情的目的时,才能有的放矢,才能找到驱动力。学习的过程当中,驱动力>约束力。我觉得《小强升职记》中,关于驱动力的描述挺好的:“","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"打开一扇从里面锁住的门时,用约束力从外面猛砸时也管用,但不如用驱动力从里面打开那样优雅、有效,力量来自于你的内心","attrs":{}},{"type":"text","text":"”。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"另外,编程语言都有各自适用的场景。根据自己的需求,去选择性学习,而不要上来就学习C语言这样的编程语言。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":1},"content":[{"type":"text","text":"先做","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我的工作就是编程,参与开发企业级项目。刚开始入职时,先跟高手学,照猫画虎,实现交代给自己的功能。这时候,类似于用组件搭积木。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"自己再花时间思考背后的原理,搞不懂的,先整理出问题列表,然后逐个击破,方法如下:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"自己Google,一般问题大概率都能得到解决","attrs":{}}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"读书,从书中寻找线索。这样做效率不高","attrs":{}}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"向高手请教。找身边或社区的高手,最好带着自己非常明确通过自己的努力无法解决的问题。如果能解决,就最好自己解决","attrs":{}}]}],"attrs":{}}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"先做项目或者通过demo,对你所要学的编程领域有一个整体的感知。这个过程,你可能无法建立起一个有体系的知识框架","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":1},"content":[{"type":"text","text":"成体系学习","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"接下来,就可以去买课学习,跟着老师们的思路,系统学习,摸清楚你所学技术领域的发展趋势和核心知识主干。学习过程中,把之前积累的经验补充到枝干上。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"Tips","attrs":{}},{"type":"text","text":":前期,不要一上来就想着去学网络协议啊、算法啊、读框架底层核心源码这种东西,难度高,易劝退。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"让做 - 学 - 输出分享的增长飞轮转起来","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"无论是从课程中还是从书本上学习到的知识,一定要动手去实践;比如,学Spring生态相关的知识,那你得动手搭建个框架试试,然后剖析其中的核心内容;剖析完了之后不算完,可以把学习心得总结出来分享给更多的人。通过建立输入输出的闭环系统,不断完善自己的技能树。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"除了买课,此时可以去翻翻那些大部头的经典书籍,去浏览一下那些改变世界的程序员们的blog了,通过努力,一点点推开了新世界的大门。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"无论你是工作需要、学术研究或者兴趣爱好选择了编程,先沉下心,思考一下编程能解决你的什么问题?然后尝试去做,做的过程中再去学,以此往复。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"做的过程中,一般的软件都可以逐步迭代,先实现小功能,获得成就感,再追求完美。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"Done is better than perfect。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最后,大家如果有不错的学习方法,可以在留言区分享,我们一起讨论,共同进步。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://xie.infoq.cn/article/17e1a60a68b67025a8f7d84fb?utm_source=rss&utm_medium=article

随机推荐