开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

.NET 下类似 Smalltalk 的语言 SABLE

  • 2009-04-24
  • 本文字数:724 字

    阅读完需:约 2 分钟

Kuler 软件工具的创始人 Keith Robertson 在.NET 平台下编写了一门类似 Smalltalk 的语言,名为 SABLE 。该语言具有 Smalltalk 语法提供的高质量,同时又能运行在 CLR 上。

SABLE 是一门通用而又必要的面向对象编程语言,它的语法与 Smalltalk 相似,但其对象与部署模型则与.NET 关系更为紧密。SABLE 程序运行在 ECMA CLR 上。SABLE 有望成为 Web 开发中的 Smalltalk,它保留了 Smalltalk 语言的可读性与类型安全,但类型信息却包含在程序集中,在进行 Web 应用程序部署时,可以输出短小的二进制文件。

Robertson 声称,SABLE 的最终目的是:

创建一个可变的、灵活的 Smalltalk 风格的开发环境,而一旦程序编写完成,应用程序则会被编译为普通的程序集……无需动态运行时,它却能给你深刻的动态编程体验。

SABLE 的其中一个好处就是 Smalltalk 的消息传递语法,它允许组成消息链或级联消息。该语言会在编译时执行类型检查,甚至支持消息链的类型转换,而不仅仅是:

<p>|typeDecl| := nodeStack pop.</p><p>nodeStack peek ~ {BLOCK_NODE} argumentNodes last~ {ARGUMENT_NODE} typeDeclNode: typeDecl.</p>该语言能够进行双向类型推断,从表达式类型中解析出变量或方法的类型(对外推断),或者从期望的类型中解析出表达式的类型(对内推断)。

SABLE 使用方法、类和程序集的结构定义,但不同于 Smalltalk 的是,它的元数据仍然保留在程序集中。宏则总是内联方法。关于宏的一个有趣用法是扩充已有的封装好的库。

SABLE 并没有预留关键字,但包含了许多预先定义的标识符。其余的重要特性包括:类扩展,契约,以及完全支持 CLR 的特性如泛型、嵌套类型、元数据特性等。

一个基本的“Hello World”例子如下所示:

有用的链接包括: SABLE 编译器(ZIP), SABLE 语言的网站

2009-04-24 08:521317
用户头像

发布了 109 篇内容, 共 42.0 次阅读, 收获喜欢 14 次。

关注

评论

发布
暂无评论
发现更多内容

关于扑克牌的一些讨论——《Fluent Python 2》读书笔记

codists

Python

首届波卡黑客松项目「Manta Network」的进击之路

One Block Community

区块链 隐私安全 黑客马拉松 波卡生态

Java市场饱和了?为什么都这么说?

爱好编程进阶

Java 程序员 后端开发

“三高”程序员谈:Mysql的“三高”集群架

爱好编程进阶

程序员 后端开发

使用cobbler 安装工具批量安装服务器

爱好编程进阶

Java 程序员 后端开发

JSP标签

爱好编程进阶

Java 程序员 后端开发

一个${}引发的惨案

爱好编程进阶

Java 程序员 后端开发

一起学Java——html

爱好编程进阶

Java 程序员 后端开发

去中心化云存储技术 | CESS 的多层网络架构详解

One Block Community

区块链 去中心化存储 CESS 波卡生态

AuthTalk | 全面拆解多租户解决方案

Authing

SaaS 多租户 Idaas

利用Java反射实现两个具有相同属性bean赋值

爱好编程进阶

程序员 后端开发

Java对内存空间的分配与回收机制

爱好编程进阶

Java 程序员 后端开发

Spring Boot MyBatis配置Druid多数据源

爱好编程进阶

Java 程序员 后端开发

一个三线程序员的2020年,CSDN 10 万粉里程碑达成

爱好编程进阶

Java 程序员 后端开发

你真的知道Java同步锁何时释放?

爱好编程进阶

Java 程序员 后端开发

全靠这份阿里大厂Java面试真题手册,让我成功拿下12家大厂offer

爱好编程进阶

Java 程序员 后端开发

刚出炉热腾腾的定时任务可视化管理系统

爱好编程进阶

Java 程序员 后端开发

JAVA生成二维码图片和解析二维码图片内容代码实例

爱好编程进阶

Java 程序员 后端开发

Tomcat与JDK版本对应关系,Tomcat各版本特性

爱好编程进阶

Java 程序员 后端开发

亦直问JVM?凡不凡啊?记住这篇就不怕

爱好编程进阶

Java 程序员 后端开发

困扰程序员的7个噩梦,只要遇上一个,都是崩溃的瞬间

爱好编程进阶

Java 程序员 后端开发

SpringMVC快速入门(3)默认组件加载

爱好编程进阶

Java 程序员 后端开发

Java String类型和BigDecimal类型之间的转化及BigDecimal类型的介绍

爱好编程进阶

Java 程序员 后端开发

《英雄联盟》首部成人动画全球爆火

爱好编程进阶

程序员 后端开发

全栈开发之后端脚手架:SpringBoot集成MybatisPlus代码生成,分页

爱好编程进阶

Java 程序员 后端开发

到了2020年,技术水平到底需要达到怎样的程度才能成为顶级的阿里P8架构师

爱好编程进阶

Java 程序员 后端开发

基于SVN的CICD调研方案 _

ZuccRoger

5月月更

【并发编程】

爱好编程进阶

Java 程序员 后端开发

【深度】阿里巴巴万级规模 K8s 集群全局高可用体系之美

爱好编程进阶

程序员 后端开发

在职场,光有技术是不行的,18年老程序员职场宝贵经验分享

爱好编程进阶

Java 程序员 后端开发

【SpringBoot】6、自动配置原理【狂神篇

爱好编程进阶

Java 程序员 后端开发

.NET下类似Smalltalk的语言SABLE_.NET_Abel Avram_InfoQ精选文章