如何提高编程能力?

道廷の博客 道廷の博客     2022-10-27     420

关键词:

其实很多人学编程都会遇到困难,我觉得其中一个根本原因是他们没搞明白学编程到底是学什么。
 
编程不是一种知识,而是一门手艺。
 
我们从小到大的学习都是学习知识,流程一般是课前看书预习,上课听讲,下课做作业,然后复习考试。但是学手艺可不是这么学的。
 
我们先拿游泳举例,游泳不是知识,而是技能,也可以算门手艺吧。
需要预习吗?需要上课听讲吗?不需要,因为两岁小孩都能学会游泳,他们连话都不太会说呢,怎么可能听课预习呢。游泳是通过在水里的练习,教练手把手地传授动作,一点一点提高熟练度学会的。
 
我们再来看看弹琴,学钢琴一定要有钢琴,音乐基础知识也是老师在练琴间隙传授的,并且一定会结合练习,另外练琴时间是很重要的,必须保证一定的练习量,有些理想远大的琴童练琴时间可以用惨无人道丧心病狂来形容。
 
千万别把编程看作知识,计算机科学是知识,但是编程是手艺。
既然是手艺就要用学手艺的思路去学习。
 
以动手练习为主,看书学习为辅,甚至极端点,初学的时候除了看必要的文档都可以不看书,等有了一定编程基础后再去看书,看完书立刻动手编程去验证书上的理论知识。
练习一定要循序渐进,把手艺分解成几个简单的动作,反复练习直到熟练,然后再把基本动作组合起来练习直到熟练。拿C语言举例,比如从认真写好一个Hello world开始,然后去熟悉 if for while 等基本关键字,然后熟悉字符串操作,内存操作,练习查找 排序 二叉树等基本算法数据结构,然后学习一个小型Framework。。。。
找个师傅,手艺的一大特点就是自学是很慢的,而且容易走弯路,而有人手把手教要快得多,手艺有很多细节,实际操作经验,需要去体会感受的东西,这些细节书上基本不会有。
坚持做大量的练习,以代码行数为例,每年50000行左右是比较一般的练习量,有毅力的话可以挑战10万行。(有人说代码行数不代表什么,行数多不见得程序就对,写得好的程序代码很少blablabla,滚,去跟朗朗说去,告诉他其实不用练那么长时间琴。)
 
回忆下自己当年是怎么学会骑自行车,学会游泳,学会打篮球的,按照那个思路去学编程,而不是用你学大学课程的思路去学编程。
 
记住,编程是手艺,不是知识。
 
======
最后再强调下,对编程能力本质最好的比喻就是弹琴。但是有了编程能力还不能算优秀的程序员,优秀的程序员是作曲家,他们不仅能想出优美的旋律,并且能弹奏出来,就像优秀的程序员不仅能想出优美的算法架构,而且能把它变成可执行代码。你很难想像作曲的人不会任何乐器。
 
很多人的问题是想当作曲家却不肯下功夫去练琴。
 
打个预防针,估计有人会举出反例说我就知道某某某作曲家不会乐器(其实真的有)。
我要说的是,等你成了公认的著名作曲家之后再说自己不会乐器,那你牛逼。
在成名之前就这么说那是煞笔。
 




如何快速提高编程能力(代码片段)

#############################################"""如何快速提高编程能力,自己的认识1,多练,这是每一个人都知道的,2,多学,学习别人的代码""" #############################################"""别人总结的方法:第一条,多写一定要多练,多写... 查看详情

如何提高编程能力

1. 多写代码学习某件事情最好的办法就是练习。你应该花大量时间去构建和编写代码除非你认为练习对你的帮助不大。你可以从写一些基础知识相关的简单程序开始。2. 参与不同类型的项目当你对某种开发语言非常熟悉... 查看详情

如何提高编程能力?写更多代码是最显著的方法,但是本文这一种与写代码完全相反,一起来看看吧

起初我是在2010年5月为FuelYourCoding网站写的这篇文章。然后这个网站现在已经不存在了,为了让爱好编程的人们能够继续受益,所以在这里重新发表这篇文章。我考虑过是否要按照现如今的情况来对这篇文章进行修改,但是我认... 查看详情

目前大一,在学c++,编程能力如何快速提高?

