shithub: werc

ref: 60aa435621cbc027151c0433d83918ffcab03ebb
dir: /tpl/software/object_oriented_programming.md/

View raw version
Object Oriented programming considered harmful
==============================================

"*object-oriented design is the roman numerals of computing.*" -- Rob Pike

OO is the "structured programming" snake oil of the 90'

Useful at times, but hardly the "end all" programing paradigm some like to make
out of it.

And, at least in it's most popular forms, it's often more harmful than helpful.

Inhiretance is more trouble than it's worth. Under the doubtful deguise of the
holy "code reuse" an insane amount of gratuitous complexity is added to our
enviroment, which makes necesary industrial cuantities of syntactical sugar to
make the ensuing mess minimally manageable...

People often forgets the 3 golden rules of programing as estated by Pike and
Kernighan: Simplicity, Clarity, Generality.

Limbo has all the adventages of Java(cross platform, high level) without the
disadventages, and a much cleaner and simple "object model", not to mention the
most wonderful "threading" framework(besides the Alef/Plan9's-libthread which
is based in the same ideas).

Too bad AT&T/Lucent fucked it up, but thanfully it's now truly Open/Free(unlike
Java), go download it if you haven't tried it yet:
http://cgi.www.vitanuova.com/cgi-bin/www.vitanuova.com/idown4e.pl

An introdution by Brian W. Kernighan:
http://www.vitanuova.com/inferno/papers/descent.html

And other by Dennis M. Ritchie:
http://www.vitanuova.com/inferno/papers/limbo.html

I can deal with Python and Scheme if I have to though ;)

And there is always portable asm... er I mean C.

But Java(and other copies of the same stuff), *never again*, there are some
things in life that once are more than enough.