-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Proposal for RailsConf 2020: 50 Years of Ruby
- Loading branch information
Showing
1 changed file
with
65 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
50 Years of Ruby | ||
================ | ||
|
||
Abstract | ||
-------- | ||
|
||
Xerox PARC was founded in 1970. Alan Kay was one of its first employees, working on programming languages, among other things. He first came up with the ideas behind Smalltalk in 1970. | ||
|
||
While Ruby was not directly derived from Smalltalk, the two are surprisingly similar. We'll walk through the history of Ruby as it echos the history of Smalltalk. How did we get here? What can that tell us about where we are headed? | ||
|
||
|
||
Details | ||
------- | ||
|
||
NOTE: This might be better suited for RubyConf, but I thought it might work better in front of a larger audience. | ||
|
||
This is definitely a "how did we get here" talk. It builds on this talk from 1995 (25 years ago): [25 Years of Smalltalk](https://web.archive.org/web/20130612055149/http://www.mojowire.com/TravelsWithSmalltalk/DaveThomas-TravelsWithSmalltalk.htm). It also builds on the premise of Avi Bryant's talk at RailsConf 2007, namely that Ruby is in many ways a dialect of Smalltalk. I'll reference both of those to a large degree. | ||
|
||
I actually plan to start in 1968, touching on Engelbart's "Mother of All Demos", and how it influenced Kay and PARC. | ||
|
||
Depending on the source, the Smalltalk project was started in 1969 or 1970. Since this talk is playing on the loosey-goosey counting from "25 Years of Smalltalk", it really doesn't matter exactly when. The title is mainly a vehicle to talk explore similarities between the languages, and see what lessons we can pull from the history of Smalltalk. | ||
|
||
Current outline of what I plan to cover: | ||
|
||
* Smalltalk's history | ||
* First release (1972) | ||
* Smalltalk-72 apparently had a much different syntax | ||
* Smalltalk-76 and Smalltalk-80 have the more familiar syntax | ||
* First released publicly (1980) | ||
* Smalltalk's influences | ||
* Simula | ||
* The environment at Xerox PARC | ||
* IDEs, GUIs, and WYSIWYG originate from ostensibly the same team | ||
* Alan Kay | ||
* OOP | ||
* Where did the idea come from? | ||
* What influences played a role? | ||
* What are the key ideas? | ||
* MVC pattern used in GUIs | ||
* And how web MVC is very different from GUI MVC | ||
* Smalltalk today | ||
* Other Alan Kay projects | ||
* Dynabook, OLPC | ||
* Disney, Squeak | ||
* Croquet | ||
* Ruby's history | ||
* Ruby's influences | ||
* Surprisingly, Smalltalk was not a very big influence | ||
* Similarities and differences between Ruby and Smalltalk | ||
* Blocks are what distinguish the 2 languages from others | ||
* Files versus the system image | ||
* The future of Ruby | ||
* As deduced from looking at where Smalltalk is now | ||
* As deduced from Ruby's trajectory | ||
* As deduced from the influence of other modern languages | ||
|
||
|
||
Pitch | ||
----- | ||
|
||
I've been thinking about this talk for a couple years. Probably since the first time I came across "25 Years of Smalltalk". Combining that talk with the premise from Avi's keynote from way back when seemed like a really neat idea. | ||
|
||
I'm basically trying to help everyone get a better understanding of where OOP came from, in order to have a better understanding of OOP itself, and how it fits in with other programming paradigms. | ||
|
||
I think the Ruby community should be more thoughtful about the path forward from here, as Ruby matures. I'm quite certain that there are lessons from Smalltalk (and many other sources) that we would be wise to learn, understand, and apply. |