RubyConf 2010 - Objects are Just Objects, Aren't they? by: Rick DeNatale

Channel:
Subscribers:
42,400
Published on ● Video Link: https://www.youtube.com/watch?v=qb82MEICfyU



Duration: 56:13
138 views
1


For almost 30 years, it has been conventional wisdom that objects in an "object-oriented" programming language were somehow the same, whether that language was C++ or Smalltalk, Java or Ruby, etc. One of the headwaters of this wisdom was the OOPSLA '87 paper by Peter Wegner "Dimensions of Object-Based Language Design" which surveyed the 'hot' language features of those days including classes, inheritance, delegation, prototypes, and abstract data types. Among other things it defined an object oriented language as one with object, classes, and inheritance, a definition with subtle but important differences from the definition intended by Alan Kay when HE coined the term "object-oriented," some 20 years previously. This paper gave many readers the false impression of more unification of these concepts than existed in reality. In some ways it created a kind of "Tower of Babel" effect, by confounding communication by making us think we were speaking the same language when we really were not. More recently, one of Wegner's students, William Cook, perhaps in a moment of apostasy drafted a paper http://userweb.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf which exposes the truth which some of us have known all these years, that there is a vast difference between Abstract Data Types and Objects. As a result, a great number of today's practitioners labor under false beliefs, that there are (nearly) universal approaches to "object-oriented" design, many of these coming from languages based on Abstract Data Types, primarily C++ and other statically typed languages. What does this mean to Ruby programmers? Ruby is an Object Oriented language in the true sense of the word, and not an ADT language. This talk will discuss the differences between ADTs and Objects; touch on the connections between closures from languages such as Lisp and Scheme, and true objects; and explore the pragmatic consequences for the Rubyist.




Other Videos By Confreaks


2015-04-07RubyConf 2010 - Mustache in the Front, Mustache in the Back by: Patrick Ewing
2015-04-07RubyConf 2010 - The Grapes of Rapid by: Michael Bleigh
2015-04-07RubyConf 2010 - From Artist to Programmer by: Keavy McMinn
2015-04-07RubyConf 2010 - DSLs go Concrete by: Martin Thiede
2015-04-07RubyConf 2010 - Ruby Mendicant University: A New Way to Learn by: Gregory Brown
2015-04-07RubyConf 2010 - Classy Git by: Scott Chacon
2015-04-07RubyConf 2010 - Pwrake : a Distributed Workflow Engine for e-Science by: Masahiro Tanaka
2015-04-07RubyConf 2010 - Putting On Your Birthday Suit by: Glenn Vanderburg
2015-04-07RubyConf 2010 - Unblocked by: James Edward Gray II
2015-04-07RubyConf 2010 - LDAP: the Original "NoSQL" by: Michael Granger
2015-04-07RubyConf 2010 - Objects are Just Objects, Aren't they? by: Rick DeNatale
2015-04-07RubyConf 2010 - Faye: an Event Driven App by: James Coglan
2015-04-07RubyConf 2010 - Programming and minimalism: lessons from Orwell and the Clash by: Jonathan Dahl
2015-04-07RubyConf 2010 - Healthy Hackers! by: Carolyn Rupar, Ted Han,
2015-04-07RubyConf 2010 - Automated Acceptance Testing, The Vietnam of Test Driven Development by: Paul Wilson
2015-04-07RubyConf 2010 - Rev, Revactor, Reia by: Tony Arcieri
2015-04-07RubyConf 2010 - Socialist Software Development by: CJ Kihlborn
2015-04-07RubyConf 2010 - Far and Away (A Tour of DistribRuted Programming with Ruby) by: Mark Bates
2015-04-07RubyConf 2010 - Poisoning Rubinius: The _why and how. by: Brian Ford
2015-04-06RubyConf 2009 - BERT and Ernie: Scaling your Ruby site with Erlang by Tom Preston-Werner
2015-04-06Ruby On Ales 2015 - Robolove