2,481 reputation
411
bio website
location United States
age
visits member for 2 years, 6 months
seen Jul 18 at 19:39

Developed Project Management software from 1977 to 2002 at a series of companies known most recently as Artemis International Solutions Corporation but over time as K&H Computer Systems, Metier, and Artemis Management Systems (and a few other names). Then wrote a project management system on my own.

Lately, I work mostly in Java. My latest passion is multi-threading. I was fascinated by the idea in the mid-80's, and recently I have had time to look hard at it.

I am currently taking pieces of unsold systems and and placing them for sale (free for personal use) at Binpress. I have a computer war game for LAN's available at ralphchapin.wordpress.com.


Jul
16
answered Why can you have statefulness inside a static class in java?
May
25
comment What is wrong with Java's generics?
@maaartinus: Wrote that a while ago. Also OP did ask for "issues". I find generics extremely useful and like them a lot--much more now than then. However, if you are writing your own collection, they are very hard to learn. And their usefulness fades when your collection's type is determined at run time--when the collection has a method telling you the class of its entries. At this point generics don't work and your IDE will produce hundreds of meaningless warnings. 99.99% of Java programming doesn't involve this. But I'd just had a lot of trouble with this when I wrote the above.
Mar
25
comment How compilers know about other classes and their properties?
@ThomasEding: You're quite right. When I answered this question I seemed to be having trouble separating the IDE from the compiler/linker. My excuse: Java does not "link" until it runs and so cannot know a class ref or method call is wrong until then; the IDE does not really "ease" my task, it makes it possible. I used (in FORTRAN and C, long long ago) to get errors when I compiled, when I linked, and then when I ran. Now I get almost all those errors right as I type them in, which makes the IDE a compiler, linker, and executer, in a sense. Today, all non-run-time errors come from the IDE.
Jan
9
awarded  Yearling
Dec
5
comment How necessary is it to follow defensive programming practices for code that will never be made publicly available?
@GlenH7: I find working with specific examples often helps more than abstract theory. The OP provided a rather interesting one, so I went with that.
Dec
4
answered How necessary is it to follow defensive programming practices for code that will never be made publicly available?
Nov
30
answered Does Java development typically involve more subclassing than C#/.NET?
Nov
22
comment Problem regarding DRY principle and Polymorphism
@shankbond: No I don't. Empty methods can be as useful as the digit zero. You are only telling it what to do in a particular case. And it's worth a lot to have everything be a BaseClass. ("Do nothing"--for now.) Next, you could make more use of generics: public abstract BaseClass<T> and public void MainMethod2( List<T> listObject. Or add a MainMethod2 to BaseClass, though this too might produce a "leaky abstraction". My view here is again: it's worth a lot to have everything be a BaseClass.
Nov
21
answered Problem regarding DRY principle and Polymorphism
Nov
21
comment How to implement loose coupling?
Your "data" could be an "object". And your "loose coupling" could be "polymorphism". I think my terms, though, are meant for use deep inside an OO language, where you're talking more at the OS level.
Nov
21
answered impact of product information leak due to matrix resource models for development projects
Nov
18
answered Storing object-graphs with class-evolution in Java with transformation (long time archiving)
Nov
14
comment Is there any “real” reason multiple inheritance is hated?
@MikeBrown: Delegates/lambdas are just single-method classes. Just have Equity, Debt, and Derivative return an ISecurity instance on request. If the code is similar, you can use the same base class to implement an ISecurity instance. In Java it's easy for a class to create an object of an anonymous class (the anon class extending a named class with generally useful code), and then use that object as its own representative to the rest of the system.
Nov
11
answered How would you model an objects representing different phases of an entity life cycle?
Nov
11
answered Confusion about inheritance
Nov
7
comment Is it considered bad practice to access a returned array by a key straight away?
I'm not disagreeing with with you. I don't really believe in things like "ironclad guarantees", but sometimes it's fun to say "what if".
Nov
7
comment Is it considered bad practice to access a returned array by a key straight away?
+1. There's nothing wrong with the OP's first example, if they've got ironclad guarantees, and in many cases it may be the way to go, but.... The second one will make debugging easier if something goes wrong and makes adding in the checks easier when they prove to be needed.
Nov
6
comment When would I use pseudocode instead of flowchart?
@barlop: It works for me, but it may not work for everyone. I leave a lot of code ("BufferedReader", for instance) out of my classes until I need it or need to know if I can make it work. Even when I have it, it's stashed nicely out of the way in classes I don't need to look at when considering overall design. Compiler errors are easily fixed and can prevent major design flaws, such as using the wrong class at a point where you can't even get an instance of the right class. I admit, I have "designed" software this way that could only be written in Java, but the OP is using Java.
Oct
24
answered Data Structure for Small Number of Agents in a Relatively Big 2D World
Oct
23
answered Switch vs Polymorphism when dealing with model and view