少儿编程青少年的黄金前景
是什么让少儿编程成了黄金赛道?一切美好希望的前提是:少儿编程可以跳出粗狂生长的局面,在鸡汤式的洗脑外,让家长感知到编程教育本身的价值,可能是教给学龄期的孩子玩乐高,可能是让孩子编程过的机器人跳舞,也可能是启蒙还在在算法上天赋……
“再苦不能苦孩子,再穷不能穷教育”。
事实证明,K12领域隐藏着一个又一个金矿,去年还有些低迷的少儿编程,在教育考试政策的指挥下,短短一年时间已经有了即将爆发的迹象。
在网易卡搭编程协办的“全国青少年创意编程与智能设计大赛”中,今年的投稿作品超过7万件,比去年同期足足增加了15倍;张泉灵等投资者不遗余力地为少儿编程背书,红杉、经纬、软银、华创、真格等均在少儿编程的赛道上狂播种;线下栉次鳞比的培训班,有不少已经开设了少儿编程课……
少儿编程的风口就那么突然的来了。
可能会有几个调皮的孩子反问一句为什么,听到的往往是不知所以然的答案。当80后和90后为人父母的时候,尽管多数人不知道“少儿编程”的价值在哪,想想自己当年没有好好学英语的懊悔,一定不能让孩子输在起跑线上。
小时候没人告诉80后们学英语到底有什么好处,少儿编程却不一样,至少各类线下培训机构已经有足够的理由说服家长们。
比如国家教育政策的引导。2017年7月份,国务院印发了《新一代人工智能发展规划》,提到要在中小学阶段设置人工智能相关课程,逐步推广编程课程,并为一些机器人竞赛加入了应试加分机制。
经历过高考的家长们自然明白其中的奥秘,当有所谓的业内人士发出“不会编程的孩子,就像现在不会英语的孩子一样让人焦虑”的声音时,一些家长恐怕已经迫不及待地交钱给孩子报班。
事实却也如此,浙江省教育厅早在2014年就把信息技术(含编程)正式纳入高考考查科目之一。教育部也在2016年批示有条件的地区要积极探索信息技术在众创空间、跨学科学(STEAM教育)、教育等新的教育模式中应用。培训学校的营销说辞,虽然有添油加醋的成分,倒也没有偏离既定事实。
再比如对家长鸡汤式的教育。埃隆∙马斯克9岁就开始学习编程、马克∙扎克伯格10岁开始学编程,乔布斯和比尔∙盖茨也是十二三岁的年纪就开始接触编程了……学习编程几乎成了孩子变优秀的必要条件。
甚至不乏一些现实题材的案例,比如杭州15岁高三女孩郭文景因为获得了奥林匹克信息竞赛奖项,最终被哈佛本科提前录取;长春三名高中生邹雨恒、吴一凡、王天懿因“电脑玩得好”,被保送北大清华……类似的案例可以说不胜枚举,并广泛见著于各大少儿编程平台推送的微信公众号里。
在孩子的“课外活动”中一直都存在一条鄙视链,乒乓球、羽毛球等大众运动自然要输给钢琴、小提琴等艺术课,马术、高尔夫、击剑等“高雅贵族运动”又凌驾于艺术课之上,凭借脑力优势的“少儿编程”最终轻松站在了鄙视链的顶端,尤其是在教育部明令取消奥数高考加分之后。
少儿编程奇迹般的爆红,恐怕不是家长们想让孩子们当程序员的结果,一些家长已经形成了比较理性的认知,却不等于少儿编程已经从小风口成长成了大风口。
狂奔后的阶段性瓶颈
在网易编程公布的数据中,“全国青少年创意编程与智能设计大赛”有接近四分之三的作品来自四川、江苏、浙江三省。地域上的严重失衡无疑折射了这样一个事实:少儿编程的火热,离不开政策引导和创业者的“鼓吹”,浙苏川三地恰恰是教育指挥棒指明的地方,而大多数家长还没有意识到让孩子学编程的实际价值。
如此,课程体系的不完整是首当其冲的。
参照美国计算机教师协会的计算机教育标准,7岁以上的孩子开始Scratch图形编程,9岁以上开始接触Python代码编程,开发小游戏、爬虫、网页制作等,10岁以上的孩子开始NOIP算法编程,学习C++的基础理论、掌握针对NOIP的算法核心知识。主要采用“图形-代码-算法”的阶段式编程,同时还搭配了一整套的软硬件教学体系,类如游戏、机器人、开源硬件平台等。
国内还没有出现统一的标准体系,大多数机构通过借鉴国外体系,加上自主研发的形式进行课程设计,比如网易卡搭编程采用了美国计算机协会的标准,从零基础的入门到高级别的算法课程;推出了图形模块在线编程的课程,帮助零基础的孩子进行编程入门;以及网易《极客战记》等游戏化的编程教学产品。
但就整个行业来看,现有市场的编程教育还只是Scratch承载的低龄版编程教育,再然后就直接跳转到成人版编程教育,缺少面向青少年的过渡阶段,中间的断层导致平台很难留住已经完成既定课程的学生。
和很多K12教育一样,少儿编程也是从线下市场爆发的,网易卡搭编程、、斑码编程等还只是后来者,最先涌入的是传统教育机构和机器人培训机构,这或许才是少儿编程存在问题的病灶。
家长缺少对课程体系的认知,培训机构也忙着“钻空子”。除了浙江、江苏等少数省份外,编程并没有被纳入中小学教育课程,很多学生是利用寒暑假的机会学习编程。少儿编程市场就出现了预料之中的“淡旺季”,导致编程大神们不屑于进入培训行业,线下机构不得已自己培养老师。
一组公开数据显示,上海学校里的信息技术课程里,80%的教师非科班出身。不少打着“少儿编程”旗号的培训班成了“薛定谔的编程”,看似每天都在培训班里学习,又什么都没有学会。
有人将原因归咎于不合理的商业模式,少儿编程仍在重复着其他“课外活动”的老路,ToB的模式要死磕手中的资源,买单者是学校为主的教育机构,ToC模式又受限于流量和市场教育,主要是卖机器人等编程道具。
资本的态度已经很明显,一边看好少儿编程的未来趋势,一边又偏爱A轮之前的投资,少儿编程在B轮和C轮上的融资案例至今仍较为罕见。毕竟少儿编程才刚刚起步,资本也处于观望状态。
中国市场的中国式玩法
少儿编程该如何走出瓶颈?看到的答案其实有很多。
不过,照搬国外的课程体系是否奏效仍没有定论,国内少儿编程的课程标准何时出台也缺少准确的时间点。对于少儿编程市场的玩家而言,如何让市场从小风口成长为大风口,除了创业者的不断试错和投资者的摇旗呐喊,还需要一些中国式的玩法。
在芥末堆主办的GET2018教育科技大会上,网易卡搭编程负责人曹智清认为少儿编程还处于幼年期,并直言少儿编程的发展离不开政府主导。这是一个看起来不那么商业化的答案,却是个适合中国市场的办法。
少儿编程的小风口,几乎是《新一代人工智能发展规划》一手缔造的,倘若大部分省份将编程加入青少年的必修课,少儿编程的黄金赛道似乎不会有太多质疑。编程教育从非刚需到刚需,改变的不只是家长花钱的态度,还有一整套的教育体制,比方说编程课的普及势必要调整数学课的教学,大学课程中才涉及的“贝叶斯定理”可能要深入浅出的灌输给中学生们。
简而言之,编程在公立学校下沉的速度,左右了少儿编程往前走的快慢。
另一个玩法可能是以比赛促发展,“全国青少年创意编程与智能设计大赛”就是一个例子,前后两年作品提交数量的15倍增速,不难印证家长们对于类似比赛的热情。
较为理想的方案是设计好比赛机制和级别标准,一是增加编程的生命周期,如果钢琴课程没有比赛定级,恐怕不会有今天的疯狂;二是扩大比赛的市场影响力,逐渐向县市级比赛渗透,创造“应试培训”般的行业机会;三是让比赛成绩逐渐影响升学之类的核心痛点,尽管门槛很高,却是最适合中国市场的方式。
当然,一切美好希望的前提是:少儿编程可以跳出粗狂生长的局面,在鸡汤式的洗脑外,让家长感知到编程教育本身的价值,可能是教给学龄期的孩子玩乐高,可能是让孩子编程过的机器人跳舞,也可能是启蒙还在在算法上天赋……好在已经出现了网易卡搭之类的在线平台,也有童程童美等巨头背景的线下培训,以及优必选等借助编程机器人切入市场的跨赛道玩家。
总之,市场很大,机会很多,同时也需要引路人。
现在我得到了一个凡是可以找得到的每种编程语言的列表。我将它们分为以下几类:
☞解释型编程语言
☞函数式编程语言
☞编译型编程语言
☞过程式编程语言
☞脚本编程语言
☞标记编程语言
☞基于逻辑的编程语言
☞并发编程语言
☞面向对象编程语言
解释型编程语言
解释型语言是这样一种编程语言,其大部分实现直接执行指令,而无需先将程序编译成机器语言指令。解释器直接执行程序,它会将每个语句翻译成已编译成了机器代码的一个或多个子程序的序列。(维基百科)
☞APL
APL以《编程语言(AProgrammingLanguage)》一书命名(Iverson,KennethE.,1962),它是一种数组编程语言。它可以在多个数据阵列上同时工作。它是一种解释型、可交互和函数式的编程语言。
☞ AutoIt
它是自由软件,是一种用于MicrosoftWindows的自动化语言。主要目的是创建可用于在Windows上执行某些重复任务的自动化脚本。
☞ BASIC
于1964年由约翰·乔治·凯米尼(JohnGeorgeKemeny)和托特·尤金·库尔茨(ThomasEugeneKurtz)在达特茅斯(Dartmouth)开发,它是初学者多用符号指令代码(Beginner’s All-purpose Symbolic Instruction Code)的缩写。它的目的是为非科学人士提供一个使用电脑的途径。
☞ Eiffel
它是一种被ISO标准化了的面向对象编程语言,用于开发可扩展和可重复使用的软件。它是一个可面向许多行业的开发平台,如金融,航空航天和视频游戏。
☞ Forth
它是一种结构化的命令式编程语言,其实现基于堆栈。它支持交互式的命令执行以及对命令序列的编译。
☞ Frink
由AlanEliasen开发,以JohnFrink教授命名——他是一位颇受欢迎的虚构人物。它基于Java虚拟机,专注于科学和工程领域。其突出特点是能通过所有的能让数量包含其测量单位的计算,来对测量单位进行跟踪。
☞ GameMaker语言
它是一种解释型的计算机编程语言,旨在与GameMaker配合使用——GameMaker是一种游戏制作应用程序。荷兰计算机科学家马克·奥马斯(MarkOvermars)设计了这种语言。
☞ ICI
ICI是由TimLong于1992年设计的,它是一种通用的解释型计算机编程语言。它支持动态输入,灵活的数据类型以及其它的一些类似于C的语言结构。
☞ J
KenIverson和RogerHui开发了这个只需要使用基础ASCII字符集的编程语言。它是一种数组编程语言,适用于数学和统计操作。
☞ Lisp
Lisp是如今正在被广泛使用的第二古老的高级编程语言。其名称Lisp派生自“列表处理语言(ListProcessingLanguage)”。Lisp支持的重要数据结构之一是链表。Lisp程序会将源代码当做是数据结构。
☞ Lua
计算机图形技术组的成员在1993年开发出了Lua。它被设计成为脚本语言,是一种不可获取的过程式编程语言,以简单而强大而闻名。
☞ M
M是MUMPS的缩写,它是为医疗保健行业而创建的一种编程语言。M语言是由医学信息技术的创始人NeilPappalardo以及他的同事开发出来的。
☞ Pascal
它是一种过程式编程语言,旨在利用上数据结构化和结构化编程的概念。瑞士计算机科学家NiklausWirth设计了这种语言,是以法国数学家和哲学家BlaisePascal来命名的。
☞ PCASTL
它是ParentandChildsetAccessibleSyntaxTreeLanguage(可访问父和子集语法树语言)的缩写,是由PhilippeChoquette开发出来的高级语言,属于解释型的计算机编程语言类型。它是专门为自修改代码而设计的。
☞ Perl
Perl是一种支持动态编程的高级解释型编程语言。它是由LarryWall开发的,而LarryWall则是NASA的系统管理员。它为程序员提供了文本处理的能力,并融合了C、Lisp还有Awk等各种语言的功能特性。
☞ PostScript
它主要在桌面出版领域中使用,被称为页面描述语言。它是一种基于堆栈的动态编程语言,由美国计算机科学家JohnWarnock和计算机科学领域著名人物CharlesGeschke开发。这些开发人员后来一起创立了非常着名的AdobeSystems公司。
☞ Python
它是一种支持强制命令,面向对象和函数式编程样式的高级编程语言。它与Perl在动态类型系统和自动内存管理方面有相似之处。Python最初于1991年由荷兰计算机程序员GuidovanRossum发布,它是一种基于社区的开放性语言,其开发由PythonSoftwareFoundation来进行管理。
☞ REXX
RestructuredExtendedExecutor(重构扩展执行器)的简称,它是由IBM开发的解释型语言。它被设计出来的目的是成为一种易于学习和阅读的语言。NetRexx是IBM提供的基于REXX的面向对象编程实现。ObjectREXX是基于REXX的面向对象脚本语言。
☞ Ruby
在20世纪90年代,日本兴起了要开发这样一种语言的动力。它具有与Perl类似的动态类型系统和自动内存管理功能。它支持多种编程样式,是一种动态的面向对象语言。
☞ S-Lang
S-Lang一开始是作为一种基于堆栈的语言来而开发出来,而现在已经演变为一种类似于C的语言。它是由JohnE.Davis开发出来的。
☞ Spin
Spin是一种多任务且面向对象的编程语言,其编译器会将代码转换为字节码。多个Spin代码线程可以在同时运行,从而实现多任务处理。Spin是由Parallax的ChipGracey开发出来的。
函数式编程语言
函数式编程语言 定义每次的计算作为数学求值。他们把焦点集中在函数的应用。大量的函数编程语言被绑定在数学计算上。
☞ Charity
它是一种纯净的函数式,非图灵完备语言,这意味着所有的程序都可以被保证能终止。Charity是由加拿大的一所公立大学——Calgary大学设计的。
☞ Clean
它是一种纯净的函数式编程语言,拥有跨平台能力,自动垃圾收集机制,多数据结构和引用透明性,这些能力意味着一个函数,只要给它一个输入将总是会有一个输出。
☞ Curry
它是一种函数逻辑编程语言,实现了函数式与逻辑编程,还有约束式编程。在约束式编程方法中,变量之间的关系是以约束的形式表示的。
☞ Erlang
它是一种并发编程语言,包含了一系列支持函数式编程的子集。爱立信将Erlang作为一种分布式软实时与容错语言来进行开发,并于1998年将其作为一种开放源代码的计算机编程语言发布,是最常用的函数式编程语言之一。
☞ F#
它是面向.NETFramework的一种编程语言,同时支持函数式以及命令式的面向对象编程。微软研究院的DonSyme开发了这种语言,他现在正在Microsoft开发部门进行参与开发工作。它被称作FSharp,被集成到.NETFramework和VisualStudio中。
☞ Haskell
Haskell是以HaskellCurry——一个逻辑学家——来命名的,是一中标准化的纯函数式语言。它支持模式匹配,可定义运算符、单个赋值、代数数据类型以及递归函数。
☞ Joy
它是一种基于函数组合的纯函数式语言。澳大利亚LaTrobe大学的ManfredvonThun开发出了这种语言。
☞ Kite
它于2006年推出,带有一个由面向对象和函数式编程功能特性混合组成的功能集合。这是一种可快速运行的语言。有趣的是,Kite使用管道字符来进行函数式调用,而不像使用其他语言那样使用点或者箭头字符。
☞ ML
爱丁堡大学的罗宾·米尔纳(RobinMilner)及其同事在七十年代推出了ML。因为它支持命令式编程,所以并非一种纯粹的函数式语言。标准ML在编译器编写者群体中很受欢迎,是一种模块化的函数式编程语言。Alice是标准ML的方言,支持分布式计算,多线程和约束式编程。Caml是ML的另一种方言,是一种支持自动内存管理的静态类型语言。Ocaml是作为开源项目开发出来的Caml实现。JoCaml是基于连接演算模式的Ocaml版本。
☞ Nemerle
它是专为.NET平台设计的一种静态类型编程语言。Nemerle中的程序会被编译成中间语言字节码。它支持函数式,命令式以及面向对象编程。
☞ OPAL
该名称表示的是OptimizedApplicativeLanguage(优化应用语言),是由柏林技术大学开发出来的函数式编程语言。
☞ OPS5
它是一种基于规则的生产系统计算机语言,已经成为在专业系统中使用的首选语言。
☞ Q
之所以被称为Q,因为它是一种等式(equational)编程语言。它是由德国美因茨大学AlbertGraf设计出来的一种解释型函数式语言。它可以被描述为用于对表达式进行计算的一组方程式。
编译型编程语言
编译型语言是典型的通过编译器(将源代码生成机器码的翻译工具)而不是解释器(一步步执行源码,不会在运行前发生转换)实现的编程语言。(维基百科)
☞ Ada
它是一种基于Pascal的静态类型、结构化、命令式的编程语言。JeanIchbiah带领的CIIHoneywellBull团队开发了Ada。Ada编译器由关键任务系统验证,它是符合国际标准的计算机编程语言。
☞ ALGOL
它的名称就表明了它是一种算法语言。实际上它是在20世纪50年代中期开发出来的一系列命令式编程语言。它被证明可用于创建像BCPL、B和C这样的编程语言。位于Oslo的挪威计算机中心的Ole-JohanDahl和KristenNygaard在它的基础上创造了Simula。
☞ C
贝尔电脑实验室的DennisRitchie开发了C用于Unix平台。它是通用、跨平台、过程化、命令式的编程语言。它用于实现系统软件和应用软件,是当今使用最广泛的计算机编程语言之一。C++和C#都是基于C发展而来。
☞ C++
它由高级语言和低级语言相结合,因此被认为是一个中级编程语言。贝尔实验室的BjarneStoustrup开发了C++,把它作为C语言的扩展。它最初被称为“含有类的C”,直到1983年才被称为C++。它是一种支持过程化编程、泛型编程、面向对象编程和数据抽象的多样化语言。
[译者注:multi-paradigm中的paradigm指形式,常见的编程形式包括:命令式(imperative)、函数式(functional)、申明式(declarative)、面向对象(object-oriented)、过程化(procedural)、逻辑化(logic)、风格化(symbolic)——参考维基百科]
☞ C#
CSharp也是一种多样化语言,支持命令式、泛型和面向对象编程。它是Microsoft.NET框架的一部分。它的面向对象语法与C++相似。它还受到Java和Delphi的影响。
☞ CLEO
它被称为ClearLanguageforExpressingOrders(清楚表达命令的语言),是用于LEO计算机的计算机语言。
☞ COBOL
其名称代表了 CommonBusiness-OrientedLanguage(面向商业的通用语言),被设计用于商业和金融领域。COLBOL2002标准支持面向对象编程。它是一个非常古老的编程语言,但仍然在使用。
☞ Cobra
它是一个运行于.NET框架和Mono框架的面向对象编程语言,由ChunkEsterbrook开发。它的设计受Python和C#的影响。它支持静态和动态类型,适用于单元测试。现在它是一个开源项目。
☞ D
它最初被设计为C++的增强,受Java、Eiffel和C#的影响。它是面向对象、命令式、多样化的系统编程语言,由 DigitalMars的 WalterBright开发。
☞ DASL
它是 DistributedApplicationSpecificationLanguage(分布式应用程序描述语言)的缩写,是由Sun公司开发的一款高级、强类型的编程语言。创建它是为了用来开发Web应用。
☞ DIBOL
DIBOL是DigitalInteractiveBusinessOrientedLanguage(面向商业的数字互动语言)的简写,它是通用过程命令式的编程语言。它和COBOL很像,适用于管理信息系统的开发。
☞ Fortran
这是过程化、命令式的通用计算机编程语言,适用于科学计算和数值运算。自IBM于20世纪50年代开发出来,它迅速走红。它是结构化的编译型编程语言,在高性能计算领域非常流行。它是Fortran95的子集。Fortran的修订版本,Fortran2003支持面向对象编程。
☞ Java
它是通用计算机编程语言,并发,基于类,面向对象并专门针对尽可能少的依赖来进行设计。编译后的Java代码可以不需要再次编译就运行于各种支持Java的平台。是现代非常流行的语言。
☞ JOVIAL
它是类似ALGOL的高阶计算机编程语言。它适用于嵌入式系统的设计和开发。
☞ Objective-C
它是一种反射式面向对象程序编程语言,在C的基础上添加了消息服务。
☞ SMALL
它的名称表示SmallMachineAlgol-likeLanguage(类似Glgol的小型机器语言)。它的代码与ALGOL类似,用于在小型机上编程。
☞ Smalltalk
它是反射式的面向对象编程语言,支持动态类型。 AlanKay、AdeleGoldberg、DanIngalls、ScottWallace、TedKaehler和他们在XeroxPARC的同事开发了Smalltalk。他们为教育用途设计了Smalltalk,之后它就流行起来了。VisualWorks是Samlltalk的优秀实现。Squeak是Smalltalk的一种实现形式。Scratch是基于Squeak的可视化编程语言。
☞ Turing
它于1982年由加拿大多伦多大学的 RicHolt和JamesCordy开发出来。它的名字是为了纪念英国计算机科学家AlanTuring(艾兰·图灵)。它很像Pascal,从2007年开始免费。
☞ VisualBasic
这是一个事件驱动的编程语言,通过集成开发环境打包。它从BASIC继承了很多特性。它的图形化开发特性使初学者学习起来非常容易。
☞ VisualFoxPro
它是面向对象和过程化编程语言,来源于FoxPro。它自身集成了关系型数据库系统,不再需要额外的编程环境。它支持动态编程。
☞ XL
它的诞生是为了支持概念编程,这是一种致力于将程序员脑中的概念转化为代码的编程形式。程序可以重新配置XL的语法和语义
过程式编程语言
过程式(命令式)编程 意味着需指定程序应该达到预期状态的步骤。过程是可以通过过程调用引用的一组语句。过程有助于代码中庸。过程式编程使程序结构化,易于追踪程序流程。
☞ Bliss
它是一种系统编程语言,是在C语言出现之前最知名的语言之一。卡内基梅隆大学的W.A.Wolf、D.B.Russell和A.N. Habermann发明了Bliss。它包括异常处理机制、协程和宏,但并不包括goto语句。
☞ ChucK
它是可以在MacOSX、Linux以及MicrosoftWindows上运行的并发和强音频定时的编程语言。它特别以其为程序员提供在运行程序中做一些修改的能力而著称。
☞ CLIST
它是一种使用命令集合的形式表示的过程式编程语言,这些命令集合需要像批处理文件一样顺序执行。
☞ HyperTalk
它是一种高级编程语言,旨在给程序员的初学者使用。这种计算机语言的程序员被称为作者,编写程序的行为被称为脚本。HyperTalk由DanWinker于1987年设计,结构上类似于Pascal。
☞ Modula-2
它是1978年由NiklausWirth在ETH创立的通用过程式语言。它与Pascal类似,具有系统编程和多重编程功能。
☞ Oberon
NiklausWirth、Pascal和Modula背后的人,在1986年提出了Oberon,它被设计为Oberon操作系统的一部分。它类似于Modula-2,但比它小得多。
☞ ComponentPascal
这是一种看上去似乎与Pascal相关的编程语言,但实际上与它不兼容。它实际上是Oberon-2的一个变种。Lagoona是一种实验性编程语言,支持面向组件的编程、将系统分解为逻辑或功能组件的范式。NiklausWirth的学生MichaelFranz发明了Lagoona。Seneca,以Oberon-2著称,是Oberon编程语言的扩展。
☞ MATLAB
它是一种数值计算环境和一种能够进行矩阵计算、功能绘图和算法实现的编程语言。它也可以用于创建用户界面。MathWorks创建了MATLAB。
☞ Occam
这是由DavidMay和他的同事们在INMOS发明的一项命令式程序性语言。它类似于Pascal。Occam-pi是Occam的一种变体,已经扩展到包括嵌套协议、递归、协议继承、数组构造函数和运行时进程创建。
☞ PL/C
它被发明之后用于教授编程知识。它是在20世纪70年代在康奈尔大学创建的。
☞ PL/I
它是针对科研和工程应用的必需的计算机编程语言。主要用于执行数据处理,它还支持结构化编程和递归。
☞ Rapira
它是一种在苏联学校教授计算机程序设计的过程式编程语言。苏联开发的这种语言最初是基于俄语的关键词。随后才加入的英文关键词。
☞ RPG
此编程语言用于业务应用程序中。它可以与IBM的SystemI中间件计算机一起使用。
脚本语言
脚本语言是用来控制应用程序的编程语言。脚本可以独立于其它任何应用程序执行。它们多数时候嵌入在应用程序中,用于控制或用于执行频繁执行的自动任务,比如与外部程序通信的任务。
☞ AppleScript
它是MacOS内建的脚本语言。
☞ Awk
Awk于上世纪70年代诞生于贝尔实验室。它使用字符串数据类型、数组和正则表达式来处理数据流和文件中基于文本的数据。
☞ BeanShell
它是Java脚本语言,其语法与Java相似,是在Java运行环境中运行的脚本命令和语法。
☞ ColdFusion
它是应用服务器和软件开发框架,带有一个被称为ColdFusionMarkupLanguage(ColdFusion 标记语言)的脚本语言。它被称为CFML,其语法与HTML类似。
☞ F-Script
它是一种面向对象的脚本语言,与Smalltalk非常接近,但增加了数组编程的特性。
☞ JASS
它是一个事件驱动的脚本语言,为程序提供了广泛的API。
☞ MayaEmbedded Language
它是Maya软件中处理任务的脚本语言,缩写为MEL。它的语法类似Perl。
☞ Mondrian
这个脚本语言为Internet应用而生,它可以看作是Haskell和Java的结合。
☞ PHP
PHP是一种普遍使用的脚本语言。它用于创建动态网页,同时也支持命令行接口。
☞ Revolution
它是基于HyperTalk的快速应用程序开发语言。它跨平台,支持动态类型。
☞ Tcl
它被认为是一种容易学习的脚本语言。它用于嵌入式系统的快速原型开发。
☞ VBScript
它是微软开发的VisualBasic的变体,非常活跃。VBScript在微软Windows桌面系统中都作为默认组件存在。
☞ WindowsPowerShell
它是微软的命令行shell和脚本语言。它于2006年发布,可用于WindowsXP、WindowsVista以及WindowsServer2003和WindowsServer2008[译者注:还有更新一些的Windows版本]。它与Microsoft.NET框架合作,包括可执行程序、独立应用中的窗体、常规的.NET类等。Cmdlet是特定的.NET类和脚本,或者由一些 Cmdlet通过必要逻辑组合起来。
标记编程语言
标记编程语言 (MarkupLanguages)是一种人造语言,它使用文本注释来定义这些文本的显示方式。
☞ Curl
它是一种反射式的面向对象的编程语言。它是一种类似于HTML的标记语言。Curl是支持多重继承的面向对象编程语言。
☞ SGML
标准化通用标记语言(SGML)是来自IBM的通用标记语言。它是可以为文档定义标记语言的ISO标准元语言。它的目的是共享必须长期保留下来的大型项目机读文件。
☞ HTML
超文本标记语言(缩写为HTML)是用于网页的最著名的标记语言。它是用HTML标签的形式写成的,它们被尖括号所包围。HTML标签描述了文档中的文本外观,并且可以嵌入到某些其他代码中以影响Web浏览器的行为。HTML使用SGML的默认语法。
☞ XML
这个名字代表可扩展标记语言(ExtensibleMarkupLanguage)。它是可扩展的,因为它允许用户自定义XML元素。它支持通过互联网共享结构化数据以及数据的编码和序列化。它起源于SGML的一个子集。XPath是用于从XML文档中选择节点的XML路径语言。它支持值计算。XQuery用于查询XML数据的集合。可扩展样式表语言转换(XSLT)是一种基于XML的语言,用于将XML文档转换为人类可读的格式。ApacheAnt是软件构建过程中的自动化工具。它使用XML来描述构建过程。
☞ XHTML
它是一种与HTML类似的标记语言,遵循XML语法。它是HTML和XML之间的过渡。XHTML文档允许自动处理数据。
基于逻辑的编程语言
逻辑编程是一种基于形式逻辑的编程范例。用逻辑编程语言编写的程序都是逻辑形式的一组句子,表达关于某些问题域的事实和规则。(维基百科)
☞ ALF
代数逻辑函数式(AlgebraicLogicFunctional)编程语言是一种多范式的编程语言,它是功能编程和逻辑编程的组合。ALF程序语句会被编译成一种抽象机指令。用C编写的仿真器可以执行抽象机的程序。
☞ Fril
Fril语言是由TrevorMartin和JimBaldwin于20世纪80年代在布里斯托大学的时候设计的。它主要面向一阶谓词演算,支持模糊集和元编程,基于Prolog的语法。
☞ Janus
Janus支持并发和约束式编程。
☞ Leda
这种计算机编程语言是基于逻辑的,函数式,命令式和面向对象编程的混合体。因此,它是一种多范式语言。
☞ Oz
它是一种多范式语言,支持函数式,基于逻辑的,命令式和面向对象编程。Oz还支持并发和分布式编程。支持约束式编程是Oz语言的优点之一。
☞ Poplog
它是一个强大的多范式软件开发环境,其核心语言是POP-11。该开发环境的所有语言共享一个共同的语言编辑器,并且是增量编译的编程语言。
☞ Prolog
它是一种支持逻辑编程的通用编程语言,通常可以连系到人工智能和计算语言学。语言是声明式的,程序逻辑则以关系的形式来表达。Mercury是基于Prolog的函数式逻辑编程语言。StrawberryProlog是Prolog的一种方言,被设计得易于使用。VisualProlog是支持面向对象编程的Prolog强类型扩展。它是一种基于逻辑的编译型编程语言。
☞ ROOP
它是一种基于C++的多范式语言,推出目的是在与人工智能系统一起使用。其功能融合了函数式、逻辑和面向对象编程。
并发编程语言
发编程 是一种计算机编程技术,可以让操作并行执行——在单计算机或者跨越多台计算机上都可以实现,而在后一种情况下,使用术语分布式计算。(维基百科)
☞ ABCL
它是基于Actor的并行语言(Actor-BasedConcurrentLanguage)的一个语言系列,是在日本于1980年代和90年代开发出来的。ABCL/1、ABCL/R以及ABCL/R2就是ABCL系列的一些成员。
☞ Afnix
它是一种多线程函数式编程语言。它的解释器是用C++编写的。其运行时引擎支持32位和64位平台。
☞ Cilk
Cilk是麻省理工学院实验室在1994年创建出来的,支持多线程并行编程。
☞ ConcurrentPascal
美国丹麦裔计算机科学家PerBrinchHansen创建了ConcurrentPascal,用来编写操作系统和为实时系统编程。
☞ E
它是一种支持分布式编程的面向对象编程语言。E是在1997年由马克·米勒,丹·博恩斯坦与他们在电气社区的同事们一起开发出来的,其语法类似于Java。
☞ Joule
Joule出现在E编程语言之前,是一种并发数据流编程语言,可用于开发分布式应用程序。
☞ Limbo
在贝尔实验室开发出来的Limbo可用于为分布式系统编写程序。它的显着特点就是其编译器能够生成独立于体系结构的目标代码。Limbo被用来开发在Inferno操作系统上运行的应用程序。最初作为Plan9操作系统一部分的Alex就是Limbo的前身。
☞ Pict
它是一种静态类型的编程语言,现在还处在实验阶段。
☞ SALSA
SimpleActorLanguageSystemandArchitecture(简单Actor语言系统和架构)的简称,SALSA支持并行编程,消息传递和分布式计算。为了具备可移植性,它使用了Java代码。
☞ SR
其名称SR是SynchronizingResources(同步资源)的首字母缩略词,是一种并行编程语言。
面向对象编程语言
面向对象编程 ( OOP)是基于“对象”思想的编程规范,它包含数据,一般称为属性,表现为字段(field)的形式;还包含代码,一般称为方法,表现为程序的形式。在OOP中,计算机程序是根据对象与对象之间的交互来设计的。(Wikipedia)
☞ Agora
这是一种基于原型的面向对象编程语言,具有消息传递机制。
☞ BETA
它是一种面向对象的编程语言,其类和过程围绕相同的概念,而且类被定义为对象的属性。它具有很强的抽象机制。BETA还支持嵌套类。
☞ Cecil
这是由 CraigChambers在华盛顿大学创建的一种面向对象编程语言。它与 Objective-C和Modula-3非常相似。
☞ Lava
Lava是一种解释性的可视化面向对象编程语言。
☞ Lisaac
这是基于原型概念的首款编译性面向对象编程语言。它还支持系统编程。
☞ MOO
这是一种基于动态类型原型的编程语言,支持面向对象编程。它支持异常处理机制和循环结构。
☞ Moto
这是开源的服务器端编程语言,拥有状态和会话管理对象以及数据库连接。
☞ Object-Z
这个语言由澳大利亚的Queensland大学开发。它扩展了Z编程语言,为其添加了面向对象的特性。
☞ Obliq
这是一种提供面向对象编程特性的解释性计算机编程语言。它支持无类型变量,被设计用于分布式和多线程计算机。
☞ Oxygene
Oxygene是一种基于ObjectPascal的面向对象编程语言,拥有丰富的功能集。它以前被称为 ‘Chrome’。
☞ Pliant
它基于动态编译器,具有独特的能力来支持低级指令列表,同时也支持高级表达式。
☞ Prograph
它是可视化的面向对象语言,支持多种样式,使用符号来表示数据上的操作。
☞ REBOL
REBOL由 RelativeExpressionBasedObjectLanguage(基于对象的相关表达式语言)的首字母组成。它被设计用于分布式平台和网络通信。
☞ Scala
Scala名称表示它是可扩展(Scalable)的语言。它是一种多范型编程语言,提供了面向对象及函数式编程能力。
☞ Self
这是基于原型的面向对象编程语言。NewtonScript在很大程序上受Self影响,它用于为AppleNewton编写程序。
☞ Slate
这个面向对象编程语言也是基于原型概念的。它有一些特性来自Smalltalk和Self语言。Slate设计出来的目的是为程序员提供一个像操作系统的样的环境。
☞ XOTcl
它是从ToolCommandLanguage[译者注:可能叫Tcl更容易认出来]扩展而来,支持元类、动态类和方法。
☞ IO
这是纯面向对象编程语言,拥有基于原型对象的模型。它体积不大,可以在小型便携式虚拟机上运行
福利
只要您于5月12日24:00前在“开源中国七大夏日必备编程神器,不容错过!”评论区留言,写下你用过最好的开源项目和项目地址,并说明为什么觉得最好,点赞数最多的前十名即可获得开源中国送出的编程神器一份哦!!!
萤火虫沙龙3是萤火虫沙龙的成员之一,期望大家等待!
如果失联,请关注本刊通知,感谢大家!
读取历史文章,通过目录中的文章名,点击阅读
关注我们!
----欢迎关注:萤火虫程序员沙龙
No:29
她说,要有计算机语言,于是有了程序员
通俗讲解,什么是软件架构?
趣图:这个程序猿,居然在前端写业务逻辑
量子哲学:疯了500年的逻辑推理,被只病猫掀锅了
量子力学史上的四次大论战
收藏:最全的计算机编程语言列表
工业互联网详细解读
No:28
脆弱的量子纠缠,如何编织出整个时空?
人工智能之机器学习、人工神经网络、深度学习:入门篇
生物神经网络与人工神经网络
编译器简介:在Siri前时代如何与计算机对话
深度学习新应用:在PyTorch中用单个2D图像创建3D模型
AI哲学|不确定性原理——人工智能的哲学基础
任正非:还过个屁年!
No:27
从零点到奇点|人工智能历史上值得铭记的七个时刻
那迷人的被遗忘的语言:Prolog
AWS李沐:一种开源、端到端的新型人工智能框架编译器——NNVM编译器
Lisp是怎么成为上帝的编程语言的?
Lisp的本质
让人工智能发明自己的语言:OpenAI语言理解研究新方向
计算机体系–编译体系漫游
No:26
人工智能前传:从逻辑到知识的伟大跨越
计算机语言的巨变
一句话概括计算机编程语言
从编程语言进化史,看Java、C、C++等语言的演变
自制编程语言,六个令你迷惑的问题
Python进阶:全面解读高级特性之切片!
Python语法速览与实战清单
自然语言处理前沿进展之自然语言处理近期历史回顾
No:25
孙正义:未来30年的人工智能和物联网
人工智能60年:一文了解AI的过去、现在与未来(深度长文)
数据可视化的各种技巧和原理
可视化Java垃圾回收的原理和实现
可视化CapsNet,详解Hinton等人提出的胶囊概念与原理
一文了解JavaNIO
NIO原理详解
三次数学悖论,引发三次数学危机
No:24
爱因斯坦之后,科学停滞的困境远超我们想象
任正非:人类信息时代最伟大的发明,是这样诞生的
数学|暴力破解还给人美感的证明!
从七桥问题开始:全面介绍图论及其应用
AlphaGo膜拜祖师!影响计算机算法世界的十位大师
大咖|斯坦福教授骆利群:为何人脑比计算机慢1000万倍,却如此高效?
Excel数据可视化的六大工具
数据可视化最有价值的50个图表
No:23
任正非,近期外媒访谈录......
机器人行走的机械原理,一直没懂,这次用动图讲个明白
你知道六轴关节机器人的运动原理和机械结构吗?
【AI系统编程】利用遗传算法,完爆初级程序员
图同构在P/NP问题上重大突破,计算机理论10年最重要成果
论维特根斯坦对哥德尔定理的评析
No:22
人工智能+未来医疗,智能医疗产业链全解读研究报告
超全面的设计模式总结
软件开发全过程,描述得不能再详细了
拍图识病,中国首个皮肤病人工智能辅助诊断系统来了
No:21
软件开发的23种设计模式总结
漫画解读软件开发模式
十一种软件开发模式简介
依存分析:中文依存句法分析简介
中文语义依存分析—通往中文语义理解的一条蹊径
一篇非常详尽的NLP深度学习方法调研|论文精萃|14th
依存句法分析研究综述
No:20
机器学习必知的8大神经网络架构
深度学习如何用于计算机图形学?
神经网络和深度学习简史(全)
深度|深度学习与神经网络全局概览:核心技术的发展历程
流形学习概述
No:19
形势“异常严峻”,紧急开会,传递了重大信号!
“数据可视化”设计的视觉原理
可视化解释压缩算法的工作原理
新的证明揭示了科学知识的基本限制
理解主成分分析(PCA)
深入理解主成分分析PCA原理
全面解读用于文本特征提取的神经网络技术:从神经概率语言模型到GloVe
自然语言处理三大特征抽取器比较
No:18
浅谈人工智能:现状、任务、构架与统一|朱松纯
机器学习——概率图模型(贝叶斯网络)
非常全面的贝叶斯网络介绍,例子与其他
算法、图灵机、哥德尔定理与知识的不确定性
如何利用贝叶斯算法;推算一件事情真实发生的概率
神经网络原理的可视化
克劳斯•迈因策尔:人工智能与机器学习:算法基础和哲学观点
来自世界的珍贵的历史记录:中华民族的抗战
No:17
任正非一口气回答了30个问题(全文实录)
深度|深度学习与统计物理的通用逻辑——重整化系统
贝叶斯思想概述:从贝叶斯定理到贝叶斯网络
从贝叶斯方法谈到贝叶斯网络
谈谈统计物理学的对象和方法
熵的物理意义
趣说信息熵
信息熵、交叉熵和相对熵
No:16
神经网络和深度学习简史(全)
神经网络嵌入详解
神经网络理论基础及Python实现
基于深度神经网络的自动问答系统概述
TensorSpace:超酷炫3D神经网络可视化框架
麻省理工解读神经网络历史,三篇论文剖析基础理论
文章目录
任正非罕见接受美国CNBC采访:华为只是中美贸易磨擦的一粒芝麻!
No:15
三种软件工程师——编码员、程序师和架构师
斯坦福完全可解释深度神经网络:你需要用决策树搞点事
前沿|XNN:打开了自己黑箱的神经网络
神经网络之父Hinton:AI与医疗,是一生的信仰
入门|一文简述循环神经网络
进展|神经网络重正化群
“神经网络”的逆袭:图解80年AI斗争史
凡登伯格|逻辑、人工智能与文化
No:14
教程|从字符级的语言建模开始,了解语言模型与序列建模的基本概念
语言建模的王者:AWD-LSTM指南
资源|从语言建模到隐马尔可夫模型:一文详述计算语言学
UML统一建模语言
【软件工程】UML八大误解
51单片机串口的工作原理及应用实例
PLC通讯MODBUS协议的应用及编程
No:13
从语言学到深度学习NLP,一文概述自然语言处理
软件架构发展历程分享
软件架构设计总结
从SOA到微服务
微服务、SOA和API对比与分析
No:12
NLP基本概念及应用
哲学再思考:言语的力量
陈波:二十世纪西方语言哲学回眸
乔姆斯基|语言哲学【访谈】
你分得清“语言哲学”和“哲学语言学”吗?
NLP应该如何学、如何教?斯坦福大学大牛DanJurafsky教授专访
No:11
DeepMind提议:贝叶斯因果网络和知识图谱,与深度强化学习融合
从自然语言处理到人工智能的两条路径(附64页PPT)
自然语言理解-从规则到深度学习
通过匹配解析树来进行自然语言理解
为《统计自然语言处理》所做的序-冯志伟
词向量及语言模型
KennethChurch谈人工智能和自然语言的历史、发展与未来
浅析自然语言理解之统计语言模型
No:10
医疗-人工智能专辑:AI引爆医疗领域十张图带你了解人工智能医疗前景有多大
人工智能+医疗,国内那些不得不知的公司
人工智能在医疗领域的应用
自兴动脑医疗AI战胜10名专业医生,未来哪些工作最容易被人工智能取代?
2016-2017年度人工智能+医疗市场分析及趋势报告
2017人工智能赋能医疗产业研究报告
大数据时代下的健康医疗行业报告
医疗领域人工智能的应用
No:9
SpringAOP的实现机制
分布式一致性与共识算法
人工智能精神病专家AIShrink
软件架构模式
Java应用架构的演化之路
敏捷项目管理的总结和反思
敏捷文档编制路线图
软件的版本控制
No:8
从语义网到知识图谱——语义技术工程化的回顾与反思
从编译原理看一个解释器的实现
Java核心技术点之动态代理
[算法大全]一文读懂机器学习大数据与自然语言处理
【中文自然语言处理前沿进展】中国中文信息学会发布《中文信息处理发展报告》,颁发中文语言处理各奖项
中文自然语言处理进展
No:7
一文读懂什么是人工智能?
深度学习入门
一文读懂自然语言处理NLP(附学习资料)
自然语言处理深度学习的7个应用
No:6
自然语言处理中的语言学
基于自然语言理解的智能问答系统
自然语言理解-从规则到深度学习
95年大神通过匹配解析树来进行自然语言理解
自然语言理解在金融领域的应用|尹相志
时间序列数据的首选神经网络
No:5
深度学习:原理与应用概述
一个模拟人工神经网络反馈时序运行的程序模块介绍
No:4
大牛的《深度学习》笔记,60分钟带你学会DeepLearning
一组图文,读懂深度学习中的卷积网络到底怎么回事?
从贝叶斯角度,看深度学习的属性和改进方法
机器学习算法集锦:从贝叶斯到深度学习及各自优缺点
贝叶斯机器学习路线图
DeepLearning(深度学习)学习笔记整理系列之(上)
DeepLearning(深度学习)学习笔记整理系列之(下)
No:3
一文读懂:什么是人工智能?
机器学习Lasso算法的前世今生
模糊性知识的语境逻辑分析
资本布局的人工智能其实是人工智障?3分钟看懂啥叫机器学习
No:2
深度学习,从前馈式神经网络起步。。。
怎样写出漂亮整洁的代码?聊聊cleancode的编码、重构技巧
红黑树算法的实现与剖析
细说自动化运维的前世今生
文本分析|词频与余弦相似度
如何制造一台量子计算机
No:1
[软件]一个非常有用的多元函数极值问题求解算法与Java代码
程序员常读错的单词有这些
8年开发经验,网易Java开发工程师的成长感悟
Java代码的编译与反编译
机器学习算法集锦:从贝叶斯到深度学习及各自优缺点
超级干货:华为花3000万引进的BLM模型
“再苦不能苦孩子,再穷不能穷教育”。
事实证明,K12领域隐藏着一个又一个金矿,去年还有些低迷的少儿编程,在教育考试政策的指挥下,短短一年时间已经有了即将爆发的迹象。
在网易卡搭编程协办的“全国青少年创意编程与智能设计大赛”中,今年的投稿作品超过7万件,比去年同期足足增加了15倍;张泉灵等投资者不遗余力地为少儿编程背书,红杉、经纬、软银、华创、真格等均在少儿编程的赛道上狂播种;线下栉次鳞比的培训班,有不少已经开设了少儿编程课……
少儿编程的风口就那么突然的来了。
孩子为什么要学编程?
80后和90后从小就被告诉说:“一定要学好英语!”可能会有几个调皮的孩子反问一句为什么,听到的往往是不知所以然的答案。当80后和90后为人父母的时候,尽管多数人不知道“少儿编程”的价值在哪,想想自己当年没有好好学英语的懊悔,一定不能让孩子输在起跑线上。
小时候没人告诉80后们学英语到底有什么好处,少儿编程却不一样,至少各类线下培训机构已经有足够的理由说服家长们。
比如国家教育政策的引导。2017年7月份,国务院印发了《新一代人工智能发展规划》,提到要在中小学阶段设置人工智能相关课程,逐步推广编程课程,并为一些机器人竞赛加入了应试加分机制。
经历过高考的家长们自然明白其中的奥秘,当有所谓的业内人士发出“不会编程的孩子,就像现在不会英语的孩子一样让人焦虑”的声音时,一些家长恐怕已经迫不及待地交钱给孩子报班。
事实却也如此,浙江省教育厅早在2014年就把信息技术(含编程)正式纳入高考考查科目之一。教育部也在2016年批示有条件的地区要积极探索信息技术在众创空间、跨学科学(STEAM教育)、教育等新的教育模式中应用。培训学校的营销说辞,虽然有添油加醋的成分,倒也没有偏离既定事实。
再比如对家长鸡汤式的教育。埃隆∙马斯克9岁就开始学习编程、马克∙扎克伯格10岁开始学编程,乔布斯和比尔∙盖茨也是十二三岁的年纪就开始接触编程了……学习编程几乎成了孩子变优秀的必要条件。
甚至不乏一些现实题材的案例,比如杭州15岁高三女孩郭文景因为获得了奥林匹克信息竞赛奖项,最终被哈佛本科提前录取;长春三名高中生邹雨恒、吴一凡、王天懿因“电脑玩得好”,被保送北大清华……类似的案例可以说不胜枚举,并广泛见著于各大少儿编程平台推送的微信公众号里。
在孩子的“课外活动”中一直都存在一条鄙视链,乒乓球、羽毛球等大众运动自然要输给钢琴、小提琴等艺术课,马术、高尔夫、击剑等“高雅贵族运动”又凌驾于艺术课之上,凭借脑力优势的“少儿编程”最终轻松站在了鄙视链的顶端,尤其是在教育部明令取消奥数高考加分之后。
少儿编程奇迹般的爆红,恐怕不是家长们想让孩子们当程序员的结果,一些家长已经形成了比较理性的认知,却不等于少儿编程已经从小风口成长成了大风口。
狂奔后的阶段性瓶颈
在网易编程公布的数据中,“全国青少年创意编程与智能设计大赛”有接近四分之三的作品来自四川、江苏、浙江三省。地域上的严重失衡无疑折射了这样一个事实:少儿编程的火热,离不开政策引导和创业者的“鼓吹”,浙苏川三地恰恰是教育指挥棒指明的地方,而大多数家长还没有意识到让孩子学编程的实际价值。
如此,课程体系的不完整是首当其冲的。
参照美国计算机教师协会的计算机教育标准,7岁以上的孩子开始Scratch图形编程,9岁以上开始接触Python代码编程,开发小游戏、爬虫、网页制作等,10岁以上的孩子开始NOIP算法编程,学习C++的基础理论、掌握针对NOIP的算法核心知识。主要采用“图形-代码-算法”的阶段式编程,同时还搭配了一整套的软硬件教学体系,类如游戏、机器人、开源硬件平台等。
国内还没有出现统一的标准体系,大多数机构通过借鉴国外体系,加上自主研发的形式进行课程设计,比如网易卡搭编程采用了美国计算机协会的标准,从零基础的入门到高级别的算法课程;推出了图形模块在线编程的课程,帮助零基础的孩子进行编程入门;以及网易《极客战记》等游戏化的编程教学产品。
但就整个行业来看,现有市场的编程教育还只是Scratch承载的低龄版编程教育,再然后就直接跳转到成人版编程教育,缺少面向青少年的过渡阶段,中间的断层导致平台很难留住已经完成既定课程的学生。
和很多K12教育一样,少儿编程也是从线下市场爆发的,网易卡搭编程、、斑码编程等还只是后来者,最先涌入的是传统教育机构和机器人培训机构,这或许才是少儿编程存在问题的病灶。
家长缺少对课程体系的认知,培训机构也忙着“钻空子”。除了浙江、江苏等少数省份外,编程并没有被纳入中小学教育课程,很多学生是利用寒暑假的机会学习编程。少儿编程市场就出现了预料之中的“淡旺季”,导致编程大神们不屑于进入培训行业,线下机构不得已自己培养老师。
一组公开数据显示,上海学校里的信息技术课程里,80%的教师非科班出身。不少打着“少儿编程”旗号的培训班成了“薛定谔的编程”,看似每天都在培训班里学习,又什么都没有学会。
有人将原因归咎于不合理的商业模式,少儿编程仍在重复着其他“课外活动”的老路,ToB的模式要死磕手中的资源,买单者是学校为主的教育机构,ToC模式又受限于流量和市场教育,主要是卖机器人等编程道具。
资本的态度已经很明显,一边看好少儿编程的未来趋势,一边又偏爱A轮之前的投资,少儿编程在B轮和C轮上的融资案例至今仍较为罕见。毕竟少儿编程才刚刚起步,资本也处于观望状态。
中国市场的中国式玩法
少儿编程该如何走出瓶颈?看到的答案其实有很多。
不过,照搬国外的课程体系是否奏效仍没有定论,国内少儿编程的课程标准何时出台也缺少准确的时间点。对于少儿编程市场的玩家而言,如何让市场从小风口成长为大风口,除了创业者的不断试错和投资者的摇旗呐喊,还需要一些中国式的玩法。
在芥末堆主办的GET2018教育科技大会上,网易卡搭编程负责人曹智清认为少儿编程还处于幼年期,并直言少儿编程的发展离不开政府主导。这是一个看起来不那么商业化的答案,却是个适合中国市场的办法。
少儿编程的小风口,几乎是《新一代人工智能发展规划》一手缔造的,倘若大部分省份将编程加入青少年的必修课,少儿编程的黄金赛道似乎不会有太多质疑。编程教育从非刚需到刚需,改变的不只是家长花钱的态度,还有一整套的教育体制,比方说编程课的普及势必要调整数学课的教学,大学课程中才涉及的“贝叶斯定理”可能要深入浅出的灌输给中学生们。
简而言之,编程在公立学校下沉的速度,左右了少儿编程往前走的快慢。
另一个玩法可能是以比赛促发展,“全国青少年创意编程与智能设计大赛”就是一个例子,前后两年作品提交数量的15倍增速,不难印证家长们对于类似比赛的热情。
较为理想的方案是设计好比赛机制和级别标准,一是增加编程的生命周期,如果钢琴课程没有比赛定级,恐怕不会有今天的疯狂;二是扩大比赛的市场影响力,逐渐向县市级比赛渗透,创造“应试培训”般的行业机会;三是让比赛成绩逐渐影响升学之类的核心痛点,尽管门槛很高,却是最适合中国市场的方式。
当然,一切美好希望的前提是:少儿编程可以跳出粗狂生长的局面,在鸡汤式的洗脑外,让家长感知到编程教育本身的价值,可能是教给学龄期的孩子玩乐高,可能是让孩子编程过的机器人跳舞,也可能是启蒙还在在算法上天赋……好在已经出现了网易卡搭之类的在线平台,也有童程童美等巨头背景的线下培训,以及优必选等借助编程机器人切入市场的跨赛道玩家。
总之,市场很大,机会很多,同时也需要引路人。
收藏:最全的计算机编程语言列表
计算机编程语言可用于将指令传达给计算机。它们基于某些句法和语义规则,定义了编程语言中每种结构的含义。现在我得到了一个凡是可以找得到的每种编程语言的列表。我将它们分为以下几类:
☞解释型编程语言
☞函数式编程语言
☞编译型编程语言
☞过程式编程语言
☞脚本编程语言
☞标记编程语言
☞基于逻辑的编程语言
☞并发编程语言
☞面向对象编程语言
解释型编程语言
解释型语言是这样一种编程语言,其大部分实现直接执行指令,而无需先将程序编译成机器语言指令。解释器直接执行程序,它会将每个语句翻译成已编译成了机器代码的一个或多个子程序的序列。(维基百科)
☞APL
APL以《编程语言(AProgrammingLanguage)》一书命名(Iverson,KennethE.,1962),它是一种数组编程语言。它可以在多个数据阵列上同时工作。它是一种解释型、可交互和函数式的编程语言。
☞ AutoIt
它是自由软件,是一种用于MicrosoftWindows的自动化语言。主要目的是创建可用于在Windows上执行某些重复任务的自动化脚本。
☞ BASIC
于1964年由约翰·乔治·凯米尼(JohnGeorgeKemeny)和托特·尤金·库尔茨(ThomasEugeneKurtz)在达特茅斯(Dartmouth)开发,它是初学者多用符号指令代码(Beginner’s All-purpose Symbolic Instruction Code)的缩写。它的目的是为非科学人士提供一个使用电脑的途径。
☞ Eiffel
它是一种被ISO标准化了的面向对象编程语言,用于开发可扩展和可重复使用的软件。它是一个可面向许多行业的开发平台,如金融,航空航天和视频游戏。
☞ Forth
它是一种结构化的命令式编程语言,其实现基于堆栈。它支持交互式的命令执行以及对命令序列的编译。
☞ Frink
由AlanEliasen开发,以JohnFrink教授命名——他是一位颇受欢迎的虚构人物。它基于Java虚拟机,专注于科学和工程领域。其突出特点是能通过所有的能让数量包含其测量单位的计算,来对测量单位进行跟踪。
☞ GameMaker语言
它是一种解释型的计算机编程语言,旨在与GameMaker配合使用——GameMaker是一种游戏制作应用程序。荷兰计算机科学家马克·奥马斯(MarkOvermars)设计了这种语言。
☞ ICI
ICI是由TimLong于1992年设计的,它是一种通用的解释型计算机编程语言。它支持动态输入,灵活的数据类型以及其它的一些类似于C的语言结构。
☞ J
KenIverson和RogerHui开发了这个只需要使用基础ASCII字符集的编程语言。它是一种数组编程语言,适用于数学和统计操作。
☞ Lisp
Lisp是如今正在被广泛使用的第二古老的高级编程语言。其名称Lisp派生自“列表处理语言(ListProcessingLanguage)”。Lisp支持的重要数据结构之一是链表。Lisp程序会将源代码当做是数据结构。
☞ Lua
计算机图形技术组的成员在1993年开发出了Lua。它被设计成为脚本语言,是一种不可获取的过程式编程语言,以简单而强大而闻名。
☞ M
M是MUMPS的缩写,它是为医疗保健行业而创建的一种编程语言。M语言是由医学信息技术的创始人NeilPappalardo以及他的同事开发出来的。
☞ Pascal
它是一种过程式编程语言,旨在利用上数据结构化和结构化编程的概念。瑞士计算机科学家NiklausWirth设计了这种语言,是以法国数学家和哲学家BlaisePascal来命名的。
☞ PCASTL
它是ParentandChildsetAccessibleSyntaxTreeLanguage(可访问父和子集语法树语言)的缩写,是由PhilippeChoquette开发出来的高级语言,属于解释型的计算机编程语言类型。它是专门为自修改代码而设计的。
☞ Perl
Perl是一种支持动态编程的高级解释型编程语言。它是由LarryWall开发的,而LarryWall则是NASA的系统管理员。它为程序员提供了文本处理的能力,并融合了C、Lisp还有Awk等各种语言的功能特性。
☞ PostScript
它主要在桌面出版领域中使用,被称为页面描述语言。它是一种基于堆栈的动态编程语言,由美国计算机科学家JohnWarnock和计算机科学领域著名人物CharlesGeschke开发。这些开发人员后来一起创立了非常着名的AdobeSystems公司。
☞ Python
它是一种支持强制命令,面向对象和函数式编程样式的高级编程语言。它与Perl在动态类型系统和自动内存管理方面有相似之处。Python最初于1991年由荷兰计算机程序员GuidovanRossum发布,它是一种基于社区的开放性语言,其开发由PythonSoftwareFoundation来进行管理。
☞ REXX
RestructuredExtendedExecutor(重构扩展执行器)的简称,它是由IBM开发的解释型语言。它被设计出来的目的是成为一种易于学习和阅读的语言。NetRexx是IBM提供的基于REXX的面向对象编程实现。ObjectREXX是基于REXX的面向对象脚本语言。
☞ Ruby
在20世纪90年代,日本兴起了要开发这样一种语言的动力。它具有与Perl类似的动态类型系统和自动内存管理功能。它支持多种编程样式,是一种动态的面向对象语言。
☞ S-Lang
S-Lang一开始是作为一种基于堆栈的语言来而开发出来,而现在已经演变为一种类似于C的语言。它是由JohnE.Davis开发出来的。
☞ Spin
Spin是一种多任务且面向对象的编程语言,其编译器会将代码转换为字节码。多个Spin代码线程可以在同时运行,从而实现多任务处理。Spin是由Parallax的ChipGracey开发出来的。
函数式编程语言
函数式编程语言 定义每次的计算作为数学求值。他们把焦点集中在函数的应用。大量的函数编程语言被绑定在数学计算上。
☞ Charity
它是一种纯净的函数式,非图灵完备语言,这意味着所有的程序都可以被保证能终止。Charity是由加拿大的一所公立大学——Calgary大学设计的。
☞ Clean
它是一种纯净的函数式编程语言,拥有跨平台能力,自动垃圾收集机制,多数据结构和引用透明性,这些能力意味着一个函数,只要给它一个输入将总是会有一个输出。
☞ Curry
它是一种函数逻辑编程语言,实现了函数式与逻辑编程,还有约束式编程。在约束式编程方法中,变量之间的关系是以约束的形式表示的。
☞ Erlang
它是一种并发编程语言,包含了一系列支持函数式编程的子集。爱立信将Erlang作为一种分布式软实时与容错语言来进行开发,并于1998年将其作为一种开放源代码的计算机编程语言发布,是最常用的函数式编程语言之一。
☞ F#
它是面向.NETFramework的一种编程语言,同时支持函数式以及命令式的面向对象编程。微软研究院的DonSyme开发了这种语言,他现在正在Microsoft开发部门进行参与开发工作。它被称作FSharp,被集成到.NETFramework和VisualStudio中。
☞ Haskell
Haskell是以HaskellCurry——一个逻辑学家——来命名的,是一中标准化的纯函数式语言。它支持模式匹配,可定义运算符、单个赋值、代数数据类型以及递归函数。
☞ Joy
它是一种基于函数组合的纯函数式语言。澳大利亚LaTrobe大学的ManfredvonThun开发出了这种语言。
☞ Kite
它于2006年推出,带有一个由面向对象和函数式编程功能特性混合组成的功能集合。这是一种可快速运行的语言。有趣的是,Kite使用管道字符来进行函数式调用,而不像使用其他语言那样使用点或者箭头字符。
☞ ML
爱丁堡大学的罗宾·米尔纳(RobinMilner)及其同事在七十年代推出了ML。因为它支持命令式编程,所以并非一种纯粹的函数式语言。标准ML在编译器编写者群体中很受欢迎,是一种模块化的函数式编程语言。Alice是标准ML的方言,支持分布式计算,多线程和约束式编程。Caml是ML的另一种方言,是一种支持自动内存管理的静态类型语言。Ocaml是作为开源项目开发出来的Caml实现。JoCaml是基于连接演算模式的Ocaml版本。
☞ Nemerle
它是专为.NET平台设计的一种静态类型编程语言。Nemerle中的程序会被编译成中间语言字节码。它支持函数式,命令式以及面向对象编程。
☞ OPAL
该名称表示的是OptimizedApplicativeLanguage(优化应用语言),是由柏林技术大学开发出来的函数式编程语言。
☞ OPS5
它是一种基于规则的生产系统计算机语言,已经成为在专业系统中使用的首选语言。
☞ Q
之所以被称为Q,因为它是一种等式(equational)编程语言。它是由德国美因茨大学AlbertGraf设计出来的一种解释型函数式语言。它可以被描述为用于对表达式进行计算的一组方程式。
编译型编程语言
编译型语言是典型的通过编译器(将源代码生成机器码的翻译工具)而不是解释器(一步步执行源码,不会在运行前发生转换)实现的编程语言。(维基百科)
☞ Ada
它是一种基于Pascal的静态类型、结构化、命令式的编程语言。JeanIchbiah带领的CIIHoneywellBull团队开发了Ada。Ada编译器由关键任务系统验证,它是符合国际标准的计算机编程语言。
☞ ALGOL
它的名称就表明了它是一种算法语言。实际上它是在20世纪50年代中期开发出来的一系列命令式编程语言。它被证明可用于创建像BCPL、B和C这样的编程语言。位于Oslo的挪威计算机中心的Ole-JohanDahl和KristenNygaard在它的基础上创造了Simula。
☞ C
贝尔电脑实验室的DennisRitchie开发了C用于Unix平台。它是通用、跨平台、过程化、命令式的编程语言。它用于实现系统软件和应用软件,是当今使用最广泛的计算机编程语言之一。C++和C#都是基于C发展而来。
☞ C++
它由高级语言和低级语言相结合,因此被认为是一个中级编程语言。贝尔实验室的BjarneStoustrup开发了C++,把它作为C语言的扩展。它最初被称为“含有类的C”,直到1983年才被称为C++。它是一种支持过程化编程、泛型编程、面向对象编程和数据抽象的多样化语言。
[译者注:multi-paradigm中的paradigm指形式,常见的编程形式包括:命令式(imperative)、函数式(functional)、申明式(declarative)、面向对象(object-oriented)、过程化(procedural)、逻辑化(logic)、风格化(symbolic)——参考维基百科]
☞ C#
CSharp也是一种多样化语言,支持命令式、泛型和面向对象编程。它是Microsoft.NET框架的一部分。它的面向对象语法与C++相似。它还受到Java和Delphi的影响。
☞ CLEO
它被称为ClearLanguageforExpressingOrders(清楚表达命令的语言),是用于LEO计算机的计算机语言。
☞ COBOL
其名称代表了 CommonBusiness-OrientedLanguage(面向商业的通用语言),被设计用于商业和金融领域。COLBOL2002标准支持面向对象编程。它是一个非常古老的编程语言,但仍然在使用。
☞ Cobra
它是一个运行于.NET框架和Mono框架的面向对象编程语言,由ChunkEsterbrook开发。它的设计受Python和C#的影响。它支持静态和动态类型,适用于单元测试。现在它是一个开源项目。
☞ D
它最初被设计为C++的增强,受Java、Eiffel和C#的影响。它是面向对象、命令式、多样化的系统编程语言,由 DigitalMars的 WalterBright开发。
☞ DASL
它是 DistributedApplicationSpecificationLanguage(分布式应用程序描述语言)的缩写,是由Sun公司开发的一款高级、强类型的编程语言。创建它是为了用来开发Web应用。
☞ DIBOL
DIBOL是DigitalInteractiveBusinessOrientedLanguage(面向商业的数字互动语言)的简写,它是通用过程命令式的编程语言。它和COBOL很像,适用于管理信息系统的开发。
☞ Fortran
这是过程化、命令式的通用计算机编程语言,适用于科学计算和数值运算。自IBM于20世纪50年代开发出来,它迅速走红。它是结构化的编译型编程语言,在高性能计算领域非常流行。它是Fortran95的子集。Fortran的修订版本,Fortran2003支持面向对象编程。
☞ Java
它是通用计算机编程语言,并发,基于类,面向对象并专门针对尽可能少的依赖来进行设计。编译后的Java代码可以不需要再次编译就运行于各种支持Java的平台。是现代非常流行的语言。
☞ JOVIAL
它是类似ALGOL的高阶计算机编程语言。它适用于嵌入式系统的设计和开发。
☞ Objective-C
它是一种反射式面向对象程序编程语言,在C的基础上添加了消息服务。
☞ SMALL
它的名称表示SmallMachineAlgol-likeLanguage(类似Glgol的小型机器语言)。它的代码与ALGOL类似,用于在小型机上编程。
☞ Smalltalk
它是反射式的面向对象编程语言,支持动态类型。 AlanKay、AdeleGoldberg、DanIngalls、ScottWallace、TedKaehler和他们在XeroxPARC的同事开发了Smalltalk。他们为教育用途设计了Smalltalk,之后它就流行起来了。VisualWorks是Samlltalk的优秀实现。Squeak是Smalltalk的一种实现形式。Scratch是基于Squeak的可视化编程语言。
☞ Turing
它于1982年由加拿大多伦多大学的 RicHolt和JamesCordy开发出来。它的名字是为了纪念英国计算机科学家AlanTuring(艾兰·图灵)。它很像Pascal,从2007年开始免费。
☞ VisualBasic
这是一个事件驱动的编程语言,通过集成开发环境打包。它从BASIC继承了很多特性。它的图形化开发特性使初学者学习起来非常容易。
☞ VisualFoxPro
它是面向对象和过程化编程语言,来源于FoxPro。它自身集成了关系型数据库系统,不再需要额外的编程环境。它支持动态编程。
☞ XL
它的诞生是为了支持概念编程,这是一种致力于将程序员脑中的概念转化为代码的编程形式。程序可以重新配置XL的语法和语义
过程式编程语言
过程式(命令式)编程 意味着需指定程序应该达到预期状态的步骤。过程是可以通过过程调用引用的一组语句。过程有助于代码中庸。过程式编程使程序结构化,易于追踪程序流程。
☞ Bliss
它是一种系统编程语言,是在C语言出现之前最知名的语言之一。卡内基梅隆大学的W.A.Wolf、D.B.Russell和A.N. Habermann发明了Bliss。它包括异常处理机制、协程和宏,但并不包括goto语句。
☞ ChucK
它是可以在MacOSX、Linux以及MicrosoftWindows上运行的并发和强音频定时的编程语言。它特别以其为程序员提供在运行程序中做一些修改的能力而著称。
☞ CLIST
它是一种使用命令集合的形式表示的过程式编程语言,这些命令集合需要像批处理文件一样顺序执行。
☞ HyperTalk
它是一种高级编程语言,旨在给程序员的初学者使用。这种计算机语言的程序员被称为作者,编写程序的行为被称为脚本。HyperTalk由DanWinker于1987年设计,结构上类似于Pascal。
☞ Modula-2
它是1978年由NiklausWirth在ETH创立的通用过程式语言。它与Pascal类似,具有系统编程和多重编程功能。
☞ Oberon
NiklausWirth、Pascal和Modula背后的人,在1986年提出了Oberon,它被设计为Oberon操作系统的一部分。它类似于Modula-2,但比它小得多。
☞ ComponentPascal
这是一种看上去似乎与Pascal相关的编程语言,但实际上与它不兼容。它实际上是Oberon-2的一个变种。Lagoona是一种实验性编程语言,支持面向组件的编程、将系统分解为逻辑或功能组件的范式。NiklausWirth的学生MichaelFranz发明了Lagoona。Seneca,以Oberon-2著称,是Oberon编程语言的扩展。
☞ MATLAB
它是一种数值计算环境和一种能够进行矩阵计算、功能绘图和算法实现的编程语言。它也可以用于创建用户界面。MathWorks创建了MATLAB。
☞ Occam
这是由DavidMay和他的同事们在INMOS发明的一项命令式程序性语言。它类似于Pascal。Occam-pi是Occam的一种变体,已经扩展到包括嵌套协议、递归、协议继承、数组构造函数和运行时进程创建。
☞ PL/C
它被发明之后用于教授编程知识。它是在20世纪70年代在康奈尔大学创建的。
☞ PL/I
它是针对科研和工程应用的必需的计算机编程语言。主要用于执行数据处理,它还支持结构化编程和递归。
☞ Rapira
它是一种在苏联学校教授计算机程序设计的过程式编程语言。苏联开发的这种语言最初是基于俄语的关键词。随后才加入的英文关键词。
☞ RPG
此编程语言用于业务应用程序中。它可以与IBM的SystemI中间件计算机一起使用。
脚本语言
脚本语言是用来控制应用程序的编程语言。脚本可以独立于其它任何应用程序执行。它们多数时候嵌入在应用程序中,用于控制或用于执行频繁执行的自动任务,比如与外部程序通信的任务。
☞ AppleScript
它是MacOS内建的脚本语言。
☞ Awk
Awk于上世纪70年代诞生于贝尔实验室。它使用字符串数据类型、数组和正则表达式来处理数据流和文件中基于文本的数据。
☞ BeanShell
它是Java脚本语言,其语法与Java相似,是在Java运行环境中运行的脚本命令和语法。
☞ ColdFusion
它是应用服务器和软件开发框架,带有一个被称为ColdFusionMarkupLanguage(ColdFusion 标记语言)的脚本语言。它被称为CFML,其语法与HTML类似。
☞ F-Script
它是一种面向对象的脚本语言,与Smalltalk非常接近,但增加了数组编程的特性。
☞ JASS
它是一个事件驱动的脚本语言,为程序提供了广泛的API。
☞ MayaEmbedded Language
它是Maya软件中处理任务的脚本语言,缩写为MEL。它的语法类似Perl。
☞ Mondrian
这个脚本语言为Internet应用而生,它可以看作是Haskell和Java的结合。
☞ PHP
PHP是一种普遍使用的脚本语言。它用于创建动态网页,同时也支持命令行接口。
☞ Revolution
它是基于HyperTalk的快速应用程序开发语言。它跨平台,支持动态类型。
☞ Tcl
它被认为是一种容易学习的脚本语言。它用于嵌入式系统的快速原型开发。
☞ VBScript
它是微软开发的VisualBasic的变体,非常活跃。VBScript在微软Windows桌面系统中都作为默认组件存在。
☞ WindowsPowerShell
它是微软的命令行shell和脚本语言。它于2006年发布,可用于WindowsXP、WindowsVista以及WindowsServer2003和WindowsServer2008[译者注:还有更新一些的Windows版本]。它与Microsoft.NET框架合作,包括可执行程序、独立应用中的窗体、常规的.NET类等。Cmdlet是特定的.NET类和脚本,或者由一些 Cmdlet通过必要逻辑组合起来。
标记编程语言
标记编程语言 (MarkupLanguages)是一种人造语言,它使用文本注释来定义这些文本的显示方式。
☞ Curl
它是一种反射式的面向对象的编程语言。它是一种类似于HTML的标记语言。Curl是支持多重继承的面向对象编程语言。
☞ SGML
标准化通用标记语言(SGML)是来自IBM的通用标记语言。它是可以为文档定义标记语言的ISO标准元语言。它的目的是共享必须长期保留下来的大型项目机读文件。
☞ HTML
超文本标记语言(缩写为HTML)是用于网页的最著名的标记语言。它是用HTML标签的形式写成的,它们被尖括号所包围。HTML标签描述了文档中的文本外观,并且可以嵌入到某些其他代码中以影响Web浏览器的行为。HTML使用SGML的默认语法。

