如今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 有可能。的更多相关文章

  1. Lua 学习笔记(七)编译、执行外部代码块

    Lua称为解释型语言的原因:Lua允许在运行源代码之前,先将源代码预编译为一种中间形式.区别解释型语言的主要特征是在于编译器是否是语言运行时库的一部分,即有能力执行动态生成的代码.因为Lua中有dof ...

  2. Sublime Text 3(中文)添加Lua编译环境

    Sublime Text 3(中文)添加Lua编译环境 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 没有 ...

  3. Step By Step(Lua编译执行与错误)

    Step By Step(Lua编译执行与错误) 1. 编译:    Lua中提供了dofile函数,它是一种内置的操作,用于运行Lua代码块.但实际上dofile只是一个辅助函数,loadfile才 ...

  4. 编译原理-词法分析04-NFA & 代码实现

    编译原理-词法分析04-NFA & 代码实现 0.术语 NFA 非确定性有穷自动机nondeterministic finite automation. ε-转换ε-transition 是无 ...

  5. java如何在eclipse编译时自动生成代码

    用eclipse写java代码,自动编译时,如何能够触发一个动作,这个动作是生成本项目的代码,并且编译完成后,自动生成的代码也编译好了, java编辑器中就可以做到对新生成的代码的自动提示? 不生成代 ...

  6. lua编译出so文件

    把lua编译出so文件 http://superuser.com/questions/557884/getting-error-recompile-with-fpic http://guiquanz. ...

  7. 页面上动态编译及执行java代码

    本文地址:http://www.cnblogs.com/liaoyu/p/real-time-compile-and-run-java-code-web-app.html 最近看到同事在页面上编译和执 ...

  8. 反编译工具 使用.NET JustDecompile来反编译你的程序代码

    原文地址:http://www.it165.net/pro/html/201310/7383.html 前言 在项目的进行中有时会碰到需要去了解由第三方所开发的程序代码或者因为年久已经遗失原始码的程序 ...

  9. 如何用CSC.exe来编译Visual C#的代码文件

    原文:如何用CSC.exe来编译Visual C#的代码文件 C#的编译过程      如何用CSC.exe来编译Visual C#的代码文件   Csc.exe 编译器的位置路径:C:\Window ...

随机推荐

  1. iOS开发多线程篇—多线程简介

    iOS开发多线程篇-多线程简介 一.进程和线程 1.什么是进程 进程是指在系统中正在执行的一个应用程序 每一个进程之间是独立的.每一个进程均执行在其专用且受保护的内存空间内 比方同一时候打开QQ.Xc ...

  2. 我学的是设计模式的视频教程——命令模式vs策略模式,唠嗑

    课程视频 命令模式vs策略模式 唠嗑 课程笔记 课程笔记 课程代码 课程代码 新课程火热报名中 课程介绍 版权声明:本文博主原创文章,博客,未经同意不得转载.

  3. poj 4088:Set操作

    poj 4088:集合运算 题目:(至于4089.那个问题做过.使用归并思想,所以没有写) 描写叙述 小张须要从一批数量庞大的正整数中挑选出第k小的数.由于数据量太庞大,挑选起来非常费劲,希望你能编程 ...

  4. Java绘制艺术图形

    本例主要是通过使用坐标轴平移,图形旋转和获得随机数等技术来绘制艺术图案.通过重写JPanel类中的paint()方法,并在该方法中使用Graphics2D类中的translate(),setColor ...

  5. 利用Ring Buffer在SQL Server 2008中进行连接故障排除

    原文:利用Ring Buffer在SQL Server 2008中进行连接故障排除 出自:http://blogs.msdn.com/b/apgcdsd/archive/2011/11/21/ring ...

  6. List subList()的一个demo

    只要保证toIndex不大于size并且fromIndex不大于toIndex即可(谁会传一个负数的下标呢?) public List<E> subList(int fromIndex, ...

  7. tomcatserver乱码问题,tomcat与数据库之间的编码统一转换

    在tomcat文件夹的conf文件夹下,改动server.xml文件,在以下截图中的位置加上URIEncoding="UTF-8"则表示tomcat编码转换为utf-8风格, 一般 ...

  8. Visual Studio Team Services使用教程--添加团队成员

  9. nodejs 模拟form表单上传文件

    使用nodejs来模拟form表单进行文件上传,可以同时上传多个文件. 以前项目里有这个方法,最近在客户那里出问题了,同事说,这个方法从来就没管用过,SO,用了一天时间把这个方法给搞出来了(觉得花费的 ...

  10. 理解git经常使用命令原理

    git不同于类似SVN这样的版本号管理系统,尽管熟悉经常使用的操作就能够满足大部分需求,但为了在遇到麻烦时不至于靠蛮力去尝试,了解git的原理还是非常有必要. 文件 通过git管理的文件版本号信息所有 ...