pjeby comments on On the Fence? Major in CS - Less Wrong
You are viewing a comment permalink. View the original post to see all comments and the full post content.
You are viewing a comment permalink. View the original post to see all comments and the full post content.
Comments (57)
As a simple counter-point, my experience is nearly the exact opposite of yours. I felt that I got a lot out of my CS classes. Not every CS class, mind you, but enough that myself without a CS degree and myself with a CS degree would barely be comparable.
While we are not strictly random, I can give 1 of 3:
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".