On Jun 14, 2008, at 6:17 AM, Theodore H. Smith wrote:
On Jun 13, 2008, at 3:50 PM, Theodore H. Smith wrote:
From: Norman Palardy <npalardy@great-white-software.com>
On 13-Jun-08, at 10:15 AM, Matt Milano wrote:
Don't get me wrong. I realize that RS fixes a large number of bugs
with each release. But there is also a number of them that just
never seem to get fixed.
Then again, my perspective could be a bit skewed since I've been
working till 1 and 2 in the morning for the last week dealing with
a couple of them. :-)
Oddly enough some things you think might be easy to fix can be
harder
than you might imagine, hence why they take longer to get fixed
Mostly due to bad design, bad programming practice, or lack of unit
tests, however.
Or because RB provides us with simple interfaces to what can be
drastically more complicated under the hood. There may be LOT of
work
between the questionable statement and your code calling it. Not
everything is just wrapping a toolbox call into an RB method.
On the other hand, if you didn't say that... you might give RS a bit
more impetus to improve their programming practices, and use unit
tests. But then defending them saying "there is nothing that can be
done"... leads to the impetus that makes them change nothing and let
things remain as they are.
At least I'm pushing in the right direction.
I know a thing or two about making complicated stuff that gets
called from one function... My ElfDataFuzzy class has miles of code
based on even more theory. (Unlike most code people make, which is a
lot of code based on a tiny amount of theory). Pretty much all the
work gets done through one API function. No toolboxes called, I had
to invent everything myself.
And yet it runs perfectly.
(Although it only turns out to be fast when the string lengths are
under 32 chars or so... so not so good for putting DNA strings in
there of 100-1000 bytes long. Maybe oneday I'll figure out how to
fix that.)
That's only possible due to rigorous unit tests that test every
possible variation, the strongest of design skills, and good clear
programming practices, like splitting up functions into well defined
meaningful subfunctions with a clear goal, even if those functions
are only ever called from one place.
I had to make massive changes and change the requirements
drastically, too.
It's an extreme example, as most people need to invent nothing to do
programming. But still... the pattern holds even at extremes way
above RB's situation.
This is an extreme example of ignorance. Your ElfData stuff is a one-
person project in a very limited area particularly suited to
verification through unit testing, and unconstrained by economic
concerns. REALbasic is a multi-person project covering several major
areas of software development, constrained by the need to turn a profit.
Charles Yeomans
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>
|