Tea语言

强规范的新编程语言
授权协议 Apache-2.0
开发语言 PHP
所属分类 程序开发、 脚本编程语言
软件类型 开源软件
地区 国产
投 递 者 闻人梓
操作系统 跨平台
开源组织
适用人群 未知
 软件概览
echo "世界你好!"

Tea语言是一种新的计算机编程语言,采用强规范设计(规范即语法),拥有简约的强类型系统和单元模块体系,支持类型推断,支持面向对象和函数式编程,语法精炼简洁。其目标是成为一个友好的,支持多端开发的编程语言,并尽量支持常用编程语言生态,让开发者可以继续使用已有工作成果。目前通过编译生成PHP代码运行,可调用PHP库,可用于Web服务器端开发。预计后续将支持部分其它编程语言。

Tea语言非常注重语法的友好性,通过对语法进行优化设计,希望开发者可以更轻松自然的编写代码,可以更专注于创意实现。也尽量保持了常用编程语言的语法风格和习惯,以降低学习成本。

Tea语言项目最早开始于19年2月份,项目初衷主要是用于提升内部开发效率和实现产品功能,最初特性较少,在完善和优化后,于19年12月初首次发布开源。

语言特性

  • 强规范,规范即语法,简洁清晰
  • 简约的,带类型推断的强类型系统,编译时将进行类型推断与检查
  • 便捷的XView类型,非常适合用于Web视图组件开发
  • 智能的Return Collector特性,可自动按类型捕获数据到数组作为返回值
  • 有限的类型兼容性,数据操作便捷而不失安全性
  • 内置类型被封装成伪对象,支持对象成员风格调用,如:"Some string".length
  • 内置单元模块(Unit)体系,基于单元模块组织程序,和访问控制
  • 无普通全局变量,变量作用域最高为普通函数层级,无需担心全局变量污染问题
  • 字符串处理语法灵活、简单而强大
  • 流程控制语法灵活、简约、统一(所有都支持catch/finally分支,for支持else分支)
  • 运算符规则简单有规律,易于记忆
  • 支持Lambda表达式和普通函数,函数是一等公民
  • 支持类和接口,接口可带默认实现,面向对象特性简单而不失强大
  • 支持普通函数、普通常量、类和接口的访问控制(public/internal)
  • 支持类/接口成员的访问控制(public/internal/protected/private)
  • 通过编译生成目标语言代码的方式运行
  • Tea语言又称(Tealang)是一种新的计算机编程语言,采用强规范设计(规范即语法),拥有简约的强类型系统和单元模块体系,支持类型推断,支持面向对象和函数式编程,语法精炼简洁。其目标是成为一个友好的,支持多端开发的编程语言,并尽量支持常用编程语言生态,让开发者可以继续使用已有工作成果。目前通过编译生成PHP代码运行,可调用PHP库,可用于Web服务器端开发。预计后续将支持部分其它编程语言。 Te

  • /** * @author: heiing 2013-01-20 01:20 */ public class TEA { public static byte[] encrypt(byte[] data, byte[] key) { int data_len = data.length; // 数据的长度 if (data_len == 0) { return new byt

  • 最近我在逆向某个JavaScript,我的目的是将其中的加密函数还原成Python代码。 JavaScript源代码: function i(n) { return 4294967295 & n } function o(n, e, t, r, i, o) { return (t >>> 5 ^ e << 2

  • /** * php 版的tea 加密算法,提供附件上传和下载的加密,解密功能 * 包括 encrypt 加密 decrypt 解密 setkey 设置密钥 * 在解密的时候需要 设置加密是补齐的位移量,避免出现多余乱码 加密轮数 推荐8的倍数,为16或者32,php为弱语言类型,必须限定它的整型范围,字节序采用Little Endian 低位字节序 */ /* $key = '%9^q69LE$O

  • #include #include #include /******************* TEA加密解密算法 *******************/ #define DATA_LEN 32 #define MX (z>>5^y<<2)+(y>>3^z<<4)^(sum^y)+(k[p&3^e]^z) #define DELTA 0x9e3779b9 #define S_LOOPTIME 

  • 前些日子不少人都要挂QQ,有客户需求就自然有人去研究,所以不少人开始研究QQ的协议.其中最重要的一步就是研究QQ使用的加密算法---TEA算法 关于TEA算法的描述以及C语言源码这里就不多说了,现在给出该算法的VB实现 '       ----------------------------------------------------------------------------------

  • 1. C语言 C语言是20世纪70年代贝尔实验室开发出来的一门通用计算机编程语言(实际上是贝尔实验室开发UNIX操作系统的“副产品”),广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。 二十世纪八十年代,为了避免各厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,成为

  • TEA算法笔记 一、简述 TEA算法有64位的明文,128位的密钥以及一个常数 δ \delta δ 组成。 δ \delta δ源自于黄金比例,但它的数值的精确度并不重要,于是被定义为 δ \delta δ=「($\tilde{A}$5 - 1)231」(即程序里面的0×9E3779B9) TEA是将明文每64位位一组进行加密,每次加密将这64位分为两部分,高32位和低32位(后面分别用Mup和

  • 英美人发现英文中的black tea在汉语中的表达是“红茶”,而并非“黑茶”。大家都感到很有趣:black明明是黑,为什么在汉语中成了“红”呢?其实,这是一个很常见的语言现象。有颜色特点的事物虽然客观所指是同一的,但是由于不同民族在观察事物、现象,把握事物特征时所采取的视角不同,不同的语言便会用不同的色彩词来表达。在汉语中,表示有颜色的事物的词语与对应的英语名称颜色错位的现象还不少呢。例如: br

  • 程序语言 程序语言是用来定义计算机指令执行流程的形式化语言。每种程序语言都包含一整套词汇和语法规范。这些规范通常包括数据类型数据类型数据类型和数据结构数据结构数据结构、指令类型和指令控制、调用机制和库函数以及不成文的规定(如递进书写、变量命名等)。 大多数程序语言都能够组合出复杂的数据结构(如链表链表、堆栈堆栈、树

  • 软件是按照一定规则组织的计算机可识别的命令集合。现搜集整理了一些开发语言,以供想学习软件开发的同学参考。 软件由各种各样的程序语言编写而成,主要分为前端和后端开发。前端负责展现和与用户交互,注重用户体验,我们看到的网站、各种应用界面都属于前端。后端负责业务逻辑和数据处理,将处理结果返回给前端,并保证系统可以安全、稳定、高效运行。 1、前端 前端开发语言主要包括:html/html5、css/css

  • 程序开发语言 下载地址:程序开发语言 技术电子书目录:点击查看 版权声明 拒绝盗版,支持正版,购买正版书籍请移步京东或者线下书店

  • <?php /** * php 版的tea 加密算法,提供附件上传和下载的加密,解密功能 * 包括 encrypt 加密 decrypt 解密 setkey 设置密钥 * 在解密的时候需要 设置加密是补齐的位移量,避免出现多余乱码 加密轮数 推荐8的倍数,为16或者32,php为弱语言类型,必须限定它的整型范围,字节序采用Little Endian 低位字节序 */ /*

  • 语言 {软件开发概述}; {编辑期,编译期,运行期} 定义 程序的3个阶段: . 编辑期: 在IDE里 写源代码; . 编译期: 源代码通过编译器变成了exe可执行文件 (二进制的); . 运行期: exe可执行文件到CPU上执行; 性质 有些错误 到不同的阶段 才能发现; . 因为IDE有代码提示错误的功能 (当然不是一切错误都能发现), 比如int a = 0; 你写成了int a = ?;,

  • 2019-09-07 简介 TEA算法由剑桥大学计算机实验室的David Wheeler和Roger Needham于1994年发明。它是一种分组密码算法,其明文密文块为64比特,密钥长度为128比特。TEA算法利用不断增加的Delta(黄金分割率)值作为变化,使得每轮的加密是不同,该加密算法的迭代次数可以改变,建议的迭代次数为32轮。QQ使用此加密技术,加密轮数为16轮。 加密算法实现 原理 T

 相关资料
  • PHP 语言规范,Facebook 已经把所有该规范的版权贡献给献给 CC0 公共域协议,本规范的发布不提供任何保证,Facebook 公司在 2014 年发起该项目。

  • var关键字 总是用 var 关键字定义变量。 描述 如果不显式使用 var 关键字定义变量,变量会进入到全局上下文中,可能会和已有的变量发生冲突。另外,如果不使用var声明,很难说变量存在的作用域是哪个(可能在局部作用域里,也可能在document或者window上)。所以,要一直使用 var 关键字定义变量。 常量 使用字母全部大写(如 NAMES_LIKE_THIS )的方式命名 可以使用

  • Lint 小技巧 使用该 pylintrc 对你的代码运行pylint 定义: pylint是一个在Python源代码中查找bug的工具. 对于C和C++这样的不那么动态的(译者注: 原文是less dynamic)语言, 这些bug通常由编译器来捕获. 由于Python的动态特性, 有些警告可能不对. 不过伪告警应该很少. 优点: 可以捕获容易忽视的错误, 例如输入错误, 使用未赋值的变量等.

  • 如果你希望开发一个商业软件:同时兼容多平台、运行效率高、不需要虚拟机支持、不公开源码且不可反编译。 以前,只有 C/C++ 能完成这项任务,但这个语言学习成本高,使用麻烦,让很多初学者望而却步。 所以 Tea 语言主要目标就是: 具备 C++ 所拥有的一切功能:编译为原生机器码,可以和 C 代码混合编译。 具备现代化语言提供的特性:GC、反射、闭包、lambda、动态类型等等。 相比 Python

  • 对于那些不熟悉它们的人--我正在寻找这样的文档http://docs.oracle.com/javase/specs/jls/se7/html/index.html。 提前道谢!