㈠ micropython之十万个为什么
有鉴于EEWorld坛主的热情,许诺发个PCBA给我评估。作为回报,我把我的学习体验贴在坛子了。
因为EE的背景,我最熟悉的是8051汇编和C。不过最近在Arino/mbed上大量用了C++开发。使用Python是从辅助开发工具时开始的,Python可以从物联网各个环节切入,Python可以用于
FPGA/CPLD,嵌入式软件,桌面程序,服务器(Web/IoT Server+BigData)和手机APP开发中。此外,我还为FSL的KL25Z用Python做了自动测试,服务器,ISP下载等。
所以.......
如果你是工程师,你要学Python;
如果你是很懒的工程师,你更要学Python;
如果你是喜欢DIY的工程师,你更加要学Python。
如果你是喜欢炒股票的工程师,你不学Python就亏了。
适用范围广度可以与Python一拼的语言是Java和Javascript。(关于编程语言的争论我不回复。)
为什么要用Python
我记得一位高人对我说,要别人的钱,别人的脑子,办你的事情。Python可以帮你一把。Python自带很多很多......的库,所以在物联网背景下,可以做很多事情。
而且作为胶水语言,Python有多个版本。基于C的CPython和Cython,基于JVM的Jython,基于Python子集和JIT的PyPy,基于.net的IronPython,基于Javascript的Pyjs/Brython,还有被Ruby吸血的RubyPython。所以Python和C/Java/.net-C#/JS/Ruby之间可以很好地互相勾搭。也就是因为这点,Python可以获取大量的Java企业应用库......
此外,无论你把Python作为脚本,还是OOP试验田,还是AOP编程,都可以。作为程序员可以同一工具下完成编程思想的升级改造。
嵌入式版本
Python适用面广,语法简单。用于嵌入式是迟早的事情。无论是ARM Cortex-M0/3/4,还是Cortex-A5/7/8/9,MIPS,x86,Quark都不在话下。micropython是目前最流行的嵌入式Python VM和开发环境。官方分支有:STM32HAL/ESP8266/CC3000/UNIX版本,还有细小分支如Teensy(FSL KL),PIC16,而第三方分支有microbit和WiPy/LoPy。前者是micropython为BBC microbit开发,而后者是基于CC3000和ESP32(Wifi+BLE双模)和LoRa长距离WSN而开发的版本。
其他嵌入式Python还有Pymite和Viper。以及大家交叉编译的CPython,OpenEmbedded版本,OpenWRT版本,以及Debian/Ubuntu的ARM/MIPS版本,Lego ev3-dev版本.......Symbian版本,Telit GPRS MODEM版本......
所以.......
Python大法好,赶紧到碗里来。
为什么在嵌入式中使用Python
因为二次开发是现在开发的核心价值。现在的“智能”硬件真的一点儿都不智能,只能够说是互联产品,它本身不智能,智能在云端了。但是用户应用应该具备二次开发和环境,这以后会是一个标配。所以光有C/C++这种贴近硬件的语言是不够的,针对应用应该有自己的运行时:Java,Python,Javascript。
micropython的野望
有没有注意到micropython有个UNIX版本?而UNIX版本中还有组件管理工具:upip?这就是构建micropython生态的节奏。那么他要和CPython竞争么?我觉得还不是。但是在ARM9等只有busybox的SBC里面,它的优势很明显。大家可以不用自己恶搞CPython了。因为micropython天生就是交叉编译的。
micropython的限制
由于在裸机上,micropython在设计中不仅需要了解C/Python间区别,还需要了解标准Python和microPython间区别。否则,micropython有个天生的麻烦,不支持JTAG/SWD调试。你们懂得,在于实时有关的环境中,有时候没有调试让人抓狂。所以ISR方面需要额外处理。
㈡ 北京的一位程序员自制700集免费教程获奖,他获得的奖项含金量如何
他获得的奖项含金量其实是非常高的,因为他不仅仅涉及的是编程行业,而且在教学领域也获得了一定的成就。
相关机构为他颁布这个奖项也是体现了他是一个非常有能力有才华的人。在这个时候,我们也是对他表示由衷的敬佩和赞叹。如果说我们能够和他一样,在某个领域得到了非常大的成就之后再把自己所学的知识编成课程分享给有需要的人,那么我们肯定也会在这些领域变成赫赫有名的人物,与此同时也能够给我们带来更大的提升。
㈢ 免费学习编程的软件
免费学习编程的软件如下:
1、《编程狮》。这款软件有着多达十多年的编程教学经验,除了大量的编程课程以外,还为0基础编程的同学专门准备了入门课程,教学的话采用半学习半实战的方式,用户学习效率也很不错。