我认为,大学生在提高自己编程能力的过程当中最好是进行练习,只有练习才能够获得一个很好的提高,其实任何的技术都是经过熟练的操作之后才能够达到目的的,没有足够的练习是不能够熟练操作的,这其实是每一个人都懂... 查看详情

程序员如何快速提高编程能力?快来看大牛的方法(转)

...尝试,我相信你将会得到巨大的回报!这篇文章将告诉你如何阅读代码,阅读什么样的代码最有效。如果你已经很擅长阅读别人的代码了,那读完此篇文章,你可能会发现新的方法。应该阅读什么代码?这是一个很重要的决定,... 查看详情

卓越分享:8招提高java编程效率

...员”那么多高是高呢,自己有没有能力拿到这个高薪呢,如何提升自己的能力拿到高薪呢,有很多人还是略略的迷茫,今天中软卓越Java培训老师就给大家介绍八个可操作的提高Java编程水平的方法。  1.提醒自己得学习  学... 查看详情

怎样提高自己的python编程能力?

可以借鉴一下《笨办法学Python3》中的学习方法。怎样学习任何一种编程语言我将教你怎样学习任何一种你将来可能要学习的编程语言。本书的章节是基于我和很多程序员学习编程的经历组织的,下面是我通常遵循的流程。1&#... 查看详情

桌面端编程之通过c++的标准模板库代码快速提高编程能力

...#xff0c;这样就能够快速地提高自己的编程能力。那么,如何下载和查看STL源码呢?有如下的三种方式:1.通过网络下载的标准库及文档查看源码SGI版本的STL源码一般来说可读性比较好,读者可以首选该版本的STL进行... 查看详情

任务01

自己目前在专业能力上的短板,及打算如何弥补。   编程能力弱,看到题目不知道该怎么写,看别人的程序还能看的懂点,自己写就写不出东西来。 自己积累的东西还是太少,以后多练习,提高编程水平。 在... 查看详情

如何提高表达能力

...按成分来说有:主语、谓语、宾语2、常用的连接词?3、如何排列组合脑海中的关键词?4、如何概括一件事?5、训练表达能力的方法  1)自问自答并录音  2)罗列一些场景,思考在不同的场景该说什么话  3)模仿:模... 查看详情

并发编程的优缺点

...发能力和性能并发编程的缺点并发编程的目的就是为了能提高程序的执行效率,提高程序运行速度,但是并发编程并不总是能提高程序运行速度的,而且并发编程可能会遇到很多问题,比如:内存泄漏、上下文切换、线程安全、... 查看详情

理解能力能提高吗?

?什么是理解力??如何促进思考??如何促进整合?声明:此文是建立在你已经了解如何思考和学习的本质的基础上,进一步探讨如何提高理解能力。(如果想了解“思考”和“学习的本质”,可以看这两篇:我何尝不想主动思考... 查看详情

如何提高我的爪子检测能力?

】如何提高我的爪子检测能力?【英文标题】:HowcanIimprovemypawdetection?【发布时间】:2011-05-0412:39:55【问题描述】:在我上一个关于findingtoeswithineachpaw的问题之后,我开始加载其他测量值,看看它会如何保持。不幸的是,我在前... 查看详情

最后一周总结

1)回顾你的课程计划(第一周的计划),你完成的程度如何?请列出具体数据和实际例子  在做第一周的计划时,我对自己的能力评估如下:Skills课前评估Programming:Comprehension2Programming:Design1Programming:Implementation2Programming:Communic... 查看详情

设计师如何提高个人的色彩搭配能力?

...为了帮助更多的设计小白快速提高配色能力,分享设计师如何提高色彩搭配能力?  1、多看多接触  这里说的多看多接触,其实就是让大家多接受优秀作品的熏陶, 查看详情

在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。

...问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。 在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整... 查看详情

编程能力七段论(上)

 前言程序员的编程技能随着经验的积累,会逐步提高。我认为编程能力可以分为一些层次。下面通过两个维度展开编程能力层次模型的讨论。一个维度是编程技能层次,另一个维度是领域知识层次。编程技能层次编程技能层... 查看详情

如何提高自我学习能力?

 一、学习综述由于人类的记忆能力有限,无法记住大规模的细节信息,所以需要对信息进行压缩与高度概括。于是文字诞生了,文字是对客观事物的抽象表达,本质是信息压缩,分为表音、表形、表意三种,它是人类的学习... 查看详情