Performance and software design

From Slashdot | The Case For Supporting and Using Mono

Re:The thing is… (Score:5, Insightful)

by AKAImBatman (238306) * <akaimbatman AT gmail DOT com> on Thursday February 05, @07:32PM (#26745889)
Homepage Journal

Seriously, I try hard as possible to stay away from .NET/Mono/Java/bytecode apps as much as possible. Why? Speed, obviously!

Then you are a fool.

Axioms of software design:

1. Algorithmic improvements will always trump optimizing execution speed.
2. Unless there is a hard requirement, development time is more important than raw performance.
3. Hardware is cheaper than developers.
4. A rich and flexible library is more useful and stable than custom coding for performance.

Re:The thing is… (Score:5, Interesting)

by ciggieposeur (715798) on Thursday February 05, @07:33PM (#26745893)

I used to code Java in the JDK 1.1 – 1.4 days. It sucked ass. It was slow, had weird dependencies on X11, required a lot of boilerplate code (such that up to half of the LOC could be logging inside exception blocks), had various JRE incompatibilities all over the place (such that some applications just couldn’t be run bug-free on ALL of AIX/Solaris/Windows/Linux/Mac), and the reference JDK/JRE was Sun’s proprietary property. I left Java and went on to C, Perl, C++, and Lisp. Naturally I used Emacs and SLIME.

Then I found Clojure. And I got a $350 laptop from Walmart last week that had 3 gigs of RAM and a single-core 1.8GHz AMD processor. And I thought, “I wonder if Eclipse will run decent on this thing?” And it does, and it’s not all that slow, and it is by far the best IDE I’ve ever used.

I’m now re-climbing the learning curve on modern Java, and it’s looking pretty good now. AspectJ does a good job eliminating a lot of repetitive code, eclipse-metrics warns me when I’m not being decent at OOP design, and the available libraries are top-notch. Java the language isn’t so bad anymore, and now with Clojure on top I have plenty of linguistic room to prototype and get to choose the best among many paradigms for each situation.

Give Java a fresh look, it’s come a long way.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Comments are closed.