Greta (previously) sends us more updates from her "Ancient Development Environment".
An important task an IDE must do is report build errors to its users. Arguably, that's one of the most important parts. I wouldn't know, I insist on building from the CLI all the time, because IDEs confuse and frighten me. I recognize I'm the weird one here, who is more comfortable in GDB than in a GUI debugger, but this isn't about me, it's about the IDE Greta is using.
It needs to display an error. Why does it need to display an error? Well, Greta hasn't figured that out yet. The error I'm about to show you doesn't really explain what happened or why or give any hint as to what needs to be done to fix it. To make matters more confusing, it doesn't happen consistently, so simply re-running the build could potentially fix it.
None of that is why we're here, though. What makes this a WTF is how the error is displayed:
Greta shares her bullet points about what she hates about this:
- It's a popup that happens arbitrarily during build, under unknown conditions
- It says nothing about what went wrong, or indeed if anything went wrong
- It's in a non-user-legible XHTML format. It shows the markup of this XHTML rather than it being rendered.
- It arguably shows the XHTML markup in the worst way possible: in a tree view (?!) with one row per source line
- The markup isn't even well-formed. I'll let you count the reasons why.
- The control used is from some sort of legacy windowing toolkit that doesn't support text anti-aliasing.
- The first button on the upper-left, "Get latest C++ Builder Direct headlines from the Internet", does nothing.
I'd honestly forgotten about the era when the Internet was still kinda novel so every application had a "push a button and go to our web page, and this somehow definitely won't just break when we change our URL structure in the future."
Greta adds:
For all of the hatred I harbour for this, the second button ("Information about C++ Builder Direct") brings up the following powerful dose of 90s nostalgia, so I can't stay mad: