Joe Armstrong on OOP

think the lack of reusability comes in object-oriented mguages, not in functional languages. Because the problem with object-oriented languages is they've got all this implicit environment that they carry around with them. Vou i wanted a banana but what you got was a gorilla holding the banana and the entire jungle.

If you have referentially transparent code, if you have pure iinctions—ail the data comes in its input arguments and everything goes out and leaves no state behind—it's incredibly reusable. You can just reuse it here, there, and everywhere. When you want to use it in a different project, you just cut and paste this code into your new project.

Notes:

The problem with Object Oriented Programming is that it forces you to take a larger collection of properties when all you want is a smaller subset.

Folksonomies: programming computer science object oriented programming

Taxonomies:
/science/ecology/waste management/recycling (0.577360)
/food and drink/desserts and baking (0.577198)
/business and industrial/business operations/management/project management (0.552887)

Keywords:
Object Oriented Programming (0.978959 (neutral:0.000000)), referentially transparent code (0.848265 (neutral:0.000000)), object-oriented mguages (0.697070 (neutral:0.000000)), OOP The problem (0.680339 (neutral:0.000000)), Joe Armstrong (0.669977 (neutral:0.000000)), larger collection (0.662532 (neutral:0.000000)), smaller subset. (0.659719 (neutral:0.000000)), implicit environment (0.644646 (positive:0.616433)), object-oriented languages (0.629818 (positive:0.616433)), entire jungle (0.607158 (positive:0.318864)), input arguments (0.605234 (positive:0.238407)), functional languages (0.597404 (negative:-0.227011)), state behind—it (0.548579 (positive:0.238407)), different project (0.525514 (neutral:0.000000)), new project (0.521709 (neutral:0.000000)), banana (0.353587 (negative:-0.011496)), reusability (0.286812 (neutral:0.000000)), lack (0.231957 (neutral:0.000000)), gorilla (0.224689 (positive:0.318864)), paste (0.213279 (neutral:0.000000))

Entities:
Joe Armstrong:Person (0.942435 (neutral:0.000000)), Object Oriented:FieldTerminology (0.912671 (neutral:0.000000)), Vou:Person (0.778143 (neutral:0.000000))

Concepts:
Object-oriented programming (0.973547): dbpedia | freebase
Programming language (0.925511): dbpedia | freebase
Python (0.803529): website | dbpedia | freebase | opencyc | yago
Programming paradigm (0.662997): dbpedia | freebase | yago
Procedural programming (0.645610): dbpedia | freebase | yago
C Sharp (0.607648): website | dbpedia | freebase
Object (0.562582): dbpedia | freebase
Comparison of programming paradigms (0.562468): dbpedia

 Coders at Work: Reflections on the Craft of Programming
Books, Brochures, and Chapters>Book:  Seibel , Peter (2009-09-16), Coders at Work: Reflections on the Craft of Programming, Apress, Retrieved on 2011-04-21
  • Source Material [codersatwork.com]
  • Folksonomies: information technology programming computer science