只有有lua编译能力不足200K代码吧?NO! Python 有可能。
如今Python给人的感觉是大,东西多,在Windows上安装后竟然要占100多兆的空间。
lua给人的感觉是非常小,非常轻便。Python 2.7在linux下编译出来的代码在strip之后也有3M多,早期版本号应该会更小些,但也应该有700K到800K吧。
那么Python是不是不能编译出轻便。体积小的代码呢?答案是否定的,这里介绍几个Python的变种。来看下Python能够有多小。
1、Pymite
这是一个能够执行在8位单片机上的Python,没想到吧!单片机上的rom往往小于100KB。RAM小于8KB,假设对照一下PC机,真的能够说是巨人和蚂蚁的差别啊,python竟然能够在上面执行。是不是非常颠覆你的思想?现在Pymite能够执行在Arduino
Mega上,Arduino是一个出了名的开源硬件平台,主要使用avr的8位单片机,Pymite在上面执行仅仅须要64KB的rom,4KB的ram,更具体的情况见以下的链接:
http://playground.arduino.cc/CommonTopics/PyMite
源码的路径例如以下:
https://code.google.com/p/python-on-a-chip/
2、tinypy
这是一个号称能够编译出小于64K的Python的项目。当然实际的编译出来的大小为200K左右。文档里有写,在使用优化的方法时是能够编译出<64K的程序的,可是我没有试过。
可是200K已经是非常小了。更让人不可思议的是,它竟然把pygame也集成进去了。官网见:
http://www.tinypy.org/
貌似非常久没更新了。
只是,既然编译出来的代码小。功能当然就没那么强大了,这是一个鱼和熊掌的问题了。
事实上啊。比較哪种语言好。那种语言差全然没有必要,每种语言都有自己的优势和劣势,关键是语言不能停止进化的脚步。
仅仅要是自己喜欢的语言就是好的语言。用不着太在意别人喜欢什么。并且也没有必要由于自己喜欢某种语言而停止去尝试其他语言。
还是那句话,规则是用来打破的,观念是用来颠覆的。在IT行业更是如此。
版权声明:本文博客原创文章。博客,未经同意,不得转载。
只有有lua编译能力不足200K代码吧?NO! Python 有可能。的更多相关文章
- Lua 学习笔记(七)编译、执行外部代码块
Lua称为解释型语言的原因:Lua允许在运行源代码之前,先将源代码预编译为一种中间形式.区别解释型语言的主要特征是在于编译器是否是语言运行时库的一部分,即有能力执行动态生成的代码.因为Lua中有dof ...
- Sublime Text 3(中文)添加Lua编译环境
Sublime Text 3(中文)添加Lua编译环境 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 没有 ...
- Step By Step(Lua编译执行与错误)
Step By Step(Lua编译执行与错误) 1. 编译: Lua中提供了dofile函数,它是一种内置的操作,用于运行Lua代码块.但实际上dofile只是一个辅助函数,loadfile才 ...
- 编译原理-词法分析04-NFA & 代码实现
编译原理-词法分析04-NFA & 代码实现 0.术语 NFA 非确定性有穷自动机nondeterministic finite automation. ε-转换ε-transition 是无 ...
- java如何在eclipse编译时自动生成代码
用eclipse写java代码,自动编译时,如何能够触发一个动作,这个动作是生成本项目的代码,并且编译完成后,自动生成的代码也编译好了, java编辑器中就可以做到对新生成的代码的自动提示? 不生成代 ...
- lua编译出so文件
把lua编译出so文件 http://superuser.com/questions/557884/getting-error-recompile-with-fpic http://guiquanz. ...
- 页面上动态编译及执行java代码
本文地址:http://www.cnblogs.com/liaoyu/p/real-time-compile-and-run-java-code-web-app.html 最近看到同事在页面上编译和执 ...
- 反编译工具 使用.NET JustDecompile来反编译你的程序代码
原文地址:http://www.it165.net/pro/html/201310/7383.html 前言 在项目的进行中有时会碰到需要去了解由第三方所开发的程序代码或者因为年久已经遗失原始码的程序 ...
- 如何用CSC.exe来编译Visual C#的代码文件
原文:如何用CSC.exe来编译Visual C#的代码文件 C#的编译过程 如何用CSC.exe来编译Visual C#的代码文件 Csc.exe 编译器的位置路径:C:\Window ...
随机推荐
- Windows PowerShell 简介
Powershell 是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境.微软之所以将Powershell 定位为Power,并不是夸大其词,因为它完全支持对象.其可读性,易用性 ...
- win7已安装Mysql 开机自启动
1.下载并安装MySql,我用MySQL_5.6.24_winx64_XiaZaiBa,解压缩到磁盘或更低.我在这里安装D菜,D:\install\MySQL\MySQL Server 5.6. 2. ...
- iOS 7 新特性
iOS7更新了很多引人注目的功能.用户界面完全重新设计了.iOS7为开发2D,2.5D游戏引入了全新的动画系统.加强多线程,点对点连接,以及许多其他重要的功能让iOS7成为有史以来最有意义的一次发 ...
- Build制作模型
#include <iostream> using namespace std; //不知道为什么事实上非常好解释的东西在网上搞的人晕头转向的,下面是我的理解. //一个基类衍生出很多详细 ...
- linux 下安装mysql
看以下这篇文章就够了 http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 查看有没有安装过: ...
- object-c计划tips-添加到类对象属性
这个问题从网络包的内容,由于保密问题,我刚才所描述我的业余的想法. 基本的想法: 网络请求,我们应该能够使用基类BaseNetWork, 然后由派生类继承BaseNetWork,并实现一些特殊的方法. ...
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 问题(转)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 8-11: ordinal not in range(128 ...
- Attribute(两)——定义自己的特色+Asp.net MVC中间filter详细解释
部分博客是预先定义的有关特性的一些基本特征,同时还Attribute这一概念的一个宏观上的认识,在上篇博客结尾介绍了有关为自己定义特性服务的AttributeUsage,这篇博客主要是通过filter ...
- 它们的定义PropertyPlaceHolder无法完成更换任务
Spring默认PropertyPlaceholderConfigurer只能加载properties格风格简介,现在,我们需要能够从类的完整支持允许似hadoop格风格xml配置文件读取配置信息,并 ...
- KVO
其原理探究
什么是KVO ? KVO这是Key-Value Observing,它提供了一种机制,指定的对象的属性被改动后,则对象就会接受到通知. 简单的说就是每次指定的被观察的对象的属性被改动后.KVO就会自己 ...