× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Joe Pluta skrev:
Thorbjoern Ravn Andersen wrote:
Joe Pluta skrev:
I'm glad your code is fast, I am just of the opinion that microoptimizations may make your code less readable so it may be harder to maintain. If you are the only maintainer, great :) Saves time since you know the pattersn you write in.
Then you write bad code <shrug>. I think good code is eminently
Probably. I'm always trying to learn.

Even with well-thought out code you might still be surprised. I did some code which deleted a character from the head of a StringBuffer repeatedly until it was empty. Worked fine. Extremely readable. Showed up to be a bottleneck when doing it for 32kb strings. Oh well.


readable, and in fact I've always found that you know you're writing good code when you remove lines rather than add them. I don't use "clever" code, just well-written, well though-out code. I avoid trickiness, and concentrate on writing good code the first time. What I don't think is good is just writing code and then "refactoring" later; an occasional rewrite is necessary, rewriting everything over and over is a sign of bad design.

Designs have to conform to requirements. Requirements tend to change.. Eventually :)

I'd like to see some of your code to learn from - do you have anything put up for public consumption? (I could not locate one of your books which I could look inside to see any non-trivial exampels).


Well, Java 6 SDK ships with a database so perhaps it helps a little?
Not much. I don't consider Derby a business database, but rather a useful utility for storing small amounts of data. The last I looked, Derby doesn't support even basics like row expressions. And in general, SQL-only databases are far slower than ISAM for business applications.


What is so wrong with BigDecimal? That everything must be done as a method call, instead of +, -, etc just works?
Uh... yeah. Trying to read a complex expression written with BigDecimal is very painful.
That's just syntax - a few helper routines should do wonders.

e = plus(multiply(a, b), minus(c,d));

They get inlined anyway if they are small enough.

I think the idea of snap-together business software is a myth in the first place. The very purpose of business software is to provide a unique competitive advantage to a business based on their business practices. By definition, no two business have exactly the same practices so business software must either have lots of switches to determine its functioning (which absolutely kills SQL access), or it requires at the very least semi-custom software.

I am not talking about customizing software for a given customer, but having more flexible ways of dealing with changing specifications in code. Perhaps I need to think it more over before bringing it up again.


Anyway, enough on this. I really do try to avoid opinion, and this is very much opinion. But I still guarantee that I can sit down with a client and design a customized MRP generation (or just about any other complex business process) in RPG faster than any Java programmer on the planet.
I think it is fine to have and share an opinion for others to learn from. I am unfamiliar with the MRP term, so perhaps you will elaborate on that, and what tools you use to do this so fast for a customer? Does RPG have tools which are stronger or faster than e.g. Cobol or Java?



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.