文档章节

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

周星_1980
 周星_1980
发布于 2015/03/17 13:19
字数 1504
阅读 109
收藏 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
粉丝 12
博文 15
码字总数 28669
作品 0
东城
个人站长
私信 提问
只会写代码,不如去种田

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

oschina
2013/03/04
11.4K
64
【学习方法】九条建议助你学好编程

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

磨砺营
2016/10/11
9
0
避免成为优秀程序员

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

oschina
2016/07/25
7.7K
25
应届生现在是否应该选择去培训web前端?

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

web前端03
03/29
0
0
程序员的困惑,我为什么做不出网站、软件、APP?

很多学计算机的朋友,都有类似的困惑:我学了计算机专业,怎么还是做不出网站、软件、APP?很多人误以为是教材不接轨,因此崇拜国外教材,其实不是那么回事。我尽量详细地答一下,顺便也讲讲...

coffeescript
2014/11/26
2K
16

没有更多内容

加载失败,请刷新页面

加载更多

day150-2018-11-17-英语流利阅读-待学习

歪果仁也疯狂:海外版抖音的征途 毛西 2018-11-17 1.今日导读 海外版抖音 TikTok 于 2017 年 5 月上线海外,至今覆盖全球 150 多个国家和地区,月活跃用户数已突破 5 亿。然而,“出海”的抖...

飞鱼说编程
今天
10
0
分布式学习最佳实践:从分布式系统的特征开始(附思维导图)

什么是分布式系统 回到顶部   分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法...

dragon_tech
今天
4
0
TOKEN设计

TOKEN设计 Api_Token 首先需要知道API是什么? API(Application Programming Interface)即应用程序接口。你可以认为 API 是一个软件组件或是一个 Web 服务与外界进行的交互的接口。而我们在...

DrChenXX
今天
3
0
浅谈“李氏代换”——从纪念金庸和斯坦李说起

李氏代换(LSP)简介 李氏代换是软件设计的一个原则,又名依赖倒转原则或依赖倒置原则,其衍生原则有接口分离原则等。该原则由Barbara Liskov于1988年提出。 该原则指出,程序中高级别的元素...

SamYjy
今天
36
0
JavaScript实现在线websocket WSS测试工具 -toolfk程序员工具网

本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果。T...

toolfk
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部