---
key: pl/self
kind: plang
name: "Self"
url: https://plangs.page/self
---

# Self

> Prototype-based dynamic OOP language, influenced by Smalltalk and APL, impacting JavaScript.

Prototype-based dynamic object-oriented programming language, environment, and virtual machine focused on principles like simplicity and uniformity. It allows direct and physical interaction with objects and integrates a programming environment for modifying objects. Influenced by Smalltalk and APL, it influenced languages like JavaScript and NewtonScript.

## Facts

- Appeared: 1987
- Homepage: https://selflanguage.org/
- GitHub: https://github.com/russellallen/self
- Languish ranking: #214

## Relationships

### Paradigms

- [General-Purpose](https://plangs.page/paradigm/general-purpose)
- [Object-Oriented](https://plangs.page/paradigm/oop)
- [Prototype-Based](https://plangs.page/paradigm/prototype)

### Platforms

- [Apple](https://plangs.page/platform/apple)
- [Cross-Platform](https://plangs.page/platform/cross)
- [Windows](https://plangs.page/platform/windows)

### Type Systems

- [Dynamic](https://plangs.page/type-system/dynamic)
- [Strong](https://plangs.page/type-system/strong)

### Influenced By

- [APL](https://plangs.page/apl)

### Influenced

- [Factor](https://plangs.page/factor)
- [HotSpot VM](https://plangs.page/hotspot)
- [Io](https://plangs.page/io)
- [JavaScript](https://plangs.page/javascript)
- [Lua](https://plangs.page/lua)
- [Rebol](https://plangs.page/rebol)
- [Squeak](https://plangs.page/squeak)

### Licenses

- [BSD](https://plangs.page/license/bsd)

### Tags

- [4GL](https://plangs.page/tag/4gl)
- [Application](https://plangs.page/tag/app)
- [Application Framework](https://plangs.page/tag/framework)
- [Compiler](https://plangs.page/tag/compiler)
- [Industrial Control](https://plangs.page/tag/industrial)
- [Interpreter](https://plangs.page/tag/interpreters)
- [Visualization](https://plangs.page/tag/viz)
