Re: C++ blows - Agreed!
As a young teenager in the 80s I started playing first with a commodore PET at school and then my own BBC Micro. So I picked up BASIC. My 'O' level was written in 6502 machine code. My 'A' level was written in BASIC. They had taught us Pascal, which was an option, but I was pissed at them for not letting me use machine code for the 'A' level.
I would give Pascal another chance a few years later.
Even doing the 'A' level I started to become disillusioned with what we were being taught, so when I saw the degree syllabus I decided I'd had enough of this education rubbish. I still remember the computer science teacher calling me out of a geography lesson to help him set things up when I was 13!
From there the big old world of work started. COBOL, PCs, 8086 machine code, DOS TSRs, windoze, bit of OS2, VB, Delphi, C etc. Intarweb and TCP/IP.
Delphi (Pascal++) is probably my favourite for writing windows apps. It's just so quick. How C became some dominant when it was designed to make thing unreadable after you turn away for 5 minutes is beyond me.
I never ceased to be amazed at the number of grads I worked with who just had no fundamental knowledge of computers. Sure I could forgive them for not having built a computer from spare bits aged 15, not everyone was a geeky as me, but to looked astonished when I open a command prompt and type a few magical incantations is unforgivable.
Typical example - "I have a load of music mp3s, mpeg movies and word docs all together in a directory, how can I move just the tunes and movies?"
Errr, move *.m* <destination>
Reclaim all the drive space windows has cluttered up with temporary files?
del "%temp%\*.*" /s /f /q
These days I program windows apps and microcontrollers. It's interesting juggling between Delphi windows apps and C/ASM on the MCU, ad yes, fixing other people's C code.
There is always a sigh and relaxed smile on my face when I return to Delphi and have native string handling once again! Not to mention the inherent security aspect of having a language which knows how to handle strings, and isn't just forcing you to throw random characters about in memory!