Best Software Learning Platform

本文目前只有中文版。

在安格指导学生学习编程。学习编程的人不多。虽然表示对编程学习有兴趣的人比较多,但大多数人似乎都因为传统的对编程的刻板印象,以为学编程就是跟机器打交道,而大多数人是畏惧机器的,所以并没有进入真的编程学习阶段。

我一直认为每个人都应该学习编程,希望能够普及编程教育。编程其实不难,但是现在大家学编程,从一开始就给学生灌输很多和机器相关的概念,而大多数人对机器并不感兴趣,所以变成只有对机器感兴趣的人才会去学。另外,传统的观念,主要的强调编程里的算法或者所谓的逻辑推理,也把大多数人拒之门外。

发明最短路径算法的Dijkstra说:太糟糕了,我们给这门科学取了个这样的名字:“计算机科学”,这就好像把脑科学叫做“手术刀的科学”一样本末倒置。我们今天终于可以看到这个危害的结果。


图:发明最短路径算法的Dijkstra

真正学过理工科的同学都知道,计算机科学/软件编程绝不是门单纯的理工科。在我看来,它是人文学科和自然学科之间的桥梁,是人类世界与物理世界之间的桥梁。这是软件编程真正吸引人的所在。互联网之父Bill Joy就深情的描述过他第一次接触编程时那种看着思想转化成可以在机器上运行的代码并显示出结果的美妙感觉,这也正是他对软件编程一见钟情的原因。Python之父Guido则主张,软件编程是人类继写作(即书面表达)后发明的更深刻和优越的思想表达工具,是新形式的知识载体,每一个人都应该学会编程,编程会成为未来评估文盲的标准。


图:互联网之父Bill Joy

那么普通人如何学习编程呢?我觉得最好一开始的编程不要和机器相关。我们需要找到一个大多数人可以玩起来的“玩地”,而大多数人对机器是不感兴趣的。

那么大多数成人都感兴趣的是什么?在每个国家,社交网都是大众最普遍使用的软件,比如微信,微博,facebook, twitter。所以我觉得成年人学习编程的玩地应该是管理他们的社交人际关系,资讯和知识的获取。另外要让他们脱离机器来学习编程,那么就应该让他们在网页上进行编程,比如有网页版的在线编辑器,可以写一些简单的代码,初步体验编程。

比如,我可以在朋友圈或者微信群里发小的编程示例,大家在上面直接就可以开始尝试些编程。这是大家比较熟悉和方便的方式。

大家可以在网页上编程来管理自己的人际关系和获取的信息,可以把搭建好的程序分享出来给大家。平台会提供基础的编程指令,用以对人际关系或者资讯做基本的操作。大家可以用这些指令来编程。普通人都可以很方便的尝试编程,有很强兴趣和天分的可以搭出自己的微信或者facebook出来。比较困难的网络连接和高并发,平台或者编程语言本身会自带相当程度的解决方案,网络编程和高并发不会成为普通人搭建大规模应用的瓶颈。

其实web2.0时代也有些类似的让普通人可以“编程”的平台,如yahoo的pipe。 让大多数人能够编程从而更好的享受互联网带来的种种便利,也是大家当时共同的认识。但是当时很多的做法,只是让普通人对数据的简单操作,并且排斥了编程语言,不敢让大众学习编程语言。不使用编程语言的话,能做的事情很少,也很不方便。那个时代(大概05,06年),学习编程语言可能还是大众比较难接受的事情。但今天,大众心理上已经强烈的感受到学习编程的需求,只是大多数编程学习要求他们去学习大量的机器,并且一开始就要学机器,所以很多人虽然想学,但视为畏途,把很多对编程感兴趣的人挡在了门外。所以,今天,应该可以让大众们在社交和资讯获取领域找到他们可以学习编程的“玩地”。并且,使用编程语言来编程,他们是可以打造出微信,facebook这样的大的应用出来的。

这将是个非常好的互联网生态,非常丰富和健康。平台只提供编程基础设施,提供丰富的基本的组件。大家想要怎么管理自己的社交关系或资讯,都可以用自己的方式去管理。不用像今天这样,受制于微信,facebook。拥有自己的信息,拥有自己的应用!

以上讲的主要还是管理个人的人际关系和资讯,也就是人和信息。其实再深一些,就是知识,也就是对“重要体验”的管理。让大家通过编程把重要体验玩起来,去扩展,分享和交互。这就是未来真正的知识平台。

到时,大家拥有的就是一个真正可编程的世界!

每一个人都应该学习编程,但不是每一个人都要成为职业的程序员。今天软件行业里大量的软件管理人员和产品设计人员等等,都没有什么编程经验,技术人员与产品人员之间的沟通有着巨大的鸿沟,很大程度上影响着软件行业的健康发展。我们认为这是很不正常的,问题的根源就在于我们的编程教育把大多数人挡在了门外。而我们这里设想的,通过更好的面向大众的编程教育,不光可以让普通人都能够更好的获取互联网带来的力量,让互联网摆脱今天的巨头垄断的沉闷局面,也可以解决软件行业最大的问题,让软件行业走向健康发展的道路。

所以,总结一下,一个好的编程学习平台,应该是大家都很熟悉的领域,和每个人的生活相关,大家喜欢去学,愿意去学,有基本的指令和组件,可以通过编程在里面进行各种创造。最好平台或者编程语言本身已经解决了大部分的网络连接和高并发的问题,让用户可以更专注在他们熟悉的领域。

儿童最好的编程学习平台

那么,我们再来看儿童编程学习,Paracraft正是满足了这些条件。

孩子们非常热爱搭建,喜欢创造,尤其是带有美术的创作。这些就是Paracraft的3D世界给孩子们提供的“玩地”。创作出来的作品可以分享,他人可以欣赏并重复使用。

而Paracraft所基于的NPL语言,本身就是模拟人类大脑高并发工作原理的编程语言,用户不需要了解太多的网络底层和高并发细节的知识,就可以创造高并发的网络应用,这也在很大程度上让孩子们不是必须先大量了解机器才能学习编程,普通的孩子就可以创造出大规模的网络应用。

我们的期望,同上述的成人世界的编程学习一样,未来孩子们可以创造出无数的“并行世界”(ParaWorld),教育者们也可以为孩子们设计出各种富有教育意义的世界,比如学习生物,数学,物理,古诗词的3D世界等等。

同样的,Paracraft未来也会是儿童最好的社区,是儿童的可编程世界!

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *


2 × = sixteen