I'd prefer to use another higher level language, maybe C# or Java, but better yet something more suited to the problem domain that is without pointers entirely.
Burn the heretic!!! Pointers are good. Java is a language I really dislike on so many levels, and C# I've never used... And I am unlikely to ever use it now.
C/C++ is a nice compromise between High level and low level programming languages.
If I'm going high level, I'm using Obj-C.
If I had no choice but to use C or C++ then I'd pick C++ since I can at least hope to catch some of the blindingly obvious issues and deliberately avoid using raw pointers which cause most of these kinds of bugs.
C++ is a must for any medium to large project. But I tend to mix C, C++ and Obj-C into a single project depending on the complexity of what I'm doing.
The issues that people are spouting about C vs C++ here are weird, it's like stepping back to the 1990s when I started coding in C - they're outdated. You don't need to know all of C++ to use it, you use the bits you need, learn something new now and then. The same as you do with C, if I want to get as low-level as C with C++ then I do, if I don't then I don't. Nothing more too it.
I agree. Mixing and matching is also possible, not sure how to do something in C++, do it that way you would in C... etc...
[/quote]
I think the Amiga needs a modern version of GCC / LLVM / CLang just to disspell these myths!

So how do we go about doing that productively? Even if GCC 4.8 spews poor integer code for 68k now, that doesn't mean we have to leave it that way.[/QUOTE]