Been thinking a bit since I left work last night (came back in today for various other things) and this looks like a good post to hang my intended question off. But first an aside...
(not counting all these weird but awesome ones on http://www.esolangs.org/)
If you see one pop up there called "Quad" (just four, uncomplicated (not SUBLEQ-complicated, certainly) opcodes, and ripe for self-modification) I've gotten around to doing something other than just letting my nearly two-decades-ago university project other than let it fester on doubtless unreadable 5.25" diskettes and all the more recent thoughts just rattling around in my mind.
Warning: Never ever use an advanced programming environment to learn programming (it will only frustrate you), just use some simple text editors, preferably with syntax highlighting.
(Considered something along the lines of "wuss, we don't need no steenkeeng syntax highlighting", but I must admit it's useful when the IDE points out those little typos (and thinkos) one makes.
Anyhow... main question. Recently I've been mostly developing my C++ in a Linux environment. Somewhere I still have my paid-for Borland Turbo C++ package (for DOS! Also the related Assembler IDE) goes back to some time after I left Uni, but I'm sure it'll have issues with the various Windowses of the post 9x-era.
So, given I'm not a student now (although, I am considering something... but that'll be a couple of years down the line), what's your suggestions for MS-platform
free IDE for C++ (and probably related languages, and possibly unrelated ones, like the Gnue Compile Collection now is, though I don't intend to touch Ada with a bargepole!).
I see that GCC has at least three different Wintel-ready variants (or of course I could build it myself, but I'm not sure whether I want to mess about with compiling and configuring said syntax-highlighting interface...) and there are some other names I recognise (and some that I don't) that seem to be of a similar cut, but... Personal recommendations?
Of course, I could just use one of the many notepad-clones that has inbuilt multi-lingo identifying/highlighting support. And, at the same time, I'm really not into the Powerbuilder-style environment (as was, at least, given my experience is from ten years ago) which tries to visually show the connections between objects.
Regarding your rant, BTW, here's a bit of my history.
I was taught Pascal (DOS-style text editor... it was in the '80s) as my first non-BASIC/non-Assembler language, and I later picked up TurboPascal (Lazarus's inspiration/predecessor, a later purchase from Borland) on my own. While it isn't pretty by some standards, and on the rare occasions I go back to that for some rapid non-console interface prototyping (personally find it easier convert to that and than use Perl/Tk, even though I tend to prototype my non-visual code in Perl) and have had to fight to remember which particular bit of header I need to put global stuff into, the rest does fairly well pad out. Nothing like as bad as COBOL or Ada (two different languages, worse than Delphi in their own particular ways, if you forgive me for dismissing your dismissal of Pascal
) and I don't find Pascal/Delphi to have such an ugly syntax, on a line-by-line basis. But, then again, I see what you mean.
I don[t find the case insensitivity to be an issue. If you've got "VAR1" and "var1" and "Var1" and possibly even "VaR1", "vAR1" and "VAr1" in your code and you intend them to be separate entities for separate purposes, you're probably coding wrong.
Not that I'd ever consider using "var1 = 'foo'" as a trivial statement and "VAR1 = 'bar'" as a statement to operate on the same variable but MORE NOTICEABLE! And neither do I always stick with camelCase (I might put constants in ALLUPPER and various other schemes of representation to differentiate 'working' variables from the ones either arriving as function parameters or intended to eventually be returned at the end).
Tell you what, though, when I was originally using Delphi regularly, I'd usually spend hours and hours and hours doing all the largely unnecessary coding needed to ensure that when the windows were resized, the buttons and other visual components rearranged and resized themselves aesthetically... And
then, I'd get around to setting up the various buttons/checkboxes/spin controls/whatavyer to give me the control I needed over the process, and eventually I'd get around to writing (or porting) the stuff I'd originally wanted to get going behind the scenes... Absolutely rubbish project development skills, I'm sure you'd agree.
edit: So many typos (e.g. "Gnue Compiler Collection") or at least awkward bits of grammar. And, not the least, I somehow typed "TurboPascal" instead of "Delphi" at one point... a bit of a Freudian slip? I've no idea how my brain and fingers managed to screw that one up. Can only assume I was being distracted by something when I typed it.