gordonbrander + oop 30
multiple inheritance - Mixins vs. Traits - Stack Overflow
24 days ago by gordonbrander
...in Java. I think it's fair to say Classic supports trait-like behavior. Also, it might be worth creating a Classic flavor that inherits only methods.
java
oop
24 days ago by gordonbrander
Double Fine chooses Moai | Blog
27 days ago by gordonbrander
After raising 3.3 million heads of lettuce on Kickstarter, Doublefine chooses to build their game on an open-source Lua game engine.
Shadowrun Returns (http://www.kickstarter.com/projects/1613260297/shadowrun-returns) has also chosen Moai.
game
development
lua
oop
video
The team at Double Fine kindly filmed a video covering the reasons behind their choice of Moai and showing some of the very earliest Double Fine Adventure development prototypes.
Shadowrun Returns (http://www.kickstarter.com/projects/1613260297/shadowrun-returns) has also chosen Moai.
27 days ago by gordonbrander
Amber Smalltalk
5 weeks ago by gordonbrander
Smalltalk that compiles to JavaScript.
opensource
javascript
smalltalk
development
web
oop
5 weeks ago by gordonbrander
Rails controllers and OOP: Jon Leighton
This lesson also applies to other projects I've worked on (e.g. frameworks built on top of Backbone).
mvc
oop
development
web
rubyonrails
learn
tdd
test
5 weeks ago by gordonbrander
Rails controllers violate the Single Responsibility Principle. Each “action” has a different responsibility and should be contained in a separate object.
This lesson also applies to other projects I've worked on (e.g. frameworks built on top of Backbone).
5 weeks ago by gordonbrander
Bootstrapping a lightweight Object System in Ruby
A good observation. It's possible using functional closure to build your own object system (assuming your language supports hashes).
oop
functional
web
development
ruby
javascript
learn
5 weeks ago by gordonbrander
An object essentially wraps up method dispatch and state
A good observation. It's possible using functional closure to build your own object system (assuming your language supports hashes).
5 weeks ago by gordonbrander
Pharo Open Source Smalltalk
5 weeks ago by gordonbrander
An open-source implementation of Smalltalk.
oop
opensource
smalltalk
development
web
learn
5 weeks ago by gordonbrander
Reflective Facilities in Smalltalk-80
So, actually, it sounds like SmallTalk 80 did bind message names to method names, much like JavaScript or any other OOP language. Earlier versions of the language did not. It sounds like Actor-based languages work essentially the way I expected SmallTalk would.
compsci
development
web
oop
smalltalk
6 weeks ago by gordonbrander
When a message is sent to a Smalltalk-80 object, the method dictionaries associated with that object's class and its superclasses are searched at runtime. If none of these classes implement a method for a given message, the Smalltalk virtual machine sends the object the message doesNotUnderstand:. The original message selector and message arguments are bundled together in a Message object and passed as the argument to doesNotUnderstand:. The default method for this message is stored in class Object. This method invokes the Smalltalk debugger, since sending an object a message it does not implement is usually a sign of programmer error. However, objects that override doesNotUnderstand: can intercept unimplemented message at runtime, and process them as they see fit.
So, actually, it sounds like SmallTalk 80 did bind message names to method names, much like JavaScript or any other OOP language. Earlier versions of the language did not. It sounds like Actor-based languages work essentially the way I expected SmallTalk would.
6 weeks ago by gordonbrander
Smalltalk - Wikipedia, the free encyclopedia
6 weeks ago by gordonbrander
A Smalltalk object can do exactly three things:
Hold state (references to other objects).
Receive a message from itself or another object.
In the course of processing a message, send messages to itself or another object.
This smells like JavaScript evented models. Reinventing Smalltalk?
oop
development
pattern
mvc
from iphone
Hold state (references to other objects).
Receive a message from itself or another object.
In the course of processing a message, send messages to itself or another object.
This smells like JavaScript evented models. Reinventing Smalltalk?
6 weeks ago by gordonbrander
Are Design Patterns Missing Language Features
6 weeks ago by gordonbrander
Interesting discussion over at C2.
web
development
oop
design
pattern
from iphone
6 weeks ago by gordonbrander
Coding Horror: Are Design Patterns How Languages Evolve?
6 weeks ago by gordonbrander
In the OO world you hear a good deal about "patterns". When I see patterns in my programs, I consider it a sign of trouble. The shape of a program should reflect only the problem it needs to solve. Any other regularity in the code is a sign, to me at least, that I'm using abstractions that aren't powerful enough-- often that I'm generating by hand the expansions of some macro that I need to write.
development
web
oop
design
lisp
from iphone
6 weeks ago by gordonbrander
[whatwg] Canvas v5 API additions
8 weeks ago by gordonbrander
Canvas Path primitives have been added to the API. In other words, you can now construct `new Path()` objects and paint to them within a canvas context, giving us optional basic OOP/DOM drawing for canvas.
canvas
javascript
oop
animation
8 weeks ago by gordonbrander
Expression problem - Wikipedia, the free encyclopedia
12 weeks ago by gordonbrander
As quoted by Brendan Eich:
http://twitter.com/pcwalton/status/176741289700769792
compsci
development
pattern
functional
oop
learn
Denial that the expression problem exists is a common symptom of overzealous functional or object-oriented dogmatism.
http://twitter.com/pcwalton/status/176741289700769792
12 weeks ago by gordonbrander
johnbender.us - Faster Javascript Through Category Theory
february 2012 by gordonbrander
Examines jQuery through the lens of category theory.
development
web
jquery
math
compsci
learn
javascript
oop
february 2012 by gordonbrander
GUI Architectures
february 2012 by gordonbrander
A massive list of software architecture patterns, with detailed descriptions and diagrams.
architecture
oop
pattern
mvc
mvp
learn
development
february 2012 by gordonbrander
Passive View
mvp
oop
pattern
development
web
architecture
february 2012 by gordonbrander
Unlike most MVC-style configurations, Passive View results in no dependencies between view and model.
february 2012 by gordonbrander
John Resig - Object.getPrototypeOf
january 2012 by gordonbrander
Notes on the standard object method that replaces __proto__.
JavaScript
oop
development
web.
from iphone
january 2012 by gordonbrander
Introduction to Object-Oriented JavaScript - MDN
december 2011 by gordonbrander
A good overview of how objects work in JavaScript.
development
javascript
oop
teaching
learn
december 2011 by gordonbrander
instanceof - MDN
december 2011 by gordonbrander
The DL on instanceof from MDN.
JavaScript
development
web
oop
learn
december 2011 by gordonbrander
How does the JavaScript instanceof operator determine a match? - Quora
december 2011 by gordonbrander
instanceof in JavaScript compares against the prototype chain for a given constructor function. Answer by @jashenkas.
JavaScript
oop
development
web
learn
december 2011 by gordonbrander
Perfection kills » `instanceof` considered harmful (or how to write a robust `isArray`)
december 2011 by gordonbrander
instanceof in JavaScript works by checking the prototype object chain of the given constructor function. Given this, arrays created in an iframe will not return true when checking instanceof Array, because their prototypes reference different objects.
javascript
oop
development
learn
web
december 2011 by gordonbrander
Prototypal Inheritance - How To Node - NodeJS
december 2011 by gordonbrander
A better explanation of prototypal inheritance than most.
javascript
oop
pattern
december 2011 by gordonbrander
Custom types (classes) using object literals in JavaScript | NCZOnline
november 2011 by gordonbrander
Discussion of Jeremy Ashenkas' proposed object-literal class definition syntax. Also a small snippet for creating something like this in JS.
javascript
oop
pattern
november 2011 by gordonbrander
Doug Crockford: Classical Inheritance in JavaScript
february 2011 by gordonbrander
Classical OOP design vs Prototypal design. Includes sugary approaches for emulating classical inheritance. Also some sytax sugar for "swiss" inheritance -- allowing you to cherry pick methods from multiple classes.
javascript
oop
philosophy
development
february 2011 by gordonbrander
Web Reflection: JavaScript Overload Patterns
february 2011 by gordonbrander
Approaches for Class-like object APIs.
javascript
oop
development
february 2011 by gordonbrander
Web Reflection: JavaScript Override Patterns
february 2011 by gordonbrander
More OOP and classical inheritance reading.
javascript
oop
philosophy
development
february 2011 by gordonbrander
Doug Crockford: Prototypal Inheritance
february 2011 by gordonbrander
An overview. Follow-up to http://www.crockford.com/javascript/inheritance.html. Simple object inheritance without a parent/super concept.
javascript
oop
prototype
february 2011 by gordonbrander
John Resig - Simple JavaScript Inheritance
january 2011 by gordonbrander
Implementing Classical (hierarchical) Inheritance in Javascript using a Class object with an Extend method.
I've used this page several times but have neglected to bookmark it. Done.
javascript
oop
opensource
I've used this page several times but have neglected to bookmark it. Done.
january 2011 by gordonbrander
How to fulfill your own feature request -or- Duck Punching with jQuery!
january 2011 by gordonbrander
"If it looks like a duck, walks like a duck, but doesn't quack like a duck, punch it until it makes the noise you need". Modifying methods in jQuery on the fly to get back what you need.
javascript
jquery
oop
january 2011 by gordonbrander
Delegation vs Inheritance in JavaScript
january 2011 by gordonbrander
Delegation using the call() method in JS allows you to use methods of an object without inheriting from or instantiating that object. It's like "hey, I don't know what to do with this, but I know you do, so here it is".
Why: Inheritance can give you bloated objects where only a few methods and properties are really shared. The concept of implementing interfaces is more flexible (since it's not hierarchical).
javascript
design
oop
development
philosophy
Why: Inheritance can give you bloated objects where only a few methods and properties are really shared. The concept of implementing interfaces is more flexible (since it's not hierarchical).
january 2011 by gordonbrander
OOP The Good Parts: Message Passing, Duck Typing, Object Composition, and not Inheritance @ fitzgeraldnick.com
january 2011 by gordonbrander
Classes should be thought of as data types, not code re-use templates.
development
javascript
architecture
oop
january 2011 by gordonbrander
related tags
animation ⊕ architecture ⊕ canvas ⊕ compsci ⊕ design ⊕ development ⊕ functional ⊕ game ⊕ java ⊕ javascript ⊕ jquery ⊕ learn ⊕ lisp ⊕ lua ⊕ math ⊕ mvc ⊕ mvp ⊕ oop ⊖ opensource ⊕ pattern ⊕ philosophy ⊕ prototype ⊕ ruby ⊕ rubyonrails ⊕ smalltalk ⊕ tdd ⊕ teaching ⊕ test ⊕ video ⊕ web ⊕ web. ⊕Copy this bookmark: