pjeby comments on On the Fence? Major in CS - Less Wrong

18 Post author: talisman 07 May 2009 04:26AM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (57)

You are viewing a single comment's thread. Show more comments above.

Comment author: pjeby 08 May 2009 04:31:43AM -2 points [-]

Object-orientated programming is the concept of designing code around simple, efficient, and reusable objects that can work together to accomplish a larger goal. Compare this against sequential programming, which is essentially a long list of code that is only useful for one specific task.

I think a more accurate instrumental description of OOP is that it's code that invokes operations in terms of abstract data types, while having code organization based on concrete data types.

This definition spans everything from prototype-based OO to inheritance to interface polymorphism and generic functions, and various combinations thereof.

That having been said, I don't know very many CS people or industry programmers who would give such a concise definition, unless they've seen OO done in say, Python, Java, JavaScript, Lisp, Haskell, Eiffel, Dylan, and C -- or at least enough other languages to see the OO forest distinct from the trees. Academics are likely to babble about a bunch of stuff that doesn't matter, while industry folks are likely to babble about how cool OO is or that it's just "how it's done".