文档章节

“我想学编程”的真正含义是什么

周星_1980
 周星_1980
发布于 2015/03/17 13:19
字数 1504
阅读 110
收藏 2

本文转自兄弟连薛亚飞老师的帖子

关于编程教育,有两件非常重要的事情是首先要知道的:

  1、大多数人其实并不是真的想学代码

  2、学习代码并不是只需要写代码就可以了

what-people-really-mean-when-they-say-i-want-to-learn-to-code

如果你不了解上面两件事的话,那么你学习代码的方式就是错的,而且你永远也学不会写代码。

这第一点经过我反复琢磨之后,我认为它的意思是,如果你并不是真的想学代码,那么在你迈进这一领域的那一刻起,你只会觉得枯燥乏味得要命。

我称之为编码谬论。人们认为他们想要学习代码是因为他们真正需要的是做一个产品。

仔细想想,这也是理所当然的。如果不能来做任何事情,那么代码这个知识本身就没有任何价值。因此,对于大多数人来说,学习代码最大的动机就是能够使用代码来构建一些东西(第二动机就是能应聘到一个高薪岗位。

这就让我不由得思考起了第二点,学习代码并不意味着只需要会写代码就可以了。

曾经我们在学代码之前必须先了解有关于计算机的几乎所有的内容(也因此被称为“计算机科学”)。后来随着事物的发展,现在已经演变成除非真的需要我们才会深入了解某方面的知识。例如,作为一个Web应用的开发人员,对于系统管理我几乎一无所知,因为我完全不需要使用这方面的知识。

所以,当有人说,他想学习编程的时候,大多数教学工作人员会按照他们自己的教学流程教课,讲数据类型、某种编程语言的各种结构,并且会让学生先对计算机有一个深入的了解。

然而问题来了,这并不是他们真正想要学习的。他们的目的是为了构建某个应用。所以,我们不能再理所当然地认为所有有关于计算机的东西一股脑儿的都应该学习。

例如,如果某人已经知道后端如何开发,那么现在教授给他前端开发知识才是对他们有意义的。这样一来,我们就减少了学生的负担,事半功倍。

关于写代码其实并没有很多需要学习的,但是也应该因材施教。下面这几点我认为是区分的重点:

  1、Web开发

  2、非Web开发

如果你正在开发web,那么你需要处理:

  – HTML – CSS

  - 路由选择

  - 数据库

  - 服务器托管/ DNS

  - app结构

显然需要学习的东西很多,但是大部分对于非Web开发人员却是无关的(除了数据库和app结构)。

但是我看到的现行的教育方法更像是在“耍猴”。

学生:“我想学习如何写代码。”

(他们内心真正想的却是我想建立一个web和移动app——但却不知道该如何表达)

老师:“好吧,那我们先学习数据类型。”

学生:“……”

(2周后)

老师:“现在我们可以设计高效的算法了。”

学生:“我只是想制作一个超酷的网站!”

这样一种学习代码的方式谁会喜欢呢?!

作为教师,应该明白的是,当人们说他们想要学习写代码的时候,其实他们真正想得是建立web或者制作移动app。

 这是因为,对于他们而言,这就是写代码的意义,也是他们想要用代码做的事情。但是问题在于他们不知道如何正确地表达自己的想法。所以我们不能只看语言的表面含义。理解字里行间的真正意思也是我们作为教育工作者的工作之一。

 我记得几年前有一个牧师这样说过,即使是在两难的情况下,我们还是应该讲真话。然后又有人问:“那要是说实话会伤害对方呢?”

 牧师斩钉截铁地说:“如果有人问你问题,那么就告诉他们,他们真正想要知道的内容,不要瞻前顾后。”

教育行业也是如此,我们需要从别人的话里行间发现他们的真正意图。如果他们提出的是一些具体问题,但是超出自己能力范围的话,可以介绍其他经验丰富的人。

所以,这取决于教育工作者和专家如何引导人们走到正确的方向上,而不是让他们自己跌跌撞撞地摸索着往前走。如果我们能做到这一点,那么我们才不愧于人类灵魂工程师这个赞誉。

作为学生:学习你想要学的

在学习历程中,你能做的一件事情就是,更多地涉猎各方面的内容——以便于知道自己以后该往那个方向想往哪个方向发展。

本文转载自:http://bbs.lampbrother.net/read-htm-tid-170725.html

共有 人打赏支持
周星_1980
粉丝 13
博文 15
码字总数 28669
作品 0
东城
个人站长
私信 提问
只会写代码,不如去种田

打小父亲就教我写代码,他是软件工程师,也是我见过最好的导师之一。最近他和我妈妈开了一家有机农场,很积极的倡导可持续生活,也非常热衷地参加社区活动。 这两天 code.org 发起了一场颇为...

oschina
2013/03/04
11.6K
64
应届生现在是否应该选择去培训web前端?

还有2-3个月应届生就要从学校毕业了,不管是学习什么专业的,都会进入迷茫期,在所有行业中,互联网的就业和工资都排在第一位,今天给大家讲述一下大学生是否学习web前端是否应该选择去培训?...

web前端03
2018/03/29
0
0
“Hello world”不简单

由Kernighan和Ritchie合著的经典教程《The C Programming Language》的开篇第一个C程序例子是打印简单的“hello world”。从此之后,“hello world”就成了描述一个人编写的第一个程序的代名...

oschina
2014/12/19
7K
44
避免成为优秀程序员

我曾经和我认为优秀的程序员一起工作,但是他们是真正优秀的程序员吗?是什么让他们如此优秀?(或者,他们只是普通的程序员?) 最近读到Mark Pearl博客里一篇名为《Programming, a Subset...

oschina
2016/07/25
7.8K
25
【学习方法】九条建议助你学好编程

【威哥说】在我的QQ上经常会收到小伙伴们的留言,诉说他们学习过程中遇到个各种问题,由于磨砺营的课程比较紧凑,威哥不仅仅要上课,还需要辅导同学们,所以不能及时的回复线上大家提出的问题...

磨砺营
2016/10/11
9
0

没有更多内容

加载失败,请刷新页面

加载更多

从 for of 聊到 Generator

你能学到什么 对 for of 更深入的理解 iterator 到底是何方神圣? 数组也是对象,为什么不能用 for of 来遍历对象呢? 如何实现对象的 for of? Generator 又是何方神圣? Generator 有什么用呢...

Jack088
39分钟前
3
0
怎么判断go-sql-driver 安装成功

.下载安装   执行下面两个命令:     下载:go get github.com/Go-SQL-Driver/MySQL     安装:go install github.com/Go-SQL-Driver/MySQL   怎么判断go-sql-driver 安装成功 ...

dragon_tech
47分钟前
0
0
刚入职阿里,告诉你真实的职场生活,兼谈P6、P7、P8的等级

一:拿下offer的人,基本上都有什么特征? 二:为什么选择阿里? 三:阿里的工作氛围什么样? 四:阿里的薪资情况? 五:阿里的晋升空间有多大? 最近部门招聘,很多工程师,包括我在内都参与...

java知识分子
今天
5
0

中国龙-扬科
今天
1
0
windows 安装nvm

1、nvw-windows的官网:https://github.com/coreybutler/nvm-windows/releases 2、选择nvm-setup.zip安装 3、配置环境变量 4、检查nvm是否安装成功 使用管理员权限打开一个命令行。输入nvm v...

灰白发
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部