
Algorithm Optimisation Thoughts - Languageh Independent Stage Of Development
Hi there,
I am an applications programmer I mainly write Expert systems - lots and
lots of if then rules and financial apps etc, sometimes I feel that with
applications - the ones that I create - there is no point optimising for
speed, since frm what I now understand the compiler has lots of built in
Features, I only care about producing a working app that is well designed
and, I normally think about the problem do lots of background reading and
then think of a solution, near enough 90% of the time i have one way of
solving a problem - and I use that, I find it impossible at this stage while
in the realms of language independence to know if the algo will be slow,
especially if this type of problem is new to you, how is this possible
especially if this is a solution that is unique to you.
it seems impossible to me to then think up 4-5 ways and then accurately test
each one against the other, what metrics could u use - could use
complecity - semantic complexity, but for me when i have a problem, when I
have a working solution in my mind - it seems the interesting part is over -
since to me this is the intellectual part of developing software the
artistic part - if any of you do it differently please tell me, but alot of
the time for people that have been programming for a few years it seems that
programming is more now a habitual trend, so therefore solutions muster
themselves within our sub-conscious - how do we at this stage no the algo is
inefficient - if all we are looking for is a working solution.
Only once i have designed it and then code it - start to measure it - the
next time I use this algo - then will probably do things to make it
efficient - if i can - but to me the main joy is getting the prog working in
and then to creat good structure and modularity, optimisation does not play
a major role in my programming thoughts, I would be pleased to hear about
your thoughts on optimising algorithms, away from a language and also the
hard topic of optimising an algo for a problem that is unique to you,
examples could be expert system for a Medical Diagnosis system - one of the
things that I have written - I was just glad to see i working in my mind
after months of not seeing it work - never even thought of optimising the
algo, it worked !! then coded the design and thus the end. Anyway your
thoughts are most welcome !!!
Thanks
Gary