好的STEM编程语言有哪些?

STEM是科学(Science),技术(Technology),工程(Engineering),数学(Mathematics)四门学科英文首字母的缩写,STEM教育简单来说就是在通过在解决真实的工程问题中学习和掌握相关能力。在高度信息化的AI时代,编程语言更是成了STEM教育中最为核心的一环,那么目前最好的STEM编程语言有哪些呢?

作为一个有着20多年编程经验的老码农,也因为要给家里小朋友编程启蒙开始关注这个话题。我觉得好的STEM编程语言需要满足几个基本条件:首先是简单有趣让小朋友可以快速上手玩起来;其次是在语言启蒙后可以用于解决复杂问题;第三是要有本土友好的社区和支持。当然如果觉得自己有能力解决其中问题的家长可以根据自己的理解选择。我们先看看有哪些面相小朋友的语言。

1. 谷歌:Blockly积木编程

Blockly是谷歌赞助研究的基于可视化积木的编程基础组件,正是它打开了近10多年儿童编程单热潮。目前市面上全部分的积木编程启蒙语言都是基于谷歌的Blockly构建,比如大家熟知的Scratch就是拿Blocky再来组装为产品售卖。

https://developers.google.cn/blockly

7bc8bd81cdc06a3f2c8c14a2bf3b57c0.jpeg

Blockly的研究确实是开启了可视化编程领域的新探索。但作为STEM编程语言也有其限制,可视化编程在描述复杂问题时面临调整,或者说拿Blockly语言来解决复杂的问题理论上可行但实际操作太难。最终的结果就是启蒙后就要抛弃Blockly的知识了。

2. 微软:MakeCode

Microsoft MakeCode 是一个免费开源平台,旨在打造有吸引力的计算机科学学习体验,为实际编程奠定基础。作为平台,MakeCode提供了将编程语言和真实的电子积木结合的能力。比如通过程序控制虚拟开发板的LED灯:

51650b798d2f81c397fe2c28c7c545e4.png

作为平台MakeCode提供了Blockly、静态TypeScript、静态Python等多种编程语言(https://makecode.com/language)。但有时候选择太多并非是好事情,特别是这些语言可能让家长更难选择。

3. 苹果:Swift Playground

苹果公司从2012年发布了自己的Swift编程语言,目前iPhone和iPad上新的App大部分是Swift开发,因此这其实是一个绝对的工业级语言。后来苹果公司针对iPad出品了Swift playground应用,用于辅助青少年、儿童编程启蒙,同时也可以开发真实的App。

5ab6c3056b42674da13ddd935fc3e5c3.png

从这里可以看出,Swift playground不仅仅是针对儿童,还包括了青少年甚至是成人。Swift playground是一个非常出色的启蒙编程应用,但是目前甚至未来它只能支持苹果的平台。作为全场景的工业语言,Swift语言有一定的复杂度,如果有一定的编程基础可以体验下。

4. 社区:Processing & JavaScript & Arduino

Processing主要是一种面相创意编程的理念,最初是以Python语言给出示例。但是最流行的其实是 JavaScript 和 Arduino 这些不语言和平台的实现。其中JavaScript的实现是p5.js,提供了在浏览器画画的编程体验。

8bc77f742d846ace1a46da03eeb31796.jpeg

p5js是面相设计背景的爱好者,主要是在画布上交互式画画和创作。而Arduino则是针对电子积木的版本:

de3843a468e6a5021e13ae532a6323c3.png

通过类似的编程结构,通过程序控制LED闪烁或LCD显示字母。总体而言,Processing理念结合不同语言的思路是可以借鉴吃。特别是p5js是一个非常优秀的作品,其背后的javascript目前是前端理由最流行语言,特别适合于启蒙。

5. 社区:Processing & 凹语言

凹语言(凹读音wa第一声,主页 https://wa-lang.org/ )是国内爱好者设计的面相WebAssembly设计的通用编程语言。据说凹语言发起人也是因为自己面临STEM编程教育的问题,所以语言设计时就考虑了内置对儿童编程的支持。凹语言目前提供了p5js风格但更为静态化的友好界面。

9a63e16c344165c0506888e208edb224.png

虽然是新的编程语言,但是凹语言的表达力也很强。开发团队提供了一个FC红白机模拟器实现:

19a887b111201bfb6cca43ce916ed427.png

凹语言是一个非常有潜力的STEM语言。

6. 总结

STEM只是一种理念,适合的编程语言不止一个。其中背靠JavaScript的p5js、向苹果生态的Swift Playground、和国产的凹语言都是非常不错的候选。也欢迎大家提供更多的参考。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值