探究:普通人都是怎么入门编程
前景提要
-
很多人想要入门编程语言,但是,费了九牛二虎之力为什么还是学不会,最终导致从入门到放弃,不过是一瞬间,其实,入门的关键是选择对了核心要学习的知识,而不是盲目的那本书,然后,开始看天书一样的费劲破解这本书,书上的内容就像谜语一样,而你掌握的线索不足以让你识别书上的谜语,这样的结果就是你永远无法解开这个谜语,然后,你就放弃了.
-
作为一个普通人,不是从小那种别人家的孩子,考试门门九十积分,满分的,这里值得是70-80分是你,60-70分是你,甚至20-30分的你,这才是普通人的水平,这样的普通人,比较适合这里讲述的思考问题的方法和解答方法,如果你还是对编程感兴趣,那么请你继续看下去.
-
首先,作为一个初学者,或者从未接触过相关基础知识的人来说,计算机的所有东西都是未知的,都是难点,你无法让一个每天只会登陆QQ的人,立马看了一本<c语言编程>这样的书,就能写出一排排秀丽的代码,再成为一个顶级黑客,这都是不现实的,任何高手都是从最最基础的知识,一步步积累成长,成为大佬的,只不过有的人掌握了更高效的规律,方法,使得他能够更高效的完整这个过程,甚至超越前人,而普通人,因为资源匮乏,不会找寻资源,没有人引领,使用方法不当,最终导致难以加入编程的行列中,比如,有的人就是天天觉得看书好,到处搜索书籍,到处买书籍,妄图通过书籍收集的足够多,让自己在心理上觉得自己的资源丰富,或者找大佬推荐的书籍,一本本的存在计算机里,U盘里,书包里,寝室里,然后这些资源在不断的落灰或者成为占满磁盘的堆积文件,但是,作为资源的主人,你却还是不会写出几行属于自己的代码.
-
因此,可以得出一个结论,看书学习编程不是所有人都适合,尤其书中的很多内容都是成关联性关系的,就算你拿着一本入门的书籍,但是,还是会遇到各种看不懂,不感兴趣的东西,入门书籍也是需要一定基础才能阅读的,因此,在变成行业里,书籍作为提升和工具书的状况更为常见,因为书籍的内容更加系统化和理论化,面对考试,面试和知识的整理更加适用,但是,它不是很适用于一个初学者,因为初学者还是欠缺很多基础知识的,你让他直接这样看一本书籍,确实是一件不友好的事情.
-
那么,初学者到底要如何学习编程呢?这是困惑很多入门的人,很多学习入门了的编程者也没有进行深度思考,多半给出的答案就是多看看,多写写代码,多做做例子这种比较模糊,比较让人难以捉摸的答案,毕竟理工科的人并不是都善于表达,那么,他们的答案是不是正确的呢!本质上说,他们的答案没有错误,但是,缺乏具体的实施过程,而这个实施过程,才是初学者想要学会编程的重点.
-
以下就是初学者学习编程的一个方式,打破传统教学的理念,可能对一些人有帮助,也可能没有帮助,但是,可以作为一个参考系,试着实践以下,有可能就学会了.
序号 | 操作 | 描述 |
---|---|---|
1 | 学习术语 | 难倒百分之九十的开发者的关键,其实是这个,你随机找一本计算机类书籍,你找出一段自己觉得无法理解的段落,仔细看看,是不是你不懂的就是某个词语,这个词语的每个字你都认识,但是,连在一起就是不知道什么意思,如果你是这种情况,那么恭喜你,你找了你的一个基础薄弱的原因,就是术语常识不够,而术语常识,就是这个专业最需要掌握的基础之一,也属于核心基础 |
2 | 搭建环境 | 难倒众多初学者的第二点就是,搭建环境,搭建环境也是一个术语,人要生存,首先需要的就是一个房子,房子可以遮风挡雨,让你安定生活,那么,计算机中的搭建环境也是类似的,比如常见的Java开发语言,学习的第一步就是搭建环境,搭建环境对于计算机的一门编程语言,广义上理解,也可以认为是给这们开发语言盖一个适合它生活的环境,让它可以在这个环境中,茁壮,安全的成长 |
3 | 编译器使用 | 难倒一些开发者的可能就是使用编程语言的工具,这里术语叫做编译器,它的作用就是辅助你进行编程开发,如果不谈编程,你在计算机上用的最多的就是办公软件,比如word,ppt,excel,很多人这些软件都用的不是很熟练,所以,用起编译器,也是十分的费劲,这种情况一般出现在小姐姐身上比较多,男生也会出现,编译器的使用,很多时候也成为了初学者的一大难题 |
4 | 语法 | 难倒众多开发者的就是计算机书籍上经常出现的这个词语,只要大家看到这个词语必然会联想到英语,一联想到英语,那就是个不开心的故事,然后,让更多的人直接选择了放弃,其实,这个词更多的联想其实是语文,因为讲话才有语法,但是,英语已经用这个词将你洗脑了,所以,你对这个词就无限的敏感了,如果给它改成定理,公式,可能更能让一些初学者燃起希望之火,可惜这个词的创造者是外国人,翻译的人员是外研组,所以,你只能自行给它换个理解方式了, 其实它的本质就是一种规律,因此称之为规律,才是比较符合它实际含义的称谓.春天播种,秋天收获是一种规律,雨天打伞,雪天穿冬衣也是规律,而属于计算机的操作规律之一,就是编程. |
5 | 基础知识 | 翻开一本编程类书籍,必然会看到这样的词语,类似的句子,要掌握好基础知识,才能学好更多的编程知识,那么,计算机中的基础知识到底是什么?相信很多书籍不会在开始的时候讲解的很清楚,很简单,要么用一些核心的课程名称罗列,要么是一带而过,从来没有那本入门书籍在开篇就清楚的告诉你,诺,这些是基础知识,这些是高级知识,这些是中级知识,只会像考试前话题一样,这一章是重点,这一章是重点,这一章也是重点,最后,整本书都是重点了,其实,计算机是一门系统化理论化很强的专业,所以,你想掌握基础知识,也是计算机中最难的知识,一般分为横向和纵向,横向指的是知识的广度,但凡提一个专业术语,你都能清楚它是什么含义,这就是广度,比如:人工智能,大数据,区块链这些热词,你都知道,理解吗?纵向就是指学的深入,这就类似于你随便知道1+1等于2,那么它是怎么来的,怎么证明,你清楚吗,纵向就是研究类似这样的问题. |
6 | 从何学起 | 计算机如此庞大庞博,很多人就很难找到学习的方向,你说计算机这么多的东西,应该从何学起,怎么才能将这些庞博混乱的知识,系统化理论化的学会呢?这也是很多初学者经常蒙圈的问题,他们自己收集了很多这类问题的答案,找了很多方式方法,最终从迷茫到迷惑,从迷惑到放弃,可能很多初学者都没有解答出这个问题的答案,很多学会的人,对于这个问题也是模糊的,解释不清楚的,反正他最后学会了,给你的建议也是翻翻书,看看教材,多做做练习这类没有什么实际意义的词,如果一个初学者能看懂书籍,自己做好教材的练习,那么就已经入门了,还要问这个问题做什么. |
7 | 编程语言的选择 | 这也是困扰大多数初学者的致命题目,尤其是对于有选择困难症的小伙伴,这就是要命啊,什么c语言,什么C++,什么java,什么Python,但凡对于编程感兴趣的小伙伴都是会大概知道这几个编程语言的名字的,由于这些语言都在各自的领域很是优秀,所以,各种喜欢他们的人就会形成阵营,导致众说纷纭,而让初学者更加头大,毕竟它们说的都好有道理,但是,自己该站哪派自己也不清楚 |
8 | 需要数学英语好 | 经常会有初学者看到这样的句子,这也成为劝退它们的一大难题,毕竟普通人,哪个不为了数学英语的不擅长而头秃不已,这句话成功的成为了初学者劝退的一大经典语句,而你也因此立马放弃,那么这个问题可以反向思考一下,中国是世界上数学平均能力最强的国家,而美丽国的人民普遍数学就比你差几十倍,有的人长大了练除法都不会了,所以,你其实在基础数学方面有着得天独厚的条件,所以,你其实读过中学掌握过基础的数学知识,都是可以学会的,不知道有没有人这样反向思考过,需要数学和英语好,指的是学习计算机最高级部分的知识,需要这些基础学科知识,而你只是想会最基本的编程,其实根本不用担心这个问题,毕竟,你学习编程的初始目标不是想要用计算机控制下,怎么发射火箭,当然,有人这些想,那就让他去吧,你的初衷可能只是一时的兴趣,所以,能开发的自己的游戏,能给游戏写个外挂,或者紧紧是为了完成考试的科目,一般情况下的兴趣,因此,不要做着底层的员工,操着老板的心. |
9 | 算法很难 | 很多人也是听了这句话被劝退的,复杂的算法肯定难啊,就像数学分析和建模确实也是数学中最难的部分,但是,数学中不也有1+1=2的小学基础吗?你觉得难可以放弃,但是,不影响你编程入门,很多会编程的人,学生,老师讨论的都是高级的问题,而作为初学者,你还不涉及这些问题,大可不必因此放弃. |
10 | 教程很多只是收藏 | 很多初学者想着看视频教程学习,但是,视频教程过多,他收集了很多,但凡提到的是大牛,大佬,或者他看了开头就喜欢的教程,统统收集起来,但是,最后跟书籍一样,一个没看,同时,因为收藏的全是入门教程,同类型的视频,个人又不看,最后,还是没有学会编程如何入门 |
研究思考
1.术语才是编程入门的领路人
-
谈到术语,它在其他行业还有一个名字叫做行话,在土匪中叫做黑话,意思就是某一个专业领域内的内部话语,如果你是一个瓦匠,你不可能不知到,什么是铆钉,什么是涂料,什么地砖,什么是瓷砖,作为土匪,你肯定不能不知道什么是绺子,什么是条子.
-
那么,作为球迷的人,肯定不可能不知到谁是梅西,谁是C罗,那么,你是怎么知道这些的呢,你知道球星,知道球赛制度,知道球场,知道球赛规则,肯定不是参加什么培训机构,有个老师像指导专业球赛的球员一样,每天给你讲解这样的是球场,这个照片记牢了这是梅西,这是C罗,或者你是一名女生,那么什么是粉底,什么是腮红,什么是口红,也没有哪个老师,不给你讲数学语文英语,单独培训你,然后,讲一讲今天上的是口红色号分类课,今天是粉底的一百八十种打法,种种的一切你是为什么知道的,这就是你懂球赛是个球迷,你是个美妆小姐姐,你能懂得区分口红色号,会不同的化妆方法,一切的问题归结就是由于热爱,而超过其他人的关注.
-
有的人喜欢明星,那么,他关注的新闻,关注的电视,关注的电影,关注的微博,关注的抖音,关注的小红书,关注的知乎,关注的一切都是关于这个明星的,因此,他的脑中就自动对这些进行了归类总结,自动的进行了总结,形成了自动化的记忆,可能最初他只是看了这个人的照片,然后,显示对其颜值形成了记忆,然后,他觉得我太喜欢这个明星了,他需要看更多的这个明星的照片,于是,他去百度,他去搜小视频,他去电影院看她新出的电影.
-
仔细想想,你所有热爱的事物不都是这么开始的吗?小时候买的玩具,是看了电视播放的动画片,然后,你跟小伙伴分享,跟父母分享,跟老师分享,这样又加强了你的记忆,加强了周围人的记忆,因此,形成了一个以你热爱为中心的圈子,这个圈子是你的朋友,家人,同学,老师,你在反复记忆,反复传播,再由他们反复向你传播,最后,一切形成了热爱的常识,热爱的本能,这比世界一切的教学都更有成果,因为这是你自己打造的圈子.
-
同理可证,如果你想学习编程,不是找一本你看不懂的书籍,然后,在那假装努力的费劲的看着这本伴你入睡的入门书籍,这不会让你产生兴趣,这只会给你一个固化的印象,这件事好无聊,好像睡觉,太难了,完全学不会,家人们救救孩子吧,那些学会的都是天才吧,我好笨,这类无法推进你学习的动力,而是应该找一个你对编程最感兴趣的点,比如:儿童编程为什么那么吸引小朋友,就是因为有趣啊,它们是在玩,你是在背书,背书是强制记忆,强制要求注意力,强制要求关注,这一点你可以想到,男生被一个全村最容貌不好的女子追求,她500斤,有着超大的脸,每天都来追求你,你会在自然情况下答应跟她在一起吗?女生可以考虑,一个不洗脸,不洗头,一身乞丐服的男生天天追求你,你会觉得自己会爱上他吗!你们每天啃书,面对的就是这种情况,当然,一切爱好读书的人除外,但是,大多数不爱读书的人,应该深有体会吧!
-
所以,入门很重要的一点就是发现你对编程的热爱点,并且持续关注,比如你的初衷就是为了做一款游戏,那么很好,你就开始研究怎么做游戏,大型游戏肯定困难,但是,你做个1024,连连看,扫雷还是可以的,那么,你就研究怎么做一个这样的游戏,需要什么就学什么,不懂什么就找什么,所有的术语,都是可以百度查到的,你不懂什么是数据类型,那么,你就可以百度,百度一定有很多答案,总有一个答案是可以让你理解这个术语是什么的,现在自媒体如此发达,你也可以查看喜欢的短视频,有很多热心的主播,可以给你以各种有趣的方式讲解这个词语的含义,你就可以关注这类主播,短视频又可以跟你推荐更多跟你这个兴趣相同的主播的讲解,这样,你就形成了一个自己关注的圈子,你开心的时候,就可以跟小伙伴分享,跟父母分享,跟同学分享,跟老师分享,这样,你就达到了由外部知道,到内部转化的过程,这就是学习术语最好的方法.
-
因为术语不是写在书本上,就是在同行间,爱好者间不断的传播的,所以,你不知道,说明你不是爱好者,没有入行,那么怎么办,当然是赶紧拿起手机打开记事本记录下来,日积月累,你也是行话大佬了,你说的每句话都是术语,你也就是行内人了.
-
比如笔者喜欢看微信的公众号,所以,笔者关注了300个有关计算机或者编程的公众号,这些公众号每天推送新闻,推送火的项目,推送一些新词,推送一些行业内有趣的事情,笔者不需要全看,只需要看看多个公众号都在推送的类似的内容,就是行业内大家都在喜欢的东西,看看文章,看得懂的就看,看不懂的随时百度,经过几年的积累,就会有越来越少的内容你不知道,不理解,不清楚了,
这也是为什么说英语好的人,编程入门容易,因为英语里的术语很多,能学懂英语就是反复看,反复记忆,而英语好,就是有记忆的天赋,理解能力的天赋,因为很多概念都是英文翻译的,英文好的人思维逻辑在天赋方面更契合,但是,也不是绝对的,只要你的热爱大于他的天赋,你的坚持超过他的天赋,他的天赋也是一文不值的,就像伤仲永一样,最后,他还不如那些同龄的人,华夏一直本着笨鸟先飞,勤能补拙,只要你多多努力一点点,那么,天赋什么的都是浮云.你并不是学不会,只是努力错了方向,赶紧更正过来,明年你也能开发出一款心仪的小游戏了.
2.马上着手胜于做个目标,写个计划
-
很多人都在树立目标,总是在大喊,我明年一定学会编程,成为高薪阶层,迎娶白富美走上人生的巅峰,还有人再说,我毕业就去学编程,有人还在想我有钱一定去学编程,这些立的flag最终,就跟你明年瘦到100斤的目标一样,都是很难实现的,因为,你没有因为你的目标把你和编程拉近,反而因为你的目标,而把编程与你的距离拉远了,编程成为了你遥不可及的理想,而不是像你每天吃饭喝水一样的必需品.
-
编程并不遥远,编程不是遥不可以及的,编程就在那里,不会因为你的远大前程,编程就变得高级,也不会因为你的怒骂痛斥,编程变得低级,你要做的就是你想入门就马上开始,你不想就趁早放弃,抱着不切实际的幻想,终究是空中楼阁,水中泡沫.
-
你说编程难,那笔者告诉你,追星也很难,看她的电影需要收费吧,买他推荐的产品需要收费吧,明星见面会,你需要飞机票,行李,预定酒店和购买入场券,购买衣服,把自己打扮得形貌昳丽,才好见自己的偶像吧,这些困难你都能克服,现在就是让你喜欢一个本来就有兴趣的编程有什么难的呢,你每次为了追星而客服的困难不都直接间接的证明你是一个真爱粉,那么你努力为了学会编程放弃的其他事务,不依然是证明你是真正的热爱者吗,都是反向证明的.
-
前文也提高了,就是稍微多一些关注,记忆一些术语,很难吗,网络用语为什么记得住,口红色号为什么记得住,奥特曼的区别为什么记得住,球星为什么分得清,食物为什么知道哪个是你喜欢的,一切的一切都是你的主观能动性,要提高自己的主观能动性还要靠你自己,谁也帮不了你,这就是编程之路的孤独,那么,最最基础的东西,都是要自己去一点点的补充的.
-
别做计划了,从现在开始,从此刻开始,从你看完这篇文章开始,多关注几个公众号,多关注几个主播,多关注几个B站的Up主,在你关注的列表里加上编程的选项,就是最好的开始时间,也是开始补充基础的关键起始点,同时,记得有时间就看看,关注了不看,也是没有意义的.
3.动起手来,比用眼睛看更有作用
-
记得有位老师曾经说了一句关于动手编程的话,至今记忆犹新,他说你只会看代码,不会写代码,那跟只会看手术,不会手术的医生有什么区别,你见过哪个只会看手术的医生能治病救人的.这个想法同样适用于编程入门,你要开发一款游戏,你一行代码不会写,你要怎么开发,一个厨师熟悉所有食材,但是,不会炒菜,你觉得他是一个大厨吗?上文的熟知术语,就相当于厨师熟悉食材,那么现在的编程,就相当于厨师炒菜,炒菜都要培训四五年,但是,开发不需要那么久,但是,时间越久知识越扎实而已,但是,也要练习.
-
练习的第一步就是起始,就是搭建环境,这就相当于厨师的生火,起锅烧油,你的环境搭不好,就相当于火没点着,锅没刷干净,油温还没热,你怎么要求能炒出一锅好菜,在做菜上,就是把菜烧糊了,烧焦了,或者盐多了菜好咸,吃了就吐,作为编程就是产生bug,或者根本无法进行开发.
-
如何解决这种问题呢,因为每个人的机器都是有着细微差别的,比如你的笔记本是windows的,那么你需要搞定windows的系统要怎么搭建环境,你是苹果笔记本,你要搞定的是苹果笔记本怎么搭建环境,这时候看书效果就不大了,大多数书籍跟你的笔记本使用的系统就不一样,很多搭建的方式也是旧版的,你跟着做也很难达到目标,这个时候网络时代的便捷就体现出来了,你去B站,或者其他视频平台搜一个windows系统如何搭建某某的环境,很快就会有大量的大佬来教你,你按照大佬的方式来做,可能会失败,这时候你就要反复的看细节,到底问题出在哪个步骤上,找到出问题的位置,比你看一百个同类视频有效多了,毕竟你不可能看着别人炒菜,自己立马学会炒菜(以前就会炒菜除外).
-
反复卸载重装就是最好的锻炼搭建环境的方法,笔者当年为了学习Oracle,在windows搭建环境用了7个小时,没有为什么,就是不成功,就是重来,最后终于成功的搭建了Oracle,可以进行Oracle的学习了.相信你如果肯付出这样的努力,你一定会在编程的路上有所建树.
4.开发语言林立,你的武道何去何从
- 开发语言众多,一般学院派和众多的机构,名师,都在推荐C语言入门,但是,众多的爱好者就死在C语言上了,先不谈C语言的好坏,而是讲讲为什么大家推荐这门语言,编程语言也是经历多次成长才有的今天的样式,最初是没有成型的编程语言的,在伟大的图灵的指引下,产生了一个计算工具,就是图灵设计研制的图灵机,它的功能是进行计算,计算机最初的目的只是计算,你现在所有的娱乐方式的最初都是从这台图灵机开始的,更多故事,你可以去百度自行查找.
-
产生了第一个编程语言Fortran,随后产生了COBOL、BASIC、Pascal等语言,这些语言也有很多故事,你也可以去百度查找,真的超级有趣.
-
在当时的时代,每个开发语言都是为了一个公司的产品服务,就相当与个性化定做,就像现在的品牌一样,Nike只生产Nike牌子的鞋子,那么Nike鞋子的制作标准必然要按照Nike的方式来,但是,如果是乔丹,它就不能知道Nike一些制作的标准问题,这就导致了技术壁垒,和不通用的状况,就像现在手机分为苹果插口,安卓插口,还有Type-c插口,这些插口对应各自的产品,大家内部不一样,无法通用,这就造成很多浪费和生产低效,在这个危机的时刻,20世纪80年代,C语言诞生了.
-
它解决了这些不通用的问题,形成了统一的标准和奠定了未来计算机编程的发展方向,属于计算机行业的一次伟大转折,拯救了低迷和无法发展的计算机行业,拥有里程杯的意义.
-
由于C语言的伟大,同时,C语言的功能多,变化灵活,可以让你通过学习这一门语言,领略到所有计算的特性,但是,正因为它太全了,导致刚刚基础编程的人难以找到方向,找到规律,因为产生了放弃的想法,同时,这门语言的界面是一个黑色的界面,使得许多爱好美感的爱好者也失去了兴趣,毕竟游戏都是有界面的,谁喜欢黑乎乎的界面呢?
-
太全意味着多和咋,学C语言你不是在掌握一门课程,而是多门课程的集合,由于我们生活的环境,导致很多入门者应该像儿童编程者一样的友好对待,而不是一上来就给他看最强功法,他们很难看懂的,学习C语言,你要掌握数据结构,算法,程序设计,这些基础课程,这些课程就很难了,同时,在后期还要掌握操作系统,计算机组成原理,数据库,编译原理,汇编原理这类更底层的科目,因此,你想需要C语言需要提前掌握数据结构,算法,程序设计,计算机组成原理,操作系统,编译原理,汇编原理 .....因此,你一上来什么都没学过,术语也不清楚,就开始学习C语言,能有兴趣和坚持下去,确实是一件比较难的事情,所以,C语言入门是适合一些有基础的编程者,就是对介绍的课程比较清楚的人来入门,会比较友好.
-
计算机有很多门编程语言,C语言是经典权威级的,你可以看作是专家教授,那么,普通人不一定能听懂专家所有的话,和专家所有表达的意思,所以,选择适合的语言,就是那些自己能听懂的语言,比如计算机中比较简单,又能看到界面的HTML语言,也被成为网页三剑客(HTML+CSS+JavaScript)者认为正常人类都能学会HTML,因为它没有复杂的语法,没有过多的概念,没有复杂的术语,只是简简单单的一个标记,你知道输入内容是符合标准的,立马可以看到界面的效果,对于那些初学者是很友好的,这就像你听不懂专家的讲话,那你肯定听得懂邻居二大妈的话吧,而HTML就是这样一种易懂的语言,它主要的关注点就是能运行的程序,你学会它是由成就感和乐趣的,这是完全可视化的,可以满足你轻松入门的需求.
-
学习JavaScript你就会对程序设计和算法步的理解,然后再学习其他的编程语言就相当于只需要掌握一个数据结构就可以了,这样学习编程的三大要诀 程序 = 算法 + 数据结构,你就都学会了,这时候,你再看C语言就可以理解了,就不会是看山不是山,看水不是水了.
总结
- 实属个人观点,觉得喜欢的可以关注,点赞加收藏,您的支持就是所有爱好者的前进动力.
序号 | 操作 | 描述 |
---|---|---|
1 | 学习术语 基础知识 需要数学英语好 |
增加关注点,多关注新闻,公众号,短视频,B站,微博等平台有关计算机或编程的问题,努力大于天赋 |
2 | 从何学起 搭建环境 |
跟着教程学习,反复搭建,反复练习,坚持下去 |
3 | 编程语言的选择 | 按照自己的能力选择,适合自己的才是最好的,简单的就是HTML,最难就是C语言 |
4 | 编译器使用 算法很难 语法 教程很多只是收藏 |
更多精彩请关注:北极的大企鹅 - 博客园 |