| « Prev | Page 1 | Page 2 | Page 3 | Page 4 | Next » |
|
Just to get them out of the way,
TRWTF is Access. TRWTF is Visual Basic. TRWTF is Windows. TRWTF is senior citizens who are clearly senile still having jobs. (that's what Senior Engineer means, right?) |
|
So are they going to next embed an emulator of the actual machine to run the program?
|
|
"instead of storing the information in a variable, the values were stored in the background color of the form."
Let me guess, the engineers who built it were the ones that routinely forgot to wear hardhats in construction areas. One too many dropped wrenches have hit them on the head over the years... |
|
This comment is obsolete
|
|
The picture is nearly the same as the icon for Konsole (KDE terminal emulator)
|
|
"instead of storing the information in a variable, the values were stored in the background color of the form."
A noval approach to save memory, please award this man charter engineer status |
|
Background colors? WTF?
|
|
The engineers were just making the program memory efficient, back in those days memory was expensive. Why take up memory for a background color and a variable when you can use both to do the same thing?
|
Re: A Terminal Condition
2010-05-13 09:21
•
by
Ian
(unregistered)
|
I'm willing to bet that was the whole idea... |
|
When I saw the specs, I immediately thought to write an interface to access the application remotely. Glad to see they (eventually) came to the same conclusion. Hope they hide those HP-UX boxes somewhere safe and secure with a good UPS. Everyone's happy.
|
That's easy enough. All you need is a little drywall, some paint and a few alterations to the floorplan. As long as nobody in upper management tries to reuse the UNIX room for anything else you can have that legacy application retired by the end of the week. |
|
Not really a WTF. Screwing up is not inherently a WTF, it would only become one if management forced them to use the new system or poured extra resources into trying to fix it. Instead they took the pragmatic route, dumped the prototype and figured out a workable solution using the software they already had. Sounds like reasonable management to me, not really a WTF.
VB though, WTF? |
|
Back in the 90's, you didn't need to study computer science to write code. These were simpler and hopeful times where you could raise millions of dollars in investment capital just by prepending an ancient idea with the letter e. Code didn't need to be regression tested, or even show that it could perform its intended task in any way.
The culmination of this philosophy, of course, came with Windows ME. |
Re: A Terminal Condition
2010-05-13 09:29
•
by
Buddy
(unregistered)
|
Reminds me of the Astrocade/Bally Basic. |
Re: A Terminal Condition
2010-05-13 09:31
•
by
Ike
(unregistered)
|
Thank goodness those days are over. Now, of course, only those who have passed a rigorous certification process are allowed to write code. The end result? Windows Vista. |
Re: A Terminal Condition
2010-05-13 09:34
•
by
Broken Sarcasm Detector
(unregistered)
|
Let's have a vote: Who else endorses this solution? |
Re: A Terminal Condition
2010-05-13 09:39
•
by
Neville Flynn
(unregistered)
|
It's the OS X Terminal icon. |
|
The real kicker is that no one even tried to make it run under, say, Cygwin or a VM of some kind.
|
Re: A Terminal Condition
2010-05-13 09:45
•
by
Jim
(unregistered)
|
It's a fine solution - putting some of the project money into updating the hardware, and making the old tool work on up-to-date UNIX would be a plus. Modern Solution: Virtual Machine running the same legacy program. If it ain't broke, don't fix it (especially with VB, Access and Background Colours) |
|
This is great, now we can throw out the legacy version. We won't be needing this code anymore. Bye-bye old server. Wait, now the new one's not loading. Fix it! Fix it now!
|
|
The legacy system has been re-purposed.
|
|
Given the constraints of budget and schedule, it's a serviceable solution.
I presume the legacy application is written in C, so the "right" answer would have been to just take the C code and recompile it for Windows, which probably wouldn't have required all <i>that</i> much modification. Less work than coding a new one from scratch in VB. Even if it weren't in C, so long as it wasn't written in Assembly, it probably could have been ported with less effort than writing a VB version. |
|
Sigh. Sounds a lot like the codebase at my previous employer. The had gone through a phase of hiring extremely bright people with experience in disciplines that only occasionally touched on programming. As a finance software house, they were able to lure such people with the promise of higher salaries than they could make in the more traditional engineering industries. The trouble was, the codebase went to shit, as these people were used to coding a lot of "throwaway" code in languages such as Perl. Transitioning to C and C++ meant a profusion of impressive hacks, as they lacked the time or inclination to learn the details of the languages or libraries.
|
Re: A Terminal Condition
2010-05-13 09:51
•
by
Anonymous
(unregistered)
|
Er, right... I'm in safety critical so I'm rigorously certified in... well... you know what, I write flight control systems and I have absolutely no certifications of any kind. Sure I have a CS degree but that's pretty much all theory - I certainly don't have any certifications to prove that I can actually put it into practice. Anyway, enjoy your next plane journey. |
|
This screams for a COTS solution. Like Thermo-Calc, for instance.
|
|
Sadly, this is typical of many (not all) chemical engineers who attempt to write code. I speak as an ex-chemical engineer, and I used to do horrible stuff like this. Thankfully, I had many computer science friends who steered me correctly, and I did a *lot* of reading.
When I finally landed my first real developer job at a chemical company (in the IT department), our group was charged with converting these hacked-together types of engineering calculation programs into solutions that were actually usable. Don't get me wrong: the engineers were smart folks and were very good at the calculations. They just weren't software designers. One example of something we had to fix: At times, the software needed a Yes or No answer from the user. Rather than put up a MessageBox with Yes and No buttons, they put up an input box and required the user to type either a Y or an N. In capitals. And anything else crashed the program. |
Re: A Terminal Condition
2010-05-13 09:58
•
by
java.lang.Chris;
|
Me. They could have still done something "enterprisey" without creating a total WTF, by adding an RPC layer on top of the old application, and having a lightweight front end communicating with it from the engineers' desktop machines. |
Re: A Terminal Condition
2010-05-13 09:58
•
by
RandomUser423689
(unregistered)
|
Sadly, those days will never be over (as I'm sure you know, noting the sarcasm). Economic factors will always push large amounts of work with as low a barrier to entry as "coding", onto the untrained and the self-taught. The only (obvious) thing that might stop it would be wide-spread unionization of such work, but all I can say is, "good luck with that." An old discussion for the regulars here, but I figured I'd mention it for the passers-by. |
|
This is a modestly amusing anecdote/war story, but doesn't really rise to a WTF....
|
|
I inherited a program that my company had hired an outside company to produce. They wrote the whole think in VB (but at least it was VB.Net, but I don't think they changed any of their old habits when they moved from plain VB to VB.Net). One of the shocking things I discovered while vainly attempting to improve it was that they stored a bunch of settings in the registry, but the strings they used for the keys in the registry where read from labels on one of the forms. Change one of the labels and you break the program because it can't find the right registry key anymore!
Needless to say, we never used them again. |
Re: A Terminal Condition
2010-05-13 10:05
•
by
Quirkafleeg
(unregistered)
|
I think that either it's a (default) shell command continuation prompt, which makes some sense (continue on with the HP-UX boxes), or it's a BBC BASIC command prompt. Now, why nobody thought to use telnet earlier, say about when manglement decided that rewriting for Windows was the Way Forward… there's the real failure. Still, as I'm sure that we all agree, at least they got there in the end. |
Re: A Terminal Condition
2010-05-13 10:21
•
by
ARMed but harmless
(unregistered)
|
No, comment #308591 is obsolete, as it doesn't meet the high standard set by e.g. #308611 |
|
Great side effect of the background color variable -- you know the program is about to crash when it starts cycling through all of the colors of the rainbow.
|
|
FF0000th post!
|
|
Using VB for scientific computing is like hiring a 3rd grader as a research assistant.
|
Re: A Terminal Condition
2010-05-13 10:28
•
by
re:me
(unregistered)
|
Yeah, now their only in management positions and making decisions based on what they "know" from their programming days. |
QFT. I've been in a 10 person development team in which I was the only member without a PhD. And the only member who had ever read a book on software engineering. Or had programmed in other than FORTRAN-77. It was a WTF-generator. |
Re: A Terminal Condition
2010-05-13 10:29
•
by
Anonymouse
(unregistered)
|
The article makes it seem like that this was from the early to mid 90's. Emulation and virtualization technologies were pretty immature then. Even a straight-up port of the code from HP-UX to CLI Windows would have been a pain, especially if the legacy code was K&R C and curses based. |
|
In the engineers' defense, the background color hack was ported from the original application, which used the background color of the console to store heat exchanger IDs. This, of course, was a several-order-of-magnitude improvement in storage space.
|
Re: A Terminal Condition
2010-05-13 10:37
•
by
zidar
(unregistered)
|
Yea, just think of how much memory would be saved if all variables were saved like that. Each var being one pixel, and the color would be its value. That would make for some really pretty programs and easy debugging! |
Re: A Terminal Condition
2010-05-13 10:38
•
by
anon
(unregistered)
|
actually, the article makes it quite clear that it was the LATE 90's in the very first sentence. point's still mostly valid though. cygwin was around, but not mature or usable enough for something like this (hell, it's still not), and virtualization was pretty much non existent. |
Re: A Terminal Condition
2010-05-13 10:52
•
by
bannedfromcoding
|
Not to mention C/Fortran constructs that exploited some specific quirks of HPPA architecture... |
Re: A Terminal Condition
2010-05-13 11:05
•
by
Anonymouse
(unregistered)
|
BURN! In my defense, I didn't think reading comprehension was a requirement for commenting on article here... |
Re: A Terminal Condition
2010-05-13 11:13
•
by
OldCoder
(unregistered)
|
These people are engineers. The legacy system was almost certainly written in Fortran. |
Re: A Terminal Condition
2010-05-13 11:18
•
by
boing boing
(unregistered)
|
|
787 maybe?
|
DO-178B or equivalent ? If not, name of company so I can never set foot on their aircraft ! [Edit] Hah! Just noticed the previous comment which beat me to it. |
Re: A Terminal Condition
2010-05-13 11:20
•
by
Hired Gun
(unregistered)
|
Oh, come on. Do you REALLY think that the language an application is written in makes any difference? Yes, there were a lot of things that couldn't be done in VB that were available in C, but that doesn't invalidate VB as a platform. My motorcycle can't pull my boat, but my truck can. That doesn't invalidate my motorcycle as a method of transportation, does it? Here are the criteria for choosing a language to develop a project in: 1) Does the customer's existing hardware support the platform, or are they willing to purchase the necessary hardware? 2) Is the language anticipated to be supported for the duration of the program's life cycle? 3) Does the language include all the functions necessary to meet the requirements of the application and the customer's security/distribution requirements? 4) Is there a supply of programming talent sufficiently proficient in the language available to the customer to maintain the project for the duration of the program's life cycle? If your choice meets those requirements, then it's a valid choice. If you give a master carpenter a job to do, he may prefer his DeWalt tools over the Ryobi, but he can still do every bit as good a job with the Ryobi tools. Enough of this prima-donna "My language is better than yours" crap. We're supposed to be programmers, not evangelists. Anyone who knows what they're doing in programming should be able to function in anything from Q-BASIC to assembly, if given time to learn the syntax. Programming is about problem solving. If you can't think critically and solve problems, then you can't program. If you can solve problems, then the language doesn't mean squat as long as you learn it. |
Re: A Terminal Condition
2010-05-13 11:29
•
by
Flurgle
(unregistered)
|
Especially on embedded devices with no filesystem... These days they'd just use XML anyway... |
Re: A Terminal Condition
2010-05-13 11:32
•
by
Adam
(unregistered)
|
It invalidates your motorcycle from effectively pulling the boat, but you can still try. The way I see it: C is the truck, VB is the motorcycle, scientific programming is the boat. |
Re: A Terminal Condition
2010-05-13 11:35
•
by
Adam
(unregistered)
|
Or, with more granularity, "scientific" is the boat, "programming" is the need for transportation. |
| « Prev | Page 1 | Page 2 | Page 3 | Page 4 | Next » |