只有有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 ...
随机推荐
- 2014在百度之星程序设计大赛 - 资格 第四个问题 Labyrinth
小记:dfs暂停,不是决定性的 思维:由于只有三个方向向上和向下和向右,然后,我对待每列从左至右.然后,当在下一列的上一列的处理再加工每个值去获得正确的值,保存各坐标的数组格你可以得到最大值.每处理完 ...
- STL源代码剖析(一) - 内存分配
Allocaor allocator 指的是空间配置器,用于分配内存.STL中默认使用SGI STL alloc作为STL的内存分配器,尽管未能符合标准规格,但效率上更好.SGI STL也定义有一个符 ...
- linux基于学习
1.还有一个文件名前".",它代表的文件""隐藏文件". 2.chgrp:改变文件所属用户组 chown:改变文件全部者 chmod:改变文件的权限 ...
- leetcode先刷_Maximum Subarray
dp创始人级精英赛的冠军.最大的部分和. 扫从左至右,保持一个最佳值而当前部分和,在这一部分,并成为负值什么时候.再往下的积累后,也起到了负面作用,所以,放弃直销,然后部分和初始化为阅读的当前位置. ...
- hdu1115(重力算法的多边形中心)
标题的含义: 给定一个n刚n顶点.这是获得n分众协调多边形. http://acm.hdu.edu.cn/showproblem.php? pid=1115 题目分析: /** *出处:http:// ...
- [Python]新手写爬虫全过程(转)
今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x.数据存放?这个是一个练手的玩具,就写在tx ...
- Python标准库简介
在<Python语言参考手册>描述中的描述Python语法和语义,而本手冊主要介绍了Python标准库的内容和使用,也介绍了一些发行库里可选的组件库. Python标准库包括的内容是非常广 ...
- Asp.NET MVC3 使用 SignalR 实现推
一,简单介绍 Signal 是微软支持的一个执行在 Dot NET 平台上的 html websocket 框架. 它出现的主要目的是实现server主动推送(Push)消息到client页面,这样c ...
- 3.Swift翻译教程系列——Swift基础知识
英语PDF下载链接http://download.csdn.net/detail/tsingheng/7480427 Swift是用来开发iOS和OS X应用的新语言,可是很多地方用起来跟C或者OC是 ...
- List toArrays()
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ListToArray ...