Smalltalk

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(实现)
(图书)
 
第186行: 第186行:
  
 
==图书==
 
==图书==
*《Smalltalk-80: The Language and its Implementation》Adele Goldberg and DavidRobson
+
*[http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf 《Smalltalk-80: The Language and its Implementation》Adele Goldberg and DavidRobson]
 
*[https://book.seaside.st/ Dynamic Web Development with Seaside]
 
*[https://book.seaside.st/ Dynamic Web Development with Seaside]
 
*《The Art and Science of Smalltalk》 Simon Lewis Hewlett-Packard
 
*《The Art and Science of Smalltalk》 Simon Lewis Hewlett-Packard

2022年9月4日 (日) 09:46的最后版本

Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 Smalltalk Thanks, Wikipedia.
Smalltalk

Samlltalk

目录

[编辑] 简介

Smalltalk

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,JavaRuby等。90年代的许多软件开发思想得利于Smalltalk,例如设计模式、敏捷编程和代码重构等。

Make Smalltalk Great Again

[编辑] 功能

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

[编辑] 对比

C++Java 等语言的对比

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

[编辑] 指南

[编辑] 虚拟机

[编辑] 实现

Pharo

Smalltalk版本:

Design Principles Behind Smalltalk

Smalltalk Choices

SmaCC (Smalltalk Compiler-Compiler) SmaCC @ GitHub

Smalltalk 方言和开源实现

[编辑] 商业版

Smalltalk商业版本发行商:

[编辑] 包管理

[编辑] 项目

[编辑] Objective-C

[编辑] C/C++

Smalltalk虚拟机大多由C/C++开发。

[编辑] Java

[编辑] Ruby

[编辑] Erlang

[编辑] 函数式

[编辑] Cloud

[编辑] 文档

[编辑] 图书

[编辑] 开发者

[编辑] 用户

Smalltalk用户和成功案例:

[编辑] 教育

[编辑] 图集

[编辑] 链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