操作系统

InfoQ刚发表一篇论文《半静态语言–原理和价值分析》

我爱IT资讯库   2021/02/20
半静态语言 – 背景、原理和价值
(Semi-Static Language  - Background,Mechanism and Value)

【摘要】动态类型语言在企业开发和互联网开发中应用广泛,而其弱类型的内在特点使其在这些业务复杂的应用开发中存在很多缺点:无法静态验证,程序不健壮,测试成本高;缺乏静态语言如Java的实时验证、代码提示、代码重构等敏捷开发功能。为此,本文提出半静态语言,它的基本原理是两阶段模型,开发时运用变量类型声明进行类型检查,运行时采用解释执行的方式。半静态语言它结合了动态语言和静态语言的优点,同时满足灵活性、健壮性与敏捷开发的需求。

【关键词】半静态语言,动态类型语言, 静态类型语言, Velocity, Freemarker, Java

原文首发在 InfoQ China:
半静态语言 – 背景、原理和价值


PS: 第一次在InfoQ发论文,感谢凯丰热情的服务,感谢张逸、王瑜珩对论文的评审,专业认真的意见对二稿完善很有帮助。



热门内容

Zend_Db_Table 表关联

  介绍: 在RDBMS中,表之间有着各种关系,有一多对应,多多对应等等。 Zend框架提供了一... ...

MySQL执行引擎有哪些

MyISAM: 优势 – 查询速度快 – 数据和索引压缩问题 – 表级锁 – 数据丢失 InnoDB: 优... ...

Centos7下yum搭建lnmp环境(yum安装方式)

我们都知道linux下安装软件主要有三种方式: 1.源码编译安装,即下载软件源代码,利用gcc g++ make 等编译 ...

\(^_^)/ Java实现各种排序算法

各种排序算法及其java程序实现 . 各种排序算法:冒择路(入)兮(稀)快归堆,桶式排序,基数排序 ... ...

hibernate空格导致的错误!

数据库中已经有两条记录,这是为了测试数据用的。 下面是我对hibernate中查询进行的测试.... package ...

上课思想分析过程

1.功能较多必须有菜单选择项2.针对题目避免重复时先将已生成的算式保存,然后将下一条生成的式子进行判断是否已生成,如果生 ...

存储过程不能删除之ORA-04043

同事问有一个存储过程在PL/SQL Developer中可以看到,但删除的时候报对象不存在。   ... ...

系统属性Properties历遍

package com.msmiles.test; import java.util.Enumeration; ... ...

在 linux x86-64 模式下分析内存映射流程

前言 在上一篇中我们分析了 linux 在 x86-32 模式下的虚拟内存映射流程,本章主要继续分析 linux 在 ... ...

一个过滤器类,过滤多个路径

<!-- 登录验证 --> <filter> <filter-name>... ...

网页中的平衡、对比、连贯和留白

网页中的平衡、对比、连贯和留白 <!-- Body Copy --> 网页设计中需要把握好很多原则和细节,... ...
好高兴啊

好高兴啊

  好高兴啊…..好高兴啊….终于发现了…..   ... ...

WCF技术剖析(卷1)之目录

第1章  WCF简介 (WCF Overview)      ... ...

EXT核心API详解(五)

[转载]EXT核心API详解(五)-Ext.EventManager/EventObject/CompositeElem... ...

xorg如何使用 xkbprint?

问题:手册中没有例子,我所尝试的每个文件都需要一些几何。$ xkbcomp/usr/share/x11/xkb/symb ...
织梦淘宝客常见问题

织梦淘宝客常见问题

一、下载安装 见官方帖子,不细说。http://bbs.dedecms.com/203194.html 在此强烈建议新手... ...

(转)批处理(bat)全盘搜索指定文件获取其完整路径方法大全

本文总结了4种实现全盘搜索指定文件获取其完整路径的bat批处理文件源码,有需要的朋友可以参考下 【方案一】fo... ...

Java线程讲解

一 线程的基本概念 线程是一个程序内部的顺序控制流.一个进程相当于一个任务,一个线程相当于一个任务中的一条执行路径. ... ...

css display:none和visibility:hidden和visible="false"区别

  如果在p的style中把visibility设为 hidden则p隐藏,但是它会占据空白空间,... ...

ASP.NET[1]

   有很多人学过ASP,用ASP做过网站,可是到ASP .NET环境下发现,变化真是太大了... ...

构建一个安全的软件系统时,可能遇到的风险及解决方案(未完)

随着汽车工业的发展,汽车早以不是那个由一堆零件组成的大机器,而是由机械和电子器件构成的整体系统。并且,这个... ...
VPS上安装ShadowSocks

VPS上安装ShadowSocks

shadowsocks 是一个轻量级隧道代理,用来穿过防火墙。 我的VPS机器安装的是CentOS系统、... ...

ResultSet 调用getString 抛出NullPointException问题的解决

在Java连接数据库时,有时候在ResultSet 调用getString (或其他类似的方法),有时候会抛出Nu... ...

浅谈OSIV与泛型DAO模式

open session in view  简称 OSIV 模式 在Hibernate中能更好的应... ...

数据库设计原理:数据建模的三个阶段

如果你在Google或者百度上搜索数据建模,相信可以搜索出很多关于数据建模的文章,但是你会发现其中绝大部分是理论、... ...

ajaxfileupload.js 文件上传

一,前台代码。 <input id="fileToUpload" type="... ...

ios的标志常量

1 dec 2 fixed 3 hex 4 internal 5 left 6 oct 7 right 8 scien ...

discuz删除垃圾帖子

有时候如果你的论坛被垃圾帖子占满后,会发现使用后台的删除功能还是有些慢, 我们需要先备份自己需要的帖子,然后进行下面的 ...

Hibernate的主配置文件hibernate.cfg.xml

1:hibernate的主配置文件的名字必须是hibernate.cfg.xml:   1.1:主配置文件主要分为三部分 ...

关于html base元素的使用

base元素可以用于设置页面嵌入的css文件或js文件链接的基地址。 例子: <h... ...