这个名字代表可扩展标记语言(ExtensibleMarkupLanguage)。它是可扩展的,因为它允许用户自定义XML元素。它支持通过互联网共享结构化数据以及数据的编码和序列化。它起源于SGML的一个子集。XPath是用于从XML文档中选择节点的XML路径语言。它支持值计算。XQuery用于查询XML数据的集合。可扩展样式表语言转换(XSLT)是一种基于XML的语言,用于将XML文档转换为人类可读的格式。ApacheAnt是软件构建过程中的自动化工具。它使用XML来描述构建过程。
☞ XHTML
它是一种与HTML类似的标记语言,遵循XML语法。它是HTML和XML之间的过渡。XHTML文档允许自动处理数据。
基于逻辑的编程语言
逻辑编程是一种基于形式逻辑的编程范例。用逻辑编程语言编写的程序都是逻辑形式的一组句子,表达关于某些问题域的事实和规则。(维基百科)
☞ ALF
代数逻辑函数式(AlgebraicLogicFunctional)编程语言是一种多范式的编程语言,它是功能编程和逻辑编程的组合。ALF程序语句会被编译成一种抽象机指令。用C编写的仿真器可以执行抽象机的程序。
☞ Fril
Fril语言是由TrevorMartin和JimBaldwin于20世纪80年代在布里斯托大学的时候设计的。它主要面向一阶谓词演算,支持模糊集和元编程,基于Prolog的语法。
☞ Janus
Janus支持并发和约束式编程。
☞ Leda
这种计算机编程语言是基于逻辑的,函数式,命令式和面向对象编程的混合体。因此,它是一种多范式语言。
☞ Oz
它是一种多范式语言,支持函数式,基于逻辑的,命令式和面向对象编程。Oz还支持并发和分布式编程。支持约束式编程是Oz语言的优点之一。
☞ Poplog
它是一个强大的多范式软件开发环境,其核心语言是POP-11。该开发环境的所有语言共享一个共同的语言编辑器,并且是增量编译的编程语言。
☞ Prolog
它是一种支持逻辑编程的通用编程语言,通常可以连系到人工智能和计算语言学。语言是声明式的,程序逻辑则以关系的形式来表达。Mercury是基于Prolog的函数式逻辑编程语言。StrawberryProlog是Prolog的一种方言,被设计得易于使用。VisualProlog是支持面向对象编程的Prolog强类型扩展。它是一种基于逻辑的编译型编程语言。
☞ ROOP
它是一种基于C++的多范式语言,推出目的是在与人工智能系统一起使用。其功能融合了函数式、逻辑和面向对象编程。
并发编程语言
发编程 是一种计算机编程技术,可以让操作并行执行——在单计算机或者跨越多台计算机上都可以实现,而在后一种情况下,使用术语分布式计算。(维基百科)
☞ ABCL
它是基于Actor的并行语言(Actor-BasedConcurrentLanguage)的一个语言系列,是在日本于1980年代和90年代开发出来的。ABCL/1、ABCL/R以及ABCL/R2就是ABCL系列的一些成员。
☞ Afnix
它是一种多线程函数式编程语言。它的解释器是用C++编写的。其运行时引擎支持32位和64位平台。
☞ Cilk
Cilk是麻省理工学院实验室在1994年创建出来的,支持多线程并行编程。
☞ ConcurrentPascal
美国丹麦裔计算机科学家PerBrinchHansen创建了ConcurrentPascal,用来编写操作系统和为实时系统编程。
☞ E
它是一种支持分布式编程的面向对象编程语言。E是在1997年由马克·米勒,丹·博恩斯坦与他们在电气社区的同事们一起开发出来的,其语法类似于Java。
☞ Joule
Joule出现在E编程语言之前,是一种并发数据流编程语言,可用于开发分布式应用程序。
☞ Limbo
在贝尔实验室开发出来的Limbo可用于为分布式系统编写程序。它的显着特点就是其编译器能够生成独立于体系结构的目标代码。Limbo被用来开发在Inferno操作系统上运行的应用程序。最初作为Plan9操作系统一部分的Alex就是Limbo的前身。
☞ Pict
它是一种静态类型的编程语言,现在还处在实验阶段。
☞ SALSA
SimpleActorLanguageSystemandArchitecture(简单Actor语言系统和架构)的简称,SALSA支持并行编程,消息传递和分布式计算。为了具备可移植性,它使用了Java代码。
☞ SR
其名称SR是SynchronizingResources(同步资源)的首字母缩略词,是一种并行编程语言。
面向对象编程语言
面向对象编程 ( OOP)是基于“对象”思想的编程规范,它包含数据,一般称为属性,表现为字段(field)的形式;还包含代码,一般称为方法,表现为程序的形式。在OOP中,计算机程序是根据对象与对象之间的交互来设计的。(Wikipedia)
☞ Agora
这是一种基于原型的面向对象编程语言,具有消息传递机制。
☞ BETA
它是一种面向对象的编程语言,其类和过程围绕相同的概念,而且类被定义为对象的属性。它具有很强的抽象机制。BETA还支持嵌套类。
☞ Cecil
这是由 CraigChambers在华盛顿大学创建的一种面向对象编程语言。它与 Objective-C和Modula-3非常相似。
☞ Lava
Lava是一种解释性的可视化面向对象编程语言。
☞ Lisaac
这是基于原型概念的首款编译性面向对象编程语言。它还支持系统编程。
☞ MOO
这是一种基于动态类型原型的编程语言,支持面向对象编程。它支持异常处理机制和循环结构。
☞ Moto
这是开源的服务器端编程语言,拥有状态和会话管理对象以及数据库连接。
☞ Object-Z
这个语言由澳大利亚的Queensland大学开发。它扩展了Z编程语言,为其添加了面向对象的特性。
☞ Obliq
这是一种提供面向对象编程特性的解释性计算机编程语言。它支持无类型变量,被设计用于分布式和多线程计算机。
☞ Oxygene
Oxygene是一种基于ObjectPascal的面向对象编程语言,拥有丰富的功能集。它以前被称为 ‘Chrome’。
☞ Pliant
它基于动态编译器,具有独特的能力来支持低级指令列表,同时也支持高级表达式。
☞ Prograph
它是可视化的面向对象语言,支持多种样式,使用符号来表示数据上的操作。
☞ REBOL
REBOL由 RelativeExpressionBasedObjectLanguage(基于对象的相关表达式语言)的首字母组成。它被设计用于分布式平台和网络通信。
☞ Scala
Scala名称表示它是可扩展(Scalable)的语言。它是一种多范型编程语言,提供了面向对象及函数式编程能力。
☞ Self
这是基于原型的面向对象编程语言。NewtonScript在很大程序上受Self影响,它用于为AppleNewton编写程序。
☞ Slate
这个面向对象编程语言也是基于原型概念的。它有一些特性来自Smalltalk和Self语言。Slate设计出来的目的是为程序员提供一个像操作系统的样的环境。
☞ XOTcl
它是从ToolCommandLanguage[译者注:可能叫Tcl更容易认出来]扩展而来,支持元类、动态类和方法。
☞ IO
这是纯面向对象编程语言,拥有基于原型对象的模型。它体积不大,可以在小型便携式虚拟机上运行
福利
只要您于5月12日24:00前在“开源中国七大夏日必备编程神器,不容错过!”评论区留言,写下你用过最好的开源项目和项目地址,并说明为什么觉得最好,点赞数最多的前十名即可获得开源中国送出的编程神器一份哦!!!
萤火虫沙龙3是萤火虫沙龙的成员之一,期望大家等待!
如果失联,请关注本刊通知,感谢大家!
读取历史文章,通过目录中的文章名,点击阅读
关注我们!
----欢迎关注:萤火虫程序员沙龙
No:29
她说,要有计算机语言,于是有了程序员
通俗讲解,什么是软件架构?
趣图:这个程序猿,居然在前端写业务逻辑
量子哲学:疯了500年的逻辑推理,被只病猫掀锅了
量子力学史上的四次大论战
收藏:最全的计算机编程语言列表
工业互联网详细解读
No:28
脆弱的量子纠缠,如何编织出整个时空?
人工智能之机器学习、人工神经网络、深度学习:入门篇
生物神经网络与人工神经网络
编译器简介:在Siri前时代如何与计算机对话
深度学习新应用:在PyTorch中用单个2D图像创建3D模型
AI哲学|不确定性原理——人工智能的哲学基础
任正非:还过个屁年!
No:27
从零点到奇点|人工智能历史上值得铭记的七个时刻
那迷人的被遗忘的语言:Prolog
AWS李沐:一种开源、端到端的新型人工智能框架编译器——NNVM编译器
Lisp是怎么成为上帝的编程语言的?
Lisp的本质
让人工智能发明自己的语言:OpenAI语言理解研究新方向
计算机体系–编译体系漫游
No:26
人工智能前传:从逻辑到知识的伟大跨越
计算机语言的巨变
一句话概括计算机编程语言
从编程语言进化史,看Java、C、C++等语言的演变
自制编程语言,六个令你迷惑的问题
Python进阶:全面解读高级特性之切片!
Python语法速览与实战清单
自然语言处理前沿进展之自然语言处理近期历史回顾
No:25
孙正义:未来30年的人工智能和物联网
人工智能60年:一文了解AI的过去、现在与未来(深度长文)
数据可视化的各种技巧和原理
可视化Java垃圾回收的原理和实现
可视化CapsNet,详解Hinton等人提出的胶囊概念与原理
一文了解JavaNIO
NIO原理详解
三次数学悖论,引发三次数学危机
No:24
爱因斯坦之后,科学停滞的困境远超我们想象
任正非:人类信息时代最伟大的发明,是这样诞生的
数学|暴力破解还给人美感的证明!
从七桥问题开始:全面介绍图论及其应用
AlphaGo膜拜祖师!影响计算机算法世界的十位大师
大咖|斯坦福教授骆利群:为何人脑比计算机慢1000万倍,却如此高效?
Excel数据可视化的六大工具
数据可视化最有价值的50个图表
No:23
任正非,近期外媒访谈录......
机器人行走的机械原理,一直没懂,这次用动图讲个明白
你知道六轴关节机器人的运动原理和机械结构吗?
【AI系统编程】利用遗传算法,完爆初级程序员
图同构在P/NP问题上重大突破,计算机理论10年最重要成果
论维特根斯坦对哥德尔定理的评析
No:22
人工智能+未来医疗,智能医疗产业链全解读研究报告
超全面的设计模式总结
软件开发全过程,描述得不能再详细了
拍图识病,中国首个皮肤病人工智能辅助诊断系统来了
No:21
软件开发的23种设计模式总结
漫画解读软件开发模式
十一种软件开发模式简介
依存分析:中文依存句法分析简介
中文语义依存分析—通往中文语义理解的一条蹊径
一篇非常详尽的NLP深度学习方法调研|论文精萃|14th
依存句法分析研究综述
No:20
机器学习必知的8大神经网络架构
深度学习如何用于计算机图形学?
神经网络和深度学习简史(全)
深度|深度学习与神经网络全局概览:核心技术的发展历程
流形学习概述
No:19
形势“异常严峻”,紧急开会,传递了重大信号!
“数据可视化”设计的视觉原理
可视化解释压缩算法的工作原理
新的证明揭示了科学知识的基本限制
理解主成分分析(PCA)
深入理解主成分分析PCA原理
全面解读用于文本特征提取的神经网络技术:从神经概率语言模型到GloVe
自然语言处理三大特征抽取器比较
No:18
浅谈人工智能:现状、任务、构架与统一|朱松纯
机器学习——概率图模型(贝叶斯网络)
非常全面的贝叶斯网络介绍,例子与其他
算法、图灵机、哥德尔定理与知识的不确定性
如何利用贝叶斯算法;推算一件事情真实发生的概率
神经网络原理的可视化
克劳斯•迈因策尔:人工智能与机器学习:算法基础和哲学观点
来自世界的珍贵的历史记录:中华民族的抗战
No:17
任正非一口气回答了30个问题(全文实录)
深度|深度学习与统计物理的通用逻辑——重整化系统
贝叶斯思想概述:从贝叶斯定理到贝叶斯网络
从贝叶斯方法谈到贝叶斯网络
谈谈统计物理学的对象和方法
熵的物理意义
趣说信息熵
信息熵、交叉熵和相对熵
No:16
神经网络和深度学习简史(全)
神经网络嵌入详解
神经网络理论基础及Python实现
基于深度神经网络的自动问答系统概述
TensorSpace:超酷炫3D神经网络可视化框架
麻省理工解读神经网络历史,三篇论文剖析基础理论
文章目录
任正非罕见接受美国CNBC采访:华为只是中美贸易磨擦的一粒芝麻!
No:15
三种软件工程师——编码员、程序师和架构师
斯坦福完全可解释深度神经网络:你需要用决策树搞点事
前沿|XNN:打开了自己黑箱的神经网络
神经网络之父Hinton:AI与医疗,是一生的信仰
入门|一文简述循环神经网络
进展|神经网络重正化群
“神经网络”的逆袭:图解80年AI斗争史
凡登伯格|逻辑、人工智能与文化
No:14
教程|从字符级的语言建模开始,了解语言模型与序列建模的基本概念
语言建模的王者:AWD-LSTM指南
资源|从语言建模到隐马尔可夫模型:一文详述计算语言学
UML统一建模语言
【软件工程】UML八大误解
51单片机串口的工作原理及应用实例
PLC通讯MODBUS协议的应用及编程
No:13
从语言学到深度学习NLP,一文概述自然语言处理
软件架构发展历程分享
软件架构设计总结
从SOA到微服务
微服务、SOA和API对比与分析
No:12
NLP基本概念及应用
哲学再思考:言语的力量
陈波:二十世纪西方语言哲学回眸
乔姆斯基|语言哲学【访谈】
你分得清“语言哲学”和“哲学语言学”吗?
NLP应该如何学、如何教?斯坦福大学大牛DanJurafsky教授专访
No:11
DeepMind提议:贝叶斯因果网络和知识图谱,与深度强化学习融合
从自然语言处理到人工智能的两条路径(附64页PPT)
自然语言理解-从规则到深度学习
通过匹配解析树来进行自然语言理解
为《统计自然语言处理》所做的序-冯志伟
词向量及语言模型
KennethChurch谈人工智能和自然语言的历史、发展与未来
浅析自然语言理解之统计语言模型
No:10
医疗-人工智能专辑:AI引爆医疗领域十张图带你了解人工智能医疗前景有多大
人工智能+医疗,国内那些不得不知的公司
人工智能在医疗领域的应用
自兴动脑医疗AI战胜10名专业医生,未来哪些工作最容易被人工智能取代?
2016-2017年度人工智能+医疗市场分析及趋势报告
2017人工智能赋能医疗产业研究报告
大数据时代下的健康医疗行业报告
医疗领域人工智能的应用
No:9
SpringAOP的实现机制
分布式一致性与共识算法
人工智能精神病专家AIShrink
软件架构模式
Java应用架构的演化之路
敏捷项目管理的总结和反思
敏捷文档编制路线图
软件的版本控制
No:8
从语义网到知识图谱——语义技术工程化的回顾与反思
从编译原理看一个解释器的实现
Java核心技术点之动态代理
[算法大全]一文读懂机器学习大数据与自然语言处理
【中文自然语言处理前沿进展】中国中文信息学会发布《中文信息处理发展报告》,颁发中文语言处理各奖项
中文自然语言处理进展
No:7
一文读懂什么是人工智能?
深度学习入门
一文读懂自然语言处理NLP(附学习资料)
自然语言处理深度学习的7个应用
No:6
自然语言处理中的语言学
基于自然语言理解的智能问答系统
自然语言理解-从规则到深度学习
95年大神通过匹配解析树来进行自然语言理解
自然语言理解在金融领域的应用|尹相志
时间序列数据的首选神经网络
No:5
深度学习:原理与应用概述
一个模拟人工神经网络反馈时序运行的程序模块介绍
No:4
大牛的《深度学习》笔记,60分钟带你学会DeepLearning
一组图文,读懂深度学习中的卷积网络到底怎么回事?
从贝叶斯角度,看深度学习的属性和改进方法
机器学习算法集锦:从贝叶斯到深度学习及各自优缺点
贝叶斯机器学习路线图
DeepLearning(深度学习)学习笔记整理系列之(上)
DeepLearning(深度学习)学习笔记整理系列之(下)
No:3
一文读懂:什么是人工智能?
机器学习Lasso算法的前世今生
模糊性知识的语境逻辑分析
资本布局的人工智能其实是人工智障?3分钟看懂啥叫机器学习
No:2
深度学习,从前馈式神经网络起步。。。
怎样写出漂亮整洁的代码?聊聊cleancode的编码、重构技巧
红黑树算法的实现与剖析
细说自动化运维的前世今生
文本分析|词频与余弦相似度
如何制造一台量子计算机
No:1
[软件]一个非常有用的多元函数极值问题求解算法与Java代码
程序员常读错的单词有这些
8年开发经验,网易Java开发工程师的成长感悟
Java代码的编译与反编译
机器学习算法集锦:从贝叶斯到深度学习及各自优缺点
超级干货:华为花3000万引进的BLM模型
责任编辑:少儿编程