教育编程语言列表
作为“OLPC（One Laptop per Child，每个孩子都有一台电脑）”项目的一部分，Smalltalk提出一个建议的语言学习顺序，其中的每种语言都被设计成下一种的入门和基础。这个顺序是：Scratch->Etoys->Squeak->任意Smalltalk。在学习的过程中，每一种语言都提供了图形化的编程环境，不仅是用于教会孩子们一些编程的概念，而且是包含物理和数学知识的模拟及讲述故事的一些练习。Smalltakl和Squeak作为全功能的应用程序开发语言，在过去的数十年中已经变得十分有名了，而Scratch是孩子们学习的工具。
编程语言
除了何时以及如何确定表达式和型态的联系，另外一个重要的问题就是语言到底定义了哪些型态，以及允许哪些型态作为表达式的值。诸如C编程语言之类的低端语言允许程序命名内存位置、内存区域以及编译时的常量；ANSI C甚至允许表达式返回结构值（）。功能性的语言一般允许变量直接使用运行时计算出的值，而不是指出该值可能储存的内存地址。