419 reputation
28
bio website sharp-gamedev.blogger.com
location Stockholm, Sweden
age 36
visits member for 3 years, 9 months
seen Nov 21 '12 at 12:03
The programmer formerly known as Joh. Joh used to think C++ was the greatest language on Earth, but he has now found the light in .net thanks to F#. Joh loved Linux and seldom used his installation of Windows. Due to his recent discovery and F#, he is now spending all of his computer time on Windows. He is not quite sure if this is a good thing or not.

Jul
23
comment Are abstract classes / methods obsolete?
"Without abstract method/classes, you cannot implement template method pattern". Yes you can, just pass the code to put in the hole using a function object, a function pointer, a delegate, a function value...
Jul
14
comment Why shouldn't classes be designed to be “open”?
@TheLQ: Taking .net as an example, protected is not a level of access that's between public and private. internal is better for that. The difference between protected and public lies in how you access, not who can access.
Jul
14
comment Why shouldn't classes be designed to be “open”?
There are two schools of thoughts whose proponents don't seem to get along well. The static typing folk want it to be easy to reason about the software, the dynamic folk want it to be easy to add functionality. Which one is better basically depends on the expected life length of the project.
Jul
14
comment Why shouldn't classes be designed to be “open”?
I wonder, why do people who dislike the idea of private data don't just go all the way and use public instead of protected? At least, when you are using public, you aren't forcing others to inherit from your class to use its implementation details. Considering that inheritance introduces a stronger coupling than composition, if you are going to introduce dependencies on implementation details, at least do it so in the way that uses the weakest coupling possible!
Jul
13
comment Why shouldn't classes be designed to be “open”?
"encapsulation has never demonstrated absolute success". I would have thought that everyone would agree that lack of encapsulation has caused a lot of trouble.
Jul
13
comment Why shouldn't classes be designed to be “open”?
-1: You stated you like open designs, but this does not answers the question, which was why classes shouldn't be designed to be open.
Jul
10
comment Completing a project successfully despite hostile management?
A thought that can make the time left at the company more bearable is that blame for the project's failure will be assigned to those who have resigned. Now that management now longer needs to save their face, they might start being useful and help those who are left make the best out of the current situation.
Jul
6
awarded  Critic
Jul
4
awarded  Commentator
Jul
4
comment Is OO-programming really as important as hiring companies place it?
See the answer by Thorbjørn Ravn Andersen. To be a good programmer, you need to know modularity and API design. Not all programmers in the industry are good, but most use OOP. Unfortunately, the mix of OOP and non-modular code and poor APIs leads to poor quality software, and you'll see a lot of this kind of code at work. Unless you write a lot of code on your free time, you probably don't know much about "real-life" OOP. That's OK, you are not alone in this position.
Jul
4
comment Is OO-programming really as important as hiring companies place it?
I like that you made a difference between modularity, APIs and OO. I think there is a wide spread misconception in the software industry that OO means all these things.
Jul
2
comment Does over-reliance on tools imply that you are lazy?
@Skeith: I understand you meant something else by competence, but the thing is, your kind of competence is only relevant to the kind of low-level of programming that programmers were doing before high-level tools came into the picture. I don't think low-level programmers are getting any less competent. High-level programmers that have joined the crowd need a different kind of competence.
Jul
1
answered Does over-reliance on tools imply that you are lazy?
Jun
24
answered A question on choosing the next programming language between C/C++ and other languages
Jun
15
comment What to teach a 12-year-old VB programmer about programming in general
@Mark Booth, I don't think VB has much in common with the kind of BASIC Dijkstra was referring to.
Jun
15
answered What to teach a 12-year-old VB programmer about programming in general
Jun
8
comment Is it “normal” for people to not work?
+1 for "how you feel in another year". I remember that before getting 30, I could not get enough coding in a day. I experienced a lot of positive stress. Pressure and fun. As time goes, pressure slows you down, even if you are having fun.
May
3
revised Real world pitfalls of introducing F# into a large codebase and engineering team
Updated the pitfalls, the old ones are probably no longer relevant, or never affected me.
May
3
awarded  Editor
May
3
revised Real world pitfalls of introducing F# into a large codebase and engineering team
Added rebutal of the "F# is too hard for my programmers and nobody on the job market has it on its CV" myth