答:编程适合三岁以上对学习和编辑感兴趣的孩子。
一级,读写——他们知道如何设置web服务器,正常情况下可以通过配置获得工作所需。他们具备使用文本编辑器和文件系统的基本知识,以及移动和操作文件(如zip和ftp)的能力。你也可以在结构中使用抽象符号、分析方法和系统技巧。
2级,脚本——能写线性脚本告诉计算机做什么,能学习和使用自己的符号。如果他们有足够的时间和书面指导,他们可以使用bash或vb编写一些简单的脚本,为自己做一些实际的事情。
第三级,管理员——这些人了解库和api,并且有能力了解更多。他们知道无论使用什么脚本语言,都需要连接到库。如果他们遇到问题,可以通过阅读用户手册或在线搜索图书馆来解决。在他的工作中,他可以发现或开发自己的符号(使用struct编写函数或声明)。大部分系统程序员都是这个水平,excel的初级宏系统用户也是。
第4级,高级从业者——他们是耦合和内核的新手,他们可以编写自己的对象化脚本(使用公共/私有成员和方法)。这些人会耍花招,懂库,会建类。如果他们不不使用类,他们也可以创建自己的模块或代码文件。高级脚本用户远不止这些。有一些股票经纪人有丰富的excel技能,他们用自己的vba作为基本代码,而没有意识到他们在这个水平。
第五级,掌握多种技能——一旦上升到这一级,就会遇到各种各样的麻烦。通用编程的下一个阶段是能够使用多种框架。这些人会写c#,知道怎么创建表,写sql语句。可以写c,也可以用javascript和html。这两种技能并不代表就是高手,而是需要学会用很多不同的去寻找答案,去理解同一个问题。
6级,初级架构师——这个阶段的人才是真正从事编程的。他们的日常工作是学习更多关于库和api的知识。不要求他们记住这些东西,但是他们应该知道如何使用不同的模式来实现他们的目标。想在win32里画画?可能需要一些gdi资源句柄,它们知道句柄是一个uint32散列——在系统表的某个地方——一个常见的win32范例。想要将jquery添加到您的库中吗?新库中有许多格式。他们应该知道如何做,并解释它是如何工作的。同时你也要开始学习如何重构自己的代码,突出它的亮点,从而提升它的代码质量,渐渐的你就明白了。
水平7.高级架构师——他们的时间花在创建自己的api、平台或库上。可能这是一个大项目的必需品,也可能他们只是想传播自己的知识。他们开发的系统为用户解决实际问题,面对的受众是5级程序员。在这个阶段,ooad、模板和实践都需要深化。我们大多数人一开始都会把事情搞得一团糟,而且我们可以我不明白如何用简单的方法把复杂的事情简单化。这个阶段需要很长时间,需要不断修正错误,开发高质量的系统,创建更复杂、更灵活的库。当他们在外面进行了几个月的特训回来后,他们肯定希望球队的其他人能明白他做了什么。
8级,解释者——在某些时候,我希望这些人能够意识到,大量复杂的信息输入结构和框架能够更好地描述特定领域的语言,他们的受众是4级程序员。随着代码复杂度的增加,可以减少代码的数量,dsl开放可以将代码展示到各个地方。总之,他们将成为程序员使用脚本语言的书写者。通过易于使用的脚本和指导向初学者开放他们的系统。你可以单独学习这些技能,但大多数情况下,在一个复杂的结构之后,你最终会走向dsl。你很快就会看到最初的规模:你可以使用自己的dsl很好地理解问题。
第九级,函数式编程——慢慢接近奖金,他们要开始学习如何函数式编程。它的受众是3级程序员。函数式编程对于帮助他们轻松摆脱dsl是必不可少的,并且可以大大减少解决问题的代码数量,同时具有很高的可扩展性。有些函数式语言在系统运行时是可以热的,你会逐渐感觉到已经接近高级水平了。函数式编程是所有问题的答案,可以减少bug,提高开发效率,但是代码相对来说比较难学。程序员需要时刻记住很多东西——他们必须记住复杂的符号。但是,函数式编程只是路上的一个阶段,就像ooad一样。
第10级,面向语言设计师——他们关注所有新创建的编程语言程序。唯一的区别是新语言应该做什么。他们知道如何开发面向对象的语言、语言函数和脚本语言,知道每种语言在何时何地使用。它的受众是2级程序员。他们会问每个项目:"这个项目需要什么样的语言?"项目结束时,他们会得到一个很好的工具,既解决了问题又简单易懂,还拓展了入门级程序员。大多数项目不不需要面向语言设计者。
上帝级别,计算机科学家-要么是编程的巅峰,要么不是。;不存在,看你自己的观点。这是科学规划,里面有很多很酷的东西。每个人都是它的观众。但是很重重点不是做人们想做的事,而是促进学术发展。因为大部分编程能力水平都是以人为本的,所以这也是人在世界各地生活的必要条件之一。