Reputation
2,051
Top tag
Next privilege 2,500 Rep.
Create tag synonyms
Badges
8 15
Newest
 Nice Answer
Impact
~94k people reached

May
26
comment Are there any unions for software developers?
Of course the AMA and ABA are unions. Examine the functions of any union near you and you'll see how similar the AMA and ABA are in function to them. The fact those organizations also lobby doesn't diminish the rest of their functions; after all, unions also lobby the lawmakers. And though unions might bargain for members at a particular company, the AMA & ABA bargain for their members before lawmakers. Even employers lobby lawmakers. The only ones who don't lobby are software professionals because they don't want to have a union. How naive!
May
26
comment Are null references really a bad thing?
@greenoldman, your example is doubly effective to demonstrate our point in that the use of primitive types (whether null or integers) as semantic models is poor practice. If you have a type for which negative numbers isn't a valid answer, you should create a new class of types to implement the semantic model with that meaning. Now all the code to handle the modeling of that non-negative type is localized to its class, isolated from the rest of the system, and any attempt to create a negative value for it can be caught immediately.
May
26
comment Are null references really a bad thing?
@dash-tom-bang, of course removing null refs changes the class of errors: the semantics in the system have changed. When devs no longer resort to null as a valid value in code they must pick another means of expressing their intent, but whatever it is, it won't be the same value throughout the system. Try it in your own code and you'll see.
May
26
comment Are null references really a bad thing?
@greenoldman, you are incorrect. NullObject is the standard answer in an object-oriented system. It is null reference which is not a remedy. Use of null reference will cost more in maintenance and debugging effort. By eliminating the use of, and testing for, null references in our code we simplify the logic and code flow. We also restrict the special cases to the null object. So we'll always know the current situation because an instance of the correct class is handling it.
May
18
comment Are there any unions for software developers?
You are entirely incorrect in your assertion that there are no professional associations for doctors, lawyers and engineers. In the USA there is the American Medical Association, the American Bar Association and the IEEE. Architects, accountants, and even beauticians also have their "unions". In addition to the professional code of ethics David Thornley pointed out, they define standards of practice (methodologies), conduct studies and research for the field, and even lobby lawmakers for their professions. They also are prohibited from setting wages.
Oct
11
awarded  Yearling
Jun
10
awarded  Nice Answer
Nov
14
awarded  Nice Answer
Nov
14
awarded  Nice Answer
Nov
13
awarded  Student
Oct
11
awarded  Yearling
Jul
1
comment How to REALLY start thinking in terms of objects?
@dsimcha, algorithms shouldn't be dependent on the data type. That's the point behind OOD. The numerics framework sends messages that describe the desired (in this case understood) behavior of mathematical functions. The type will determine how to interpret that message in a way appropriate for the data. Contrary to @Kamil's comment, OO actually decouples behavior (interfaces actually) and data whereas procedural code is dependent on them. OOD reduces dependency on what the data is, focusing instead on what your procedures need to do.
Jul
1
comment At what point do immutable classes become a burden?
luis, have you noticed how the well-written, pragmatically correct answers written with an explanation of simple yet sound engineering principles tend not to get as many votes as those using state-of-the-art coding fads? This is a great, great answer.
Apr
13
comment What's your strongest opinion against functional programming?
There's no requirement that a language's runtime system lack transparent memory management (with garbage collection) in order to fit the "procedural" label, so it's ironic you phrased your second sentence that way. BASIC is one such language.
Mar
18
comment Code Smell: Inheritance Abuse
@flamingpenguin, I have done so.
Mar
18
revised Code Smell: Inheritance Abuse
Expounded on what violation of DRY occurs with object composition and why.
Mar
5
revised Dealing with inflexible programmers
Replaced "this book" with the book's title.
Mar
5
suggested approved edit on Dealing with inflexible programmers
Mar
5
comment Dealing with inflexible programmers
Please use the book's title in the link instead of "this book". It's one less step for those who readers to decide whether to click or not. Especially those who've previously read it.
Feb
27
awarded  Taxonomist