Linked by Takuya Murata on Tue 18th May 2004 06:26 UTC
My physics teacher likes to say that physics like to make problems they face look like ones that they know how to solve. A simple harmonic oscillation was one he frequently used in class, as is presumably the case in physics in general.
Permalink for comment
To read all comments associated with this story, please click here.
"Reusabiliy, once seen as a key to solve never-materialized software crisis, is a fallacy of false analogy"
This is so far from the truth in the corporate world that it hurts. We spent quite a bit of time setting up a reusability framework for our (very) specialist area. Turn around time on new projects now is almost 1000% percent faster using the framework classes than rewriting, making our clients (and my boss) much happier. Plus, a fix in the framework fixes five products simultaneously. Dynamically loading class frameworks means that we ship a single patch DLL rather than having to reship our entire product for an upgrade or a bug fix, plus reducing our testing and deployment requirements for each change.
Where would the world be without MFC (ok jokes please), Win32/FX, libXML, OpenGL, DirectX, Qt, standard libraries, etc. etc.? You talk about writing your text editor -- try doing the GUI without using a reusable class such as CWindow/CView (MFC), NSWindow (Cocoa) etc. you'll find (unless you're using VB or the like) that's it's quite a challenge.
"A software component can be copied without any cost"
Until you find a bug in the original component code, and then have to make the same bug fix through EVERY product that you've written, rather than just re-linking against an updated library. Or, you find a huge speed improvement in the original code, and to affect that change in all your products you need to manually change each copied section of code EXACTLY the same. Then test each new change individually. The cost is huge in comparison.
"Concurrency is a fantasy. After all, computers do one thing at a time"
Again -- ouch? What about multiprocessor boxes, multicore processors, hyperthreading, altivec? We have clients with 16-processor machines, if our (server) software could only use one processor at a time, not only would our clients be annoyed, but throughput would drop drastically.
"Prolog? AI? Genetic algorithms? Voice recognition? Agents? .... Who has any clue about them."
Guess you've never played a (recent) computer game. Imagine Half-Life without AI. We use remote agents in our (shipping) products, and use AI (ie. learning behaviour) techniques to manage load-balancing and process-path optimization. Where would Anti-virus programs be without heuristics (eg. AI)?
And these are just a few comments -- there are so many things wrong with this article that it's hard to find anything that's right.
Sometimes the best solutions come from having a clue about these things beforehand. Maybe open a book and read up on these topics before writing such uninformed, inane banter and pretending that you have a clue.
My guess on this article is that it's meant to be a troll of sorts and I usually ignore them, but considering this is a 'page one' topic on osnews, I couldn't resist.
A few points --
"Reusabiliy, once seen as a key to solve never-materialized software crisis, is a fallacy of false analogy"
This is so far from the truth in the corporate world that it hurts. We spent quite a bit of time setting up a reusability framework for our (very) specialist area. Turn around time on new projects now is almost 1000% percent faster using the framework classes than rewriting, making our clients (and my boss) much happier. Plus, a fix in the framework fixes five products simultaneously. Dynamically loading class frameworks means that we ship a single patch DLL rather than having to reship our entire product for an upgrade or a bug fix, plus reducing our testing and deployment requirements for each change.
Where would the world be without MFC (ok jokes please), Win32/FX, libXML, OpenGL, DirectX, Qt, standard libraries, etc. etc.? You talk about writing your text editor -- try doing the GUI without using a reusable class such as CWindow/CView (MFC), NSWindow (Cocoa) etc. you'll find (unless you're using VB or the like) that's it's quite a challenge.
"A software component can be copied without any cost"
Until you find a bug in the original component code, and then have to make the same bug fix through EVERY product that you've written, rather than just re-linking against an updated library. Or, you find a huge speed improvement in the original code, and to affect that change in all your products you need to manually change each copied section of code EXACTLY the same. Then test each new change individually. The cost is huge in comparison.
"Concurrency is a fantasy. After all, computers do one thing at a time"
Again -- ouch? What about multiprocessor boxes, multicore processors, hyperthreading, altivec? We have clients with 16-processor machines, if our (server) software could only use one processor at a time, not only would our clients be annoyed, but throughput would drop drastically.
"Prolog? AI? Genetic algorithms? Voice recognition? Agents? .... Who has any clue about them."
Guess you've never played a (recent) computer game. Imagine Half-Life without AI. We use remote agents in our (shipping) products, and use AI (ie. learning behaviour) techniques to manage load-balancing and process-path optimization. Where would Anti-virus programs be without heuristics (eg. AI)?
And these are just a few comments -- there are so many things wrong with this article that it's hard to find anything that's right.
Sometimes the best solutions come from having a clue about these things beforehand. Maybe open a book and read up on these topics before writing such uninformed, inane banter and pretending that you have a clue.
My guess on this article is that it's meant to be a troll of sorts and I usually ignore them, but considering this is a 'page one' topic on osnews, I couldn't resist.