分类 编程语言 下的文章

MicroPython与CircuitPython


Python 是增长最快的编程语言,从 DevOps 到统计分析,甚至桌面软件,它无处不在,但在微控制器开发领域明显缺少 Python 的使用。MicroPython/CircuitPython 比竞争语言更容易为初学者所接受,同时对于工业用例来说仍然足够强大。您可以从学习基础知识到从事实际工作,而且速度很快。

MicroPyhton-vs-CircuitPython-800x445.jpg

传统上,对机器人、微控制器、电子设备和其他硬件进行编程必须使用汇编程序或 C++ 等低级语言,并牺牲很多功能。随着MicroPython/CircuitPython的推出,这一切都发生了变化。将其对比其他语言,C++ 快速、紧凑且随处可用,但MicroPython/CircuitPython 在易用性和便利性方面胜过 C++;在确实需要最低级别的原始性能时,您可能仍旧需要汇编语言(Assembly)。最后,您还可以将 C++ 代码和汇编程序添加到 MicroPython 项目中。


从 MicroBlocks 开始硬件编程


硬件编程(物理计算,Physical Computing)是把控制器对数据处理器的控制过程可以写成硬件程序,从而控制硬件(如STEM领域常见的Micro:bit、Arduino等)的输出装置(如常见的指示灯、喇叭、马达等)完成相应的操作。在Maker领域,对现实世界的硬件进行编程,进而制作各种有趣的小发明,相比更加抽象的软件编程,直观而有趣的过程吸引了许多人的参与。

e937fb83-9b1c-469c-8101-0b8d1d2e9f34.png

受 Scratch 在帮助新手入门编程方面取得了巨大成功的鼓舞,人们想把 Scratch 的成功经验移植到硬件编程领域,许多公司(如Google、微软和乐高等)和高校(如CMU、MIT、UC Berkeley等)正努力使用图形积木来控制硬件。Scratch 联合创始人兼首席架构师 John Maloney 也创办了 MicroBlocks。


程序可视化工具Python Tutor


2010年,作为一名研究生,加州大学圣地亚哥分校(UC San Diego)的Philip Guo创建了Python Tutor。现在,Guo是加州大学圣地亚哥分校的认知科学副教授,研究涵盖人机交互、数据科学、编程工具和在线学习。

20210927142342.png

Python Tutor是一个在线可视化代码执行过程的工具,帮助人们克服学习编程的一个基本障碍:了解计算机运行每一行代码时发生了什么。支持的语言有Python、Java、C、C++、Ruby、JavaScript 和 TypeScript,已成为教育领域最广泛使用的程序可视化工具。