Smalltalk

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(实现)
(图书)
 
(未显示1个用户的12个中间版本)
第8行: 第8行:
 
[[文件:smalltalk-logo.png|right|Smalltalk]]
 
[[文件:smalltalk-logo.png|right|Smalltalk]]
  
Smalltalk 发行于 1972年(50岁),开发始于 1969 年。
+
Smalltalk 发行于 1972年(50岁),开发始于 1969 年,[https://spectrum.ieee.org/xerox-parc 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!
 
I like it... It’s nice and clean and simple and pretty. Nice stuff!
第47行: 第55行:
  
 
[[Lisp]], [https://medium.com/smalltalk-talk/lisp-smalltalk-and-the-power-of-symmetry-8bd96aaa0c0c Smalltalk, and the Power of Symmetry]
 
[[Lisp]], [https://medium.com/smalltalk-talk/lisp-smalltalk-and-the-power-of-symmetry-8bd96aaa0c0c Smalltalk, and the Power of Symmetry]
 +
 +
==对比==
 +
与 [[C++]]、[[Java]] 等语言的对比
 +
 +
[http://web.cecs.pdx.edu/~harry/musings/SmalltalkOverview.html Smalltalk: A White Paper Overview]
 +
 +
{| class="wikitable"
 +
|-
 +
! Smalltalk
 +
! Java/C++ 术语
 +
|-
 +
| instance variable
 +
| data member
 +
|-
 +
| instance method
 +
| member function
 +
|-
 +
| class variable
 +
| static data member
 +
|-
 +
| class method
 +
| static member function
 +
|}
  
 
==指南==
 
==指南==
第65行: 第96行:
  
 
Smalltalk版本:
 
Smalltalk版本:
*Smalltalk-80
+
*[https://wiki.squeak.org/squeak/64 Smalltalk-80]
*Smalltalk-78
+
*[https://github.com/codefrau/Smalltalk78 Smalltalk-78]
*Smalltalk-72
+
*[https://wiki.squeak.org/squeak/989 Smalltalk-72]
  
 
[https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html Design Principles Behind Smalltalk]
 
[https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html Design Principles Behind Smalltalk]
第155行: 第186行:
  
 
==图书==
 
==图书==
 +
*[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
  
 
==开发者==
 
==开发者==
第171行: 第204行:
 
==图集==
 
==图集==
 
<gallery>
 
<gallery>
 +
image:Smalltalk-80-Cover-of-the-Blue-Book.png|Smalltalk-80
 
image:smalltalk-roadmap.png|路线图
 
image:smalltalk-roadmap.png|路线图
 
image:squeak-workspace.png|Workspace
 
image:squeak-workspace.png|Workspace

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用户和成功案例:

[编辑] 教育

[编辑] 图集

[编辑] 链接

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

变换
操作
导航
工具箱