原创 学好编程的4大必备素养看看你缺哪个

发布时间:2021-08-16 12:06:22 浏览 176 来源:博学谷 作者:蘑菇丫

    课程导学
    哈喽,你好呀~ 欢迎来到博学谷编程科普小课堂。我是本次课程的老师,蘑菇丫。

    在了解了编程到底是个啥--《除了钱,编程圈儿里还有啥?》以及学习编程有啥用--《普通人为啥学编程?这一个理由就足够》之后,很多小盆友纷纷私聊丫姐,疑惑自己到底适不适合学编程?

    那本节课程,丫姐就带你从以下两个方面来测试一下,你到底适不适合学编程:

    (1)学编程需要的客观条件

    (2)学编程需要的主观因素

    第一关 学编程需要的条件-客观条件
    欢迎来到第一关,本关我们将从以下2点,带你分析一下学习编程需要的客观条件:

    逻辑思维能力
           编程英语
    1.1 逻辑思维能力
    1.1.1 为什么需要逻辑思维能力
    如果说,编程是一种技能,那其中重要的就是“用逻辑思维处理问题的能力”。

    在课程《除了钱,编程圈儿里还有啥?》中,丫姐解释了什么是逻辑。这里再带你回忆一下,逻辑简单来说就是完成一项功能的具体流程。比如,煎鸡蛋的做法流程就是第一步要做什么,第二步要做什么...

    而【逻辑思维能力】就是你在完成某项任务时,是否具有清晰的逻辑,并能准确的规划出你执行的步骤的能力。

    举个例子:

    甲方爸爸提出需求A,程序员用代码将其实现。如果程序员自己都没有将需求理解透彻,并变成自己的思维逻辑,那么他编写出来的程序肯定也是处处Bug。

    即:透过现象看本质,将需求化为像“煎鸡蛋具体做法”一样的步骤,只有你的逻辑思维能力足够强大,你才能写出优质的代码。

     

    1.1.2 怎样提高逻辑思维能力
    这时候,肯定有N个小盆友会说,我数学从小就不好、我是文科生、逻辑思维能力很差......那我是不是就不能学编程了呢?

    答案是,不一定。

    逻辑思维能力虽然是学编程的一个客观条件,但它却不是一个人天生就固有的能力。也就是说,逻辑思维能力是可以训练的,可以增强的。

    就比如,刚出生的婴儿使用哭泣表达饥饿或者是不舒服,这是他最开始的本能。但随着他的长大,他发现哭泣还可以表达其他情绪,例如开心、嫉妒等。这就是经验形成的反射。而逻辑思维能力也是一样的。如果你一直在这方面处于弱势,那不妨试试丫姐给你的几个建议,对你有大大的帮助哦,赶紧掏出本本记起来~

    建议1:联想法
    从a事物联想到b事物,联想的事物越离谱越好,越多越好,打开脑洞,发挥你的想象空间。

    例如,我从【大象】就可以联想到【香蕉】,从【香蕉】又可以联想到【黄色】,从【黄色】又可以联想到【衣服】,从【衣服】又可以联想到【女孩儿】......

    联想法可以开拓你的思考能力,在《银河补习班》中,有一句话,让我深有同感:“时刻保持你的大脑都处于思考状态”。确实,如果你长时间不思考,大脑会退化的...

    编程思考

    建议2:观察法
    专心观察一件事物,然后在脑海里用自己的语言清晰表述出来,用以提高自己的沟通以及短时间内抓重点的能力。

    举个例子:路上看到一辆小轿车,就可以在脑海里迅速描述它的车长、宽、高,品牌,车牌,颜色,以及一些其他特点,越快越好,越详细越好。 这个过程就是在锻炼我的分析和表达能力。

    观察法可以锻炼你的抽象思维能力,能让你将某些功能用最短的时间建立起联系。久而久之,一旦拿到新的需求,你的脑海里就会首先浮现起大致的架构,十分利于后续工作的进行。

    观察法

    建议3:回忆杀
    从你的回忆中一点点对自己所做的事情进行总结,通过总结练习自己的逻辑性。

    例如:每一天丫姐都会记账单,不管多少钱,收入或者支出,晚上回到家都会慢慢回忆并在本子上记下来。月底的时候还会进行总结、分析。其实,丫姐每一天的回忆,每个月总结,就是复盘。

    复盘是一件非常有意义的事,不管是对于成功了的,还是失败了的事,复盘都能有效的帮助我们总结经验。多次复盘后就可以帮我们建立起一张十分严谨的逻辑网,使我们之后在做新的功能时,能够第一时间规避风险,找到最优路径。

    最优路径

    建议4:学会画思维导图
    思维导图可以帮助你快速梳理自己的思维,并且将思维转化为表达。久而久之,当你看到一些功能时,就可以快速条理清晰的表达出来。

    如果你现在还不了解思维导图,也不会画,那么这里丫姐推荐你看两本书,两个软件。

    两本书:东尼博赞的《思维导图实践版》,赵国庆的《你不知道的思维导图》

    两个软件:MindMaster,XMind。

    好,如果你能长期坚持使用这4种方法来锻炼和培养你的逻辑思维能力,那么相信我,你已经成功25%了。

    1.2 编程英语
    1.2.1 什么是编程英语?
    接下来,我们再来说说编程英语。

    之前就有很多小盆友都问我,学编程一定要学英语吗?不学不行么?

    是的,一定要学!因为任何一门编程语言都是用英语来编写的。所以学习编程语言,必然要学习英语,不要逃避!

    哈哈,是不是一说学英语,有人就开始头疼?“我的英语一直就不好,从小到大就没及格过,那我就不要学习编程了吧~”

    先别着急,容丫姐再给你解释一下:其实,编程英语和我们在小、初、高,乃至大学中学习的【英语】是不太一样的。

    因为在编程领域中我们更注重专业性英语,且编程语言是有自己的语法的。你不需要掌握各类从句、主谓结构甚至是短语,介词。你需要学习的只是编程语言中的一些专业词汇以及语法。

     

    举个例子:

    下面,我们就通过观察不同编程语言下的输出语句写法,来感受一下编程语言的英语是什么样的存在。

    例如,Java语言的输出语句:

    System.out.print("你好");
    此处的,System表示"系统",out表示"在...外面",print表示"打印",每一个单词之间使用.(英文输入法的点)来隔开,小括号中的"你好",就是要输出的内容。所以 ,也是这句话的意思就是向控制台打印出"你好"这两个字。

    而,C语言的输出语句:

    printf("你好");
    printf表示打印,"你好"则是打印内容,也是打印出“你好”两个字。

    而,C++语言中的输出语句:

    cout << "你好" ;
    cout也表示向外输出的意思。

    通过上面的案例展示,我们能发现一个现象。那就是编程里没有句子,只有单词和符号组成的一行行代码。并且,在这些编程语言中,是有单词重合的,例如,out,print。这能说明什么呢?

    那就是编程英语门槛很低,它使用的就是日常英语词汇,并且符合英语本身的逻辑,很容易理解。

    1.2.2 怎样提高编程英语能力
    这时,有的小盆友还是会说,我英语基础很差,连基本的英语词汇储备量都不够咋办啊?

    同样,丫姐有个小技巧,你不妨尝试一下,那就是常备翻译软件,百度翻译或者有道词典都行。当你发现你有英语单词不认识,或者是不知道怎么表达的时候,就查阅一下,日积月累,你的基本词汇量就上去了。

    但丫姐还是给你一个小小的建议,那就是如果你有机会好好学英语,还是要多学一些。因为有一些编程相关的学习资料以及编程社交平台是全英的,即使我们可以使用软件翻译成中文,但是总是会差那么点意思的。

    不过,你也不要着急,可以先从基础做起,等你积累到一定词汇量的时候,再去看一些英语文献也不是什么难事。

    搞定【编程英语】这一任务之后,现在你已经成功了一半。

    第二关 学编程需要的条件-主观因素
    欢迎来到第二关,本关卡我们一起来聊聊学习编程需要的2个主观因素:

    自学能力
           自律
    2.1 自学能力
    自学能力,是主观因素中一个非常重要的能力。

    因为编程领域中的技术大多是不断在更新的,这个过程中是不会有人专门带你去学习的。那要如何快速并深入的掌握一门技术呢?就是自学。但如果你自学能力很弱,要怎么办呢?几个小建议送给你~

    拒绝拖延症

    不要今日复明日,如果你决定做,那么就要立刻做。一旦开始,你就成功了一半。
    学会专注模式

    有的小盆友即使想学习,但却无法坚持太长时间,就会精力发散。

    这时候你要学会沉浸自己,练习每天拿出2-3个小时学习,这个时间段不要去触碰手机、pad或者是其他你感兴趣的东西,慢慢将注意力放在学习内容上。即使开始很难受,但是慢慢养成习惯之后就好了。
    注重学习方法

    学习不是一味的照搬照抄、死记硬背,是将别人的输出内化为自己的东西。

    比如,老师讲的A知识点,你需要将它分解,并吸收掉,即使脱离老师的指示,你也能用自己的话说清楚A知识点是什么东西。当然,如果你还能举一反三,那就更好了。
    学会复习

    根据艾宾浩斯记忆与遗忘曲线表明,遗忘是有规律的,先快后慢。
     

    遗忘从学习开始时就发生了,并且速度较快,然后遗忘速度下降,到达一定程度后,就不会再遗忘了。所以及时复习是防止遗忘或者减缓遗忘的有效办法。

     

    这个时候有的小朋友会问,是不是我有自学能力,就可以【自学编程】了呢?

    这里,丫姐要提醒你一下,自学编程是一个漫长而艰辛的过程,在你信心满满地准备开始之前,不妨先问自己几个小问题:

    你是一个逻辑和抽象思维能力较强的人吗?
    你是否愿意不断的去自学一些新东西?
    遇到问题和困难时,你是否有足够的耐心去独自解决它们?
    你是否是一个自律性很强,并且有毅力的人?
    如果在上面4个问题中,有3个及以上你的答案都是Yes,那你是适合自学编程的。

    少于3个的话,唉,你可能需要有指导人员带着你先进行系统性的学习,比如,报个培训班或者在网上找一些视频来学习。

    培训班课程丫姐推荐传智博学谷的就业课,用最少的钱学最干的货:https://www.boxuegu.com/subject/java-88.html

    如果你囊中羞涩,哈哈,丫姐推荐你去网上搜索一些免费课程,例如,哔哩哔哩,慕课网,博学谷回车课堂等。

    https://ke.boxuegu.com

    反正是免费的,不学白不学~

    2.2 自律和毅力
    细心的你一定发现了,在上述问题中,丫姐的第4个问题是,你是否是一个自律性很强,并且有毅力的人。你可能会想,这个学编程也有关系吗?

    关系大着呢,引用一句名言“要学好编程,兴趣和毅力必须要有一样”,在丫姐看来,毅力其实在某种程度上比兴趣更加重要。兴趣能带你入门,但持之以恒的毅力才能让你在长途跋涉的工作过程中坚持下来,才能让你在一次次的失败中快速崛起。

    编程其实挺枯燥的,坐在电脑前,一天可能要不止8个小时。对编程感兴趣的人自然是乐在其中,那么其他人呢,靠的是什么?是自律和毅力。

    你不能只看到技术大牛在解决问题时的轻松潇洒、深不可测,而是要知道他们背后花了多少时间,下了多少苦功。

    丫姐跟你说个真人真事吧,就是我的好朋友,小K。

    我们是在大学一次兼职中认识的,他是哲学系,我是计算机系。得知我的专业是编程,他十分感兴趣,详细了解后他也开始了学习编程之路。

    由于他是文科,逻辑思维不强。

    于是他平时手里经常拿着一个本,想到什么记什么,看到什么、听到什么就写什么。等晚上他就把这些与知识无关的东西去梳理,目的不是要总结出什么来,而是为了复述、总结这一天都做了什么。久而久之他的思维顺畅了很多。
    他英语很好,但是没什么编程基础,所以初期学习很费力。

    于是他每天都用思维导图去整理老师上课的内容形成笔记,每日一篇,从来不落,以至于后来大家在考试之前都朝他要笔记,以作复习使用。
    他是个电脑小白

    开始的时候只会用个QQ,创建个文档。什么DOS界面,盘符,包括文件后缀都不懂,打字也很费劲,但是他每天都坚持照着老师的代码敲,反复的敲,直到他可以独立打出演示代码为止。
    最后,他很愿意和我们沟通,有疑问就提出,并且自己会看一些编程基础的书,去网上搜索一些练习题去做。
    就这样,日复一日,一年后,他学成了。如今已经毕业多年,他依旧不忘学习和进步,现在某条,年薪60万。

    你以为他本身就是聪明,所以学的很轻松?不是的。

    上面我说的这几条,他每天都会花费大概4-6个小时的时间。此外,他还要上他本专业的课,去完成本专业老师给他的任务。也许就是在我们刷剧,玩游戏的时候他在学习;我们侃大山,逛街看电影的时候,他也在学习。

    这就是一个人的自律和毅力,当然,他现在的成就也是匹配的起他的付出的。

    好啦,到这里本关卡就结束了,关于自律和毅力的问题,并不是丫姐不想帮你弥补,而是一个人的品质和主观思想意识,丫姐也左右不了,这个就只能靠你自己了哦~

    不过,如果你还有其他疑问,请接着向下看,你想问的问题和答案,那里都有~

    第三关 你想知道的答案都在这里
    欢迎来到第三关,你想知道的答案,都在这里哦~

    3.1 编程需要天分吗?
    编程需要天分吗?

    丫姐引用经典的一句话回答你:“以大多数人的努力程度之低,根本轮不到拼天赋。”你所看到的天赋,实际上都是努力。或者说这类人真有一种天赋,但并不是编程的天赋,而是「善用兴趣产生源源不断的动力去努力」的天赋,这类人即使放在其他领域,也是会有天赋的。

    此外,即使真有天选之人,但这类人才少之又少,没有天赋是占绝大部分的。

    这时候,天赋之外最重要的就是努力,你不努力天赋再高有什么意义。不努力天赋只会被浪费,甚至不如没有天赋,但是能够足够努力的人。

    3.2 打字速度影响编程吗?
    打字速度影响编程吗?

    先说答案,不会。

    打字速度不会影响你编程,但是会浪费你的时间和生命!!!你要接受你的职业生命特别短暂的现实。

    有一说一,有时候丫姐不太能理解一些现象。比如,玩LOL,有的人鼠标加键盘操作那叫一个6,一打字就二指禅,实在难易理解。

    其实打字这个事就是个练习的过程。首先,你要先学会键位指法,学会合理应用我们的十个手指,而不是像你只有两个手指一样。然后,就是速度和正确率,你一分钟能打300个汉字,但是全都是错的,也没什么用处。

    个人建议:没事下载个练习打字的小游戏,既有乐趣还能练习,何乐而不为呢?

    3.3 女生学编程,可以吗?
    女生学编程,可以吗?

    答案:可以,因为编程是脑力活动,女生没有劣势。而且在编程领域中也有很多大神级别的程序员都是女生。在课程《除了钱,编程圈儿里还有啥?》中丫姐就提到过,世界上的第一位程序员就是位美女姐姐。

    并且,悄悄告诉你,女生在程序员中还是挺受追捧的,依稀记得丫姐刚刚入职时,组里那一群男生的兴奋程度不亚于见到了稀有物种......而且当你遇到问题的时候,就会来一群人,各种帮你测试,各种帮你分析,各种帮你实现。

    只是,不知道怎么回事,后来丫姐变成了"汉纸"......哎,忆往昔,峥嵘岁月,不堪回首!

     

    换个思考方向,如果你是想知道女生学什么编程语言好一些的话?

    我推荐你学UI,或者是前端。因为女生对色彩,美感这方面相对于男生来讲,是要敏感一些的,从选择口红色号就知道啦,嘿嘿...

    但如果你喜欢逻辑性强,更具有挑战性的工作的话,丫姐推荐你学Java、C,或者Python。因为2021年3月的语言排行榜出炉,这三大语言稳居前3,跟着世界趋势走总是不会错滴。

    此外,这几种后端语言的架构师的薪资也是非常让人向往滴。

    3.4 学编程有年龄限制吗?
    学编程有年龄限制吗?

    本质上来说,编程跟年龄关系不大,有目标,有兴趣,能坚持,什么年龄都可以。

    当然丫姐提倡,越早越好,现在国家也提倡青少儿编程,目的就是要从小培养孩子的编程思维。

    但岁月不饶人,如果你已经30岁以后了,那么丫姐需要客观的说一下,你自己对号入座~

    1)如果你是有工作的,并且你想把编程作为兴趣爱好去学习,那么年纪多大都可以;

    2)如果说你有工作,但是想转行学编程,换行找工作,那就不建议了。

    因为我们不是一个独立的个体,从时间到精力,从个人到家庭,都是很难再花大量时间去专注学习一个并不简单的东西了。

    3)如果你没有工作,想学编程,丫姐建议你可以学,但要么可以学一些技术性不那么强的,例如UI设计师。

    要么学技术性强,但是选择对技术要求不那么高的工种。例如,学Java语言,然后去应聘实施工程师或者测试工程师。

    不过,凡事无绝对,如果你有着非常人的毅力和决心,不管你多大年龄,我觉得都有可能创造奇迹。

    课程总结
           好了,丫姐林林总总的也和你说了不少,希望你能够得到你想要的答案。

    课程总结

    期待我们下一次的再见!

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 想到编程,除了高薪还有啥? 下一篇: 扎心!程序员手疼7年查出骨肿瘤,满满骨头渣!

相关推荐 更多

热门文章

  • 清华应届生要求月薪3万+期权,被HR狂喷
  • 大学生就业调研报告,超六成大学生认为自己十年后是这个薪资
  • 整洁代码有多重要,看了这个你就懂了
  • C++的校招的面试题,看看你能答对几个?
  • TIOBE 9月编程语言排名!它终于出圈了
  • 9月份的数据库排名来啦!速来围观
  • 值得收藏的程序开发的利器,你都有吗?
  • 程序员薪资又创新高?!这次竟然有462万元
  • 如何成为人类高质量成员?喵!
  • 双码农家庭20年就能实现财务自由?这是真的么?
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码