版主
  
- 积分
- 679
- 金钱
- 679
- 注册时间
- 2013-9-23
- 在线时间
- 95 小时
|
作为一款面向单片机的面向对象语言,UOL在设计上重新设计了一些面向对象的特性。例如在继承方面,UOL语言抛弃了传统的继承模式,改为模块的添加模式。模块的作用类似于Java中interface与类的结合体,由于模块本身不能添加其他模块,所以继承的层数最终限制在了一层。如果继承层数过多,代码的效率会因为在初始化父辈对象的时候而降低。
关于垃圾回收机制,虽然目前虚拟机本身没有实现垃圾回收,然而编译器在设计之初已经完成对垃圾回收的前期工作。编译会为每个对象和方法生成一个32位的垃圾回收对象信息数据,方便在设计垃圾回收系统时寻找要收集对象的位置。
关于语言的安全问题,UOL语言沿用了try-catch机制。不过UOL语言的try-catch不像Java那样通过捕捉Exception对象和出现Exception的整个路劲来提供一种安全处理方法,而是只允许用户对int类型进行捕捉与处理。这样做的目的只是因为单片机没有足够内存去捕捉和处理如此多的信息。其实error code作为经典的处理方式已经足够保证系统的安全,虽然要麻烦一些。
关于UOL语言的发展。目前本人从事的是楼宇自控方面的工作,是tridium认证的工程师,所以整个UOL语言的发展可能会偏向楼宇自控方面。目前的UOL的开源项目是GUI,下一个开源项目将会是基于这个语言的modbus协议,包括Modbus RTU,ASCII和TCP。后续会推出更多的开源项目,例如Bacnet MSTP/Ethernet, Lon Network, Obix等等。另外还会推出一套面向底层的库来取代例如STM32 lib, AVR lib之类的库。TCPIP的库目前使用的是Lwip,不过这个库也可以用UOL语言重新开发。
如果有兴趣做开源设计的或者想更深入了解这个语言的可以通过本论坛或者下面方式与我联系:
email:wzedmund@gmail.com
QQ: 707777212 |
|