Branimir said:
Phlip wrote:
That would be inpractical. One usually knows where are bottlenecks,
so, adequatly, project can be divided in soft
/ hard
parts, about
the time when project starts.
Why converting? This just wastes time and possibly introduces knew
bugs.
Greetings, Bane.
P.S. Once I'v wrote banking application using C++ builder,
faster then other two guys that used oracle forms. I was finished
long ago before they finished fighting with their tool in order to met
user requirements
You probably carefully analyzed requirements, developed an object
model, and implemented it. Props. (That means "proper respects",
honestly.)
I once took a program written in absolutely despicable BASIC, all one
big function, and re-wrote it as a very small amount of Ruby code.
http://flea.sourceforge.net
I did it by converting the BASIC into a form that I could call with
system(""). Then I put the simplest possible input into that program,
collected the output, and wrote a test case which forced my Ruby code
to return the same output.
When the test failed for the correct reason, I wrote just enough Ruby
to pass the test. Then I wrote another test requesting the next
simplest feature, and I got that test to pass.
As the Ruby code grew, I attended to its design, and refactored to
develop its object model. While refactoring, I ran all the tests every
1~10 edits.
Today that program contains around 100 tests. While developing it, the
only bugs I found were in the immediate feature I worked on. Adding
new features did not cause bugs, and refactoring to improve the design
did not cause bugs. And improved designs resist bugs.
In my current work I am unfamiliar with the profile of bug risks that
you fear, but of course in the olden days I would never have
refactored my modules so aggressively. These days I use test-first
development to avoid operating a debugger, and am free to change my
designs at whim, including changing a module's language.