通常来说,判断每个人是否都能学会编程,就如同确认一个问题究竟是“黑”或“白”同样困难(众所周知,所有的事情都是双方面的)。但还是有一些规则可以用来判断一个人的编程水平。
当然,这并不是件简单的事,好比有些人只会理论知识而不会实践应用一样。其实编程更多地是取决于人们后天的刻苦努力而非天生的技能。
再就是“编程”到底是什么。透过一些对编程的定义,几乎每个人都能编程,而有些定义,又让人觉得几乎没人可以。为了更容易让你知道什么是编程?我做了一个根据难易程度的升序列表。对于这些列表(从简到难划分的等级列表),除了第一条,我认为其他的都属于编程,我是这样定义的,编程就是做一些代理执行任务,无论那个代理是一个计算机还是一个人。
下面这个列表仅仅是把所有可能的编程方法示例出来,你很可能会不同意这样的排序(如果是这样,我想知道为什么!)
(0) 做一切,甚至是一些手动的重复任务
(1) 指示他人执行一个非常简单的任务(例如泡咖啡)
(2) 设定闹钟
(3) 设置录像机来记录显示一周的工作
(4) 利用键盘宏来缓解重复的数据输入任务
(5) 静态网站、HTML&基本的CSS
(6) 包含简单公式的电子表格
(7) 使用梯子图进行工业控制
(8) 指示他人执行复杂的任务(例如换一下旧汽车上的离合器)
(9) 带宏或程序的电子表格
(10) 使用数据库、某种形式接口、严格的存储、检索的简单业务
(11) 简单的智能手机应用程序
(12) 2D游戏编程
(13) 简单的动态网站,主要是CRUD,一些简单的业务逻辑,用户较少
(14) 复杂的智能手机应用程序(比如:服务器端的后端)
(15) 简单的动态网站、主要是CRUD、复杂的业务逻辑或者大用户群
(16) 使用图形工具包进行科学编程(如matlab)
(17) 使用微控制器进行工业控制
(18) 复杂的应用程序软件
(19) 3D游戏编程
(20) 变化多端的编程语言
(21) 科学编程
(22) 3D游戏引擎
(23) 计算机科学探索、开发新算法
(24) 文件系统
(25) 操作系统
(26) 网络栈
(27) 编程语言设计
你同意这样的编程等级划分吗?如果不,可否分享一下呢!
更多精彩内容,敬请关注@CSDN研发频道