Reputation
55,015
Next tag badge:
226/100 score
19/20 answers
Badges
10 156 241
Impact
~1.7m people reached

Feb
8
comment Do ALL your variables need to be declared private?
Smalltalk is not "the original ideas of OO." Remember, the original OO language was Simula, not Smalltalk. Smalltalk took the basic concepts of Simula and mixed a bunch of weird, overly-complicated stuff into it until they had something that hardly looked like real OOP at all anymore. There's a reason why the all major OO languages today use the Simula model. (Except for Objective-C, which nobody uses unless Apple's forcing them to, of course.)
Feb
2
awarded  Generalist
Feb
1
answered How to deal with the MPL in a pragmatic way?
Jan
27
awarded  Good Answer
Jan
26
comment What is the value in hiding the details through abstractions? Isn't there value in transparency?
No, tight coupling is not always bad. It's frequently bad, but going to great lengths to avoid it can produce even worse problems, such as soft-coding.
Jan
26
comment What is the value in hiding the details through abstractions? Isn't there value in transparency?
@jhocking: This has nothing to do with composition vs. inheritance. You can bury functionality under layers of layers with composition too; it's just done in a slightly different way.
Jan
26
awarded  Nice Answer
Jan
26
comment What is the value in hiding the details through abstractions? Isn't there value in transparency?
@User606723: It should be. That doesn't mean it always is. Some people don't understand the point and they just pile more layers atop more layers and turn things into a mess. This is why experienced programmers advise newer developers to never adopt a new technology or technique until they understand it.
Jan
26
answered What is the value in hiding the details through abstractions? Isn't there value in transparency?
Jan
24
comment Why do we have so many flavors of .NET? Is it a good thing?
What's with all the close votes? This is a perfectly legitimate question.
Jan
23
awarded  Nice Answer
Jan
22
awarded  Enlightened
Jan
22
awarded  Nice Answer
Jan
21
answered When we talk about 'a closure' do we refer to a single variable, or do we refer to all 'closed' variables?
Jan
19
comment In pseudo code what does := mean?
Pascal (and the rest of "the Wirth languages") got it from ALGOL, which got it from mathematical notation.
Jan
18
comment Why do technical/programming phone screens focus on inheritance?
That's what I mean. You can do data hiding and encapsulation in any language. I've seen it done (and done well) in C, which has no language-level support for just about anything! But without Liskov substitution, you do not have OOP.
Jan
18
revised Can modern OO languages compete with C++'s array store performance?
added 187 characters in body
Jan
18
comment Why do technical/programming phone screens focus on inheritance?
When you get down to it, inheritance is the only feature of OO. Anything else in an object-oriented language can be done just as easily in any other paradigm, but if you remove polymorphism and Liskov substitution, you have fundamentally changed the language, and what you're left with is just procedural programming with a funny syntax.
Jan
18
awarded  Guru
Jan
17
answered Can modern OO languages compete with C++'s array store performance?