编程新手最好别依赖集成开发环境

编程新手的窘境

对于一个编程新手来说,对编程的知识概念认识有限,最先接触到的东西一定是互联网上铺天盖地的编程语言介绍,而不是底层工作原理的那些知识,所以他们盲目的根据浅显的认识选择了看得懂的文章,比较 Python,C,等等等等的编程语言介绍文章,说的天花乱坠,最后还是根据自己对编程语言感性的认识而选择了自己以为自己喜欢的语言。

以上说的编程语言介绍文章并不是对新手友好的,而是对有编程经验的人友好,大概在一个已有一定编程经验的人,比如至少掌握一种编程领域的人,最多花一两小时看一篇比较权威的评测数据和介绍,就能确定自己新的攀登方向。他们不会浪费太多的时间在看这些概念性的东西。需要注意一点的是:“市面上没有对新手友好的文章,因为你就是新手,什么都不懂的新手”。

第一关、选择了需要学习的语言之后

既然已经确定要跳进哪个坑了,那肯定是准备翻教程学习了,这时候非常考验资源搜集能力,新手没有资源搜集能力,所以看自己翻到的第一套课程的老师如何了,在自学编程这条路上涉足未深的人无法辨别资源的价值。(如果第一套课程的老师说的不好很影响接下来坚持的心态,「所有的坚持都是有着即时的正反馈,即时的见到自己的成长」自己的成长最好有一个评估方式,如果没有成长评估方式,不明白自己习得了哪些技能,很难看到自己的成长,也会让人灰心放弃。)

插入一个小故事,大概在前两年,有个发小准备自学 Python,因为跟我聊了几句天,说要搞技术,看我在写代码,聊了一些编程语言学习话题,因为他是一个非常没耐心的人,以为一切都是几句话就能讲清楚的东西,所以我也就非常简短的说明了一些学习 Python 的问题。于是他过了一段时间后找我玩时说自己找到课程了,问我要不要……,称自己的资源没人能找到,和我说这个资源很珍贵,问我要不要,在他百度网盘里。听他说完这么肤浅的话,我就不想对牛弹琴了。

现在新手一般一开始的课程都会选择视频形式的教程,这是一个技术概念适应期,上来就接触文档新手是不敢尝试的。当然还需要认识一点——学技术不是学知识,知识是概念的集合,技术是在知识之上构建高楼的技能,需要动手能力。不能眼高手低。真正的编程学习是从敲代码的时候才算开始。

打开教程开始,先是花几堂课来说明一下编程语言的开创者、历史背景、版本迭代说明、市场前景,一顿念经之后进入正式的课程主题,这时候会发现问题来了,你只是想学习编程语言,结果讲师说的却是配置环境,你在写一句 print("hello world!") 之前就要操作很多东西。并且会卡壳,LearnKu 站长 summer 说过:“能把一个概念说的清楚并且对新手友好是非常困难的。”
很不幸,市面上大多数讲入门课程的老师这个说清楚概念的能力几乎都很缺乏。
跟着老师一步一步配置环境,经过了各种折腾,最后终于进入了 print("hello world!"),如果配置的是集成开发环境,日后会有很多次环境问题报错。仿佛底层知识在对你说:嘿,朋友,你是时候来读读我了。
可你根本不会读读底层知识,因为这个报错,让你懊恼的只想最快速度解决问题,搜索解决方案,并且按部就班的操作。你以为解决了,可在之后的天日里,你总是碰到这些问题。如果你一开始不依赖「集成开发环境」也许会好很多!
为了简化新手的实操学习路线,最好在入门阶段就弄明白 Shell,环境配置 这些东西。
好的,说到这里其实已经真相大白了,承认吧,以上说的你全中枪了,我这就来给这篇文章草草收尾一下,以下是重点:

过了第一关、就是成功第一步

编程的时候,桌面上只需要三样东西:

  • 编辑器
  • Shell
  • 官方文档

当然了,Shell 是什么?我想你一定会百度看看,不过这样的解释太陌生了,至少你应该先亲手触摸几下 Shell来点手感再去看看百度百科。
这就带你去触摸一下,假如你用的是 Mac,那么你现在直接启动台找到终端,打开之后执行命令(敲回车是执行,$ 符号是表示你在命令行中):

假设 $ cd ~,就是让你输入cd ~后回车,以下每行都是一个 Shell 命令哦。

$ cd /
$ cd ~
$ ls
$ ls -l
$ mkdir A
$ cd ./A
$ touch test.txt
$ rm test.txt

以上这些命令就是热身运动,接下来你可以去看看百科了解一下了。注意上面说的,你编程的时候桌面上只需要三样东西。

本作品采用《CC 协议》,转载必须注明作者和本文链接
不要试图用百米冲刺的方法完成马拉松比赛。
讨论数量: 1

说到编辑器,vim和emacs哪个是最好的编辑器呀?(逃

3年前 评论
Galois (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!