欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2/Agda, C++/Lisp/Haskell
Smalltalk
|   | 
您可以在Wikipedia上了解到此条目的英文信息 Smalltalk Thanks, Wikipedia. | 
Samlltalk
目录 | 
简介
Smalltalk 发行于 1972年(50岁),开发始于 1969 年,The Story of Smalltalk
- Smalltalk is a vision
 - Smalltalk has few concepts
 - Smalltalk is an environment
 - Smalltalk is a big system
 - Smalltalk as an operating system
 
Smalltalk 不仅仅是一门语言。Smalltalk-80 最初是作为一个完整的操作系统交付的,旨在运行在一台裸机上。Smalltalk-80 包含 virtual machine 规范。
I like it... It’s nice and clean and simple and pretty. Nice stuff!
— Alan Kay
Smalltalk 是 70 年代初期美国 XEROX 公司开发的,它不仅是一门编程语言,一个窗口系统,也是一个完整的编程环境,一个集编程、调试、运行和输出为一体的统一环境。
Smalltalk 创立了面向对象的思想并一直沿用至今。
Smalltalk is the consummate teaching language, Smalltalk is OOP done right.
The best way to predict the future is to invent it! -Alan Kay
Smalltalk,被公认为历史上第二个面向对象的程序设计语言,和第一个真正的集成开发环境(IDE)。
Smalltalk对其它众多的程序设计语言的产生起到了极大的推动作用,主要有:C++,C#,Objective-C,Actor,Java和Ruby等。90年代的许多软件开发思想得利于Smalltalk,例如设计模式、敏捷编程和代码重构等。
功能
Dynamically Typed + Live Environment
Basic Aspects of Squeak and the Smalltalk-80 Programming Language
DynamicType (SelfType, ClassType, InstanceType)
Live Typing Automatic Type Annotation for Dynamically Typed Languages]
Smalltalk 杀手级功能:
- 编程语言虚拟机机制
 - 基于镜像(Image-based)的持久性
 - 对象,一切都是对象,对象之间只通过消息进行交流(最纯粹的OO,也是最早的一个)
 - Live(实时)编程
 - 先进的调试技术,如即时修改代码(on-the-fly code changes)
 - 简单、不混乱(uncluttered)的 IDE 界面
 - 特定领域语言(DSL)是 Smalltalk 唯一的工作方式,程序员必须使用对该领域自然的语言和符号来关注问题领域。
 
Lisp, Smalltalk, and the Power of Symmetry
对比
Smalltalk: A White Paper Overview
| Smalltalk | Java/C++ 术语 | 
|---|---|
| instance variable | data member | 
| instance method | member function | 
| class variable | static data member | 
| class method | static member function | 
指南
- Smalltalk: A White Paper Overview
 - Basic Aspects of Squeak and the Smalltalk-80 Programming Language
 - GNU Emacs M-x package-install RET smalltalk-mode RET
 
虚拟机
- OpenSmalltalk The cross-platform virtual machine for Squeak, Pharo, Cuis, and Newspeak.
 - Cog VM for Squeak, Pharo, Cuis, and Newspeak.Cog is the fastest virtual machine for Squeak and Pharo.
 - Squeak Virtual Machine
 - Pharo VM
 - RoarVM - The Manycore SqueakVM
 - RSqueak A Squeak VM written in RPython.RSqueak-App
 
实现
Smalltalk版本:
Design Principles Behind Smalltalk
SmaCC (Smalltalk Compiler-Compiler) SmaCC @ GitHub
Smalltalk 方言和开源实现
- GNU Smalltalk
 - Pharo: 专注于现代软件工程和程序开发技术
 - Squeak: 定位于教学
 - Dolphin Smalltalk
 - Cuis Smalltalk Dr. Geo update, Cuis port The Cuis-Smalltalk Book
 - HaverOnCuis A Cuis based Smalltalk With Modules
 
商业版
Smalltalk商业版本发行商:
包管理
项目
- Zinc HTTP Components
 - Amber A Web developer's best friend.
 - Seaside web framework
 - Roassal Visualization Engine
 - MOOSE Platform for software and data analysis. Agile Visualization
 
Objective-C
- Objective-C与SmallTalk
 - Objective-Smalltalk is a programming language derived from Objective-C.
 
C/C++
Java
Ruby
- GemStone Maglev Ruby 基于GemStone/S虚拟机的Ruby语言实现。
 
Erlang
函数式
- Why is smalltalk not a functional programming language?
 - HST is a Smalltalk implementation in Haskell
 
Cloud
文档
- Introduction to Smalltalk
 - Smalltalk-80 : hardware and software
 - Introduction to Seaside
 - A Meta Model Supporting Both Hardware and Smalltalk-based execution of FPGA Circuits
 - Parallelism with OpenCL in Bee Smalltalk
 - JavaScript for VW Applications
 - Security on JIT VMs
 - Inside AOStA
 - Retrospective Seven VM Engineering Years
 - Bee Smalltalk Runtime
 - Enhancing SqueakNOS functionalities
 - A little Journey in a Virtual Machine
 - Sly and the RoarVM GitHub
 - Runtime Bytecode Transformation for Smalltalk
 - Inter-Language Reflection Inter-Language Reflection
 - Open Aspects Open Aspects
 - Towards Unified Aspect-Oriented Programming Towards Unified Aspect-Oriented Programming
 - Towards aTaxonomy of Unit Tests Towards a Taxonomy of SUnit Tests
 - Smalltalk in moodle Runtime Bytecode Transformation for Smalltalk
 - Building run-time analysis tools by means of pluggable interpreters
 - Multi Core Playground
 - SOA – Benefits and Risks
 - Seaside – A Multiple Control FlowWeb Application Framework
 - Classboxes: A Minimal Module Model Supporting Local Class Extension
 - German in 7 Million Shared Objects
 - Smalltalk in Large-Scale Enterprise Architectures
 - The making of Virtual Domino Topplings. VRML: Virtual Reality Meta Language
 - Numerical Methods
 
图书
- 《Smalltalk-80: The Language and its Implementation》Adele Goldberg and DavidRobson
 - Dynamic Web Development with Seaside
 - 《The Art and Science of Smalltalk》 Simon Lewis Hewlett-Packard
 
开发者
用户
Smalltalk用户和成功案例:
教育
- Learn How To Program Learning to program the Smalltalk way
 - How learning Smalltalk can make you a better developer
 
图集
链接
- Smalltalk官网
 - Squeak下载和存档
 - SmalltalkHub
 - Smalltalk文档
 - The World Of Smalltalk
 - Smalltalk 101
 - 为什么我喜欢Smalltalk?
 - Randal Schwartz访谈:Ruby之根——Smalltalk王者归来
 - Squeak:一个免费的多系统下运行的Smalltalk环境
 - Viewpoints Research Institute design for learning, powerful ideas education.
 - ANSI Smalltalk
 - Squeak 和 Smalltalk-80 编程语言的基本特征
 


