编程入门的门槛真的很低吗?

发布于 2019年12月16日

这个问题是知乎的一个提问,有 10w+ 的浏览量,回答中有位知友说得很有道理:

说低的,都是想哄你的培训机构。

说的有理,但不对。

有理在于,培训机构如果真的说了门槛低,那的的确确是在骗人。

但是这个说法也确实不对,培训机构吸引人的噱头无非是些「做程序员来钱快!参与我们的培训班XX面试保过!成为程序员只需要一两个月!」。

长期的宣传造势下,以至于我们现在随手一搜编程相关的话题,都能搜到几个「我本来是 XX 行业的,想转行程序员难吗?」之类的问题。

机构的这种做法,其实是在混淆「迈过编程入门门槛」和「成为程序员」的概念。

我们必须要清楚

迈过编程入门门槛≠成为程序员

「编程入门」这个概念,至今也没谁确立过一个明确的定义,是写出了第一个程序,还是掌握了所有的语法知识,一个小学生敢说自己已经入门编程了,而一个计算机专业的大一学生都不一定敢自信地说自己入门了编程。

综合来看我们一般会这么认为「编程入门」是指「掌握了一门编程语言的常用语法,具备独立解决问题的能力」

「成为程序员」的概念则要清晰许多,每个人都知道,不是看了几天书,做了几天题,就能说自己是程序员了的。

这也就像看了几天作文书,能按部就班地写出作文,但我们不能说这个人就是个作家。

成为程序员

至少需要具备以下四个条件

懂英语

懂数学学

会改代码

学会灵活地写代码

也许看多了反智的鸡汤文,不少人真的认为现在的程序员并不需要「懂英语」——代码里的英文单词能有多少个?再说了写多了不就知道是什么意思了吗?

也不需要“懂数学”——代码里的数字也没多少个,写一个微信做一个QQ,又不是写计算器,更也不需要计算1234。

这其实是不对的,就举最普遍的两个例子用来反驳,不懂英语,当你要使用一些国内从未有人接触过的 API、SDK,你怎么看文档?让谷歌帮你看吗?

不懂数学,诚然,写一个微信写一个 QQ,不是在写计算器,但不懂数学,怎么懂算法,怎么懂数据结构?不懂算法,那智能推送的信息流要怎么写?

近年来,越来越多的文章跳出来告诉你,编程入门多么简单,成为程序员多么简单。

而事实上,随着时代的发展,编程入门的门槛确实是越来越低了,但是成为程序员的门槛,它一直立在那,从来没有改变过。

明白了「编程入门」和「成为程序员」的区别后,本题其实十分好答。

回到主题

编程入门门槛真的很低吗?

答:很低,非常低

讲讲我个人的编程入门经验吧,我比较幸运,入门编程是因为这个:

看起来相当厉害的批处理程序,当年的我对它神乎其神的优化功能极为推崇,直到后来有一天我在右键它的时候,发现了一个叫编辑的按钮。从此打开了新的世界……

而我在看到它的源代码以后,做的第一件事情,就是把那些「XX工作室」全部改成自己的名字然后发给别人,大肆宣传。

从此一发不可收拾,深深跌入了编程的这个坑。

可见,无论做什么事,兴趣是最为重要的。

而为什么说我是幸运的呢,因为好在当年我接触的是这个 BAT——批处理语言,就像前面有人介绍的 vbs 一样,它不需要搭建环境,不需要配置编译器,只需要一个记事本,就能够开启你的编程之旅。

倘若让当时的我去学习如何搭建环境,也许环境还没搭建完,就已经没有了继续学习的动力了。

而现在不一样了。

越来越多的交互式编程教育产品的出现,不需要任何编程基础,打开网页,按照提示,敲击键盘,你就能完成你的第一个程序。

现在这个时代

「入门编程应该怎么做?

要做到入门编程,首先你得找到一门你想要入门的语言,世间语言千千万,在这里我们推荐Python,推荐的理由大家都已经说烂了,在这里我们简单提一下:

Python 是一种工具性的语言,特别适合于非计算机专业的人来学习。用 Python 语言来解决手头的问题是非常合适的。当没有现成软件可以用的时候,就可以用 Python 语言写点小程序解决手头的问题。

因为这个缘故,Python 语言是特别适合于入门学习的语言。

选择好了语言后,就要开始动手啦,现在学习编程,已经不需要再劳心劳力地搭建环境啦,直接寻找一个交互式编程教育的产品。

大名鼎鼎的 Codecademy

当然还有极客战记

敲下你的第一行代码,这算是迈开了你的第一步,由此开始的一切,就更为简单了。

接下来在掌握语法方面,你可以选择根据你使用的这个产品,按它的教学步骤,按部就班地学习,也可以结合自己在网上寻找的教程,搭配着学习。

网上的免费教程

如此看来,高度发达的互联网将一切的学习成本大大降低,编程入门的门槛已经变得非常之低。

零基础初学者

如何快速入门编程?

方法大家都懂,但是对于纯粹的编程小白来说,完全靠自己自学还是有些不太方便。

先给各位零基础的初学者简单列一下 Python 语言大概需要掌握的知识点:

  • 基础语法:对象及对象属性,函数,参数,缩进等概念

  • 循环,条件循环,嵌套循环,break和continue等

  • 变量,数组!

  • 条件判断,以及嵌套判断,还有判断与循环的嵌套

  • 各数据类型,以及相互转化

  • 运算:算术、比较、逻辑

  • 函数的定义与使用

  • 字符串!

排名不分先后,列个大概,或有缺漏,仅供新人们参考。

极客战记也帮大家把这些知识点串成了视频课程——《极客战记Python入门班》

《极客战记Python入门班》

是由中美优秀团队合作

面向编程零基础用户的入门课程

全部学完后能够基本了解 Python 语言

可以制作网页和简单的游戏

整体课程一共 16 课时

(每周更新1课时,现已更新至6课时)

覆盖Python中绝大多数基本知识点

(包括基础语法,对象,遍历算法等)

以及网页开发、游戏开发部分内容

希望学完课程,你能够有足够的底气说:「我已经迈过了编程入门的那道槛」。

最后,祝各位读者的编程之路一帆风顺~~~