domain object-oriented seed

Object-Oriented Languages

Languages organized around objects that encapsulate data and behavior. Pioneered by Simula (1967) and Smalltalk (1972), OOP became the dominant paradigm of the 1990s-2000s.

#paradigm #oop #encapsulation #inheritance

Sub-topics

Simula topic

Created by Ole-Johan Dahl and Kristen Nygaard in Norway, 1967 (Simula 67). The first language with objects, classes, inheritance, and virtual methods. A superset of ALGOL 60. Directly inspired Smalltalk and C++.

Smalltalk topic

Created by Alan Kay, Dan Ingalls, and Adele Goldberg at Xerox PARC in 1972. Everything is an object, everything is a message. Pioneered the IDE, MVC pattern, and GUI programming. Influenced Ruby, Objective-C, Java, Python, and Erlang.

Java topic

Created by James Gosling at Sun Microsystems in 1995. 'Write once, run anywhere' via the JVM. Static typing, garbage collection, and a vast ecosystem. Dominates enterprise software, Android, and big data (Hadoop, Spark, Kafka).

C# topic

Created by Anders Hejlsberg at Microsoft in 2000. Microsoft's answer to Java, running on .NET/CLR. Influenced by C++, Java, Delphi, and Haskell. Features LINQ, async/await, and pattern matching. Powers Unity game engine and enterprise .NET.

Kotlin concept

Created by JetBrains in 2011. A modern JVM language designed to fix Java's verbosity and null-safety issues. Influenced by Java, Scala, Groovy, C#, and Gosu. Google's preferred language for Android since 2019.

Swift concept

Created by Chris Lattner at Apple in 2014. Designed to replace Objective-C for iOS/macOS development. Influenced by Objective-C, Rust, Haskell, Ruby, Python, and C#. Features optionals, protocols, and value types. Open-sourced in 2015.

Self concept

Created by David Ungar and Randall Smith at Xerox PARC in 1987. A prototype-based OOP language descended from Smalltalk — eliminated the class/instance distinction. Directly inspired JavaScript's prototypal inheritance and pioneered JIT compilation techniques.