The 'rough' way I try to develop games is to keep the high level code (what bits driving the game) accessing a simple interface, both for how the game talks to other parts of the game, and also how the game interacts with the engine. We develop nearly everything in c++ however this high level code doesn't really use much in the way of c++ features.
A level down from the top level game code, the 'game engine' if you will, does have some bits of more 'advanced' code, and by advanced, I really mean code that uses more 'fancy' c++ features. However, it typically only does this when that really feels like the best way to implement something.
Getting more towards the low level code, the nuts and bolts of the generic engine, and delving right down into the platform specific parts, code performance becomes more an a driving factor. There isn't any speed difference between C/C++ per se, but it is probably fair to say there are more ways built into the c++ libraries that allow you to make your code run slow with a single line of code (and that single line can look relatively innocent). But just running the profiler over code from time to time quickly highlights any silly mistakes, and is generally a very good idea on a reasonable sized code base.
With regards to the argument about applications being less optimized these days, well yes maybe there is some truth there, but there are lots of things that help explain this, for instance, programming is a huge amount more accessible now than it was when writing assembly in the 80's, so you are going to have a lower entry point, therefore potentially lower 'quality' programs. I strongly believe that developer time is the most important aspect of making computer games (possibly all software, but I only have strong expertise in the games field). I would always favour code readability, debugability and reliability over performance. Ultimately you have to ship the product, but the time saved by developing code in this way, saves more than enough man power to perform profiling towards the end of the project, and profiling is so much better for optimizing a game rather than guess work, or a desire not to use some language feature that has potential performance consequences. On top of this, requirements change, features get added and removed, code gets used in ways it initially wasn't intended for and so on, so being able to quickly adapt (and I hate the world, but..) be 'agile' generally seems to be a winner.
There is one argument that all software should be optimized, but there is another argument that software so just run reasonable on 'reasonable' hardware (reasonable hardware maybe hardware that x% of the intended potential user base own), why waste man hours (money/time) optimizing when the software is 'good enough' (sure reasons like pride factor in, but perhaps more on a hobby front, rather than a business perspective). As for executable size, I can't help but feel, within reason 'who cares', storage/bandwidth/etc. is all pretty cheap these days, there are specific places where a very small foot print is going to be useful (perhaps an embedded system running on a wrist watch) but other than these cases I am not sure it is that much of an issue. Compilers now really are rather good, and often the basic optimization flags used mean they generate a lot of code (loop unrolling or inlining functions for example) which means larger executables, but generally faster ones too.
Finally (just to complete my derailment of this thread), I spent a relatively substantial amount of time developing with Python (and relatively large application, multithreaded, running over several machines with a central server, processing large volumes of data (a TB per hour perhaps), interfacing with lots of libraries. I think the same program would have required a team of people to get the same job done in C/C++, and not performed any better (as in if it ran faster, I could see it saving 10 minutes in a 24 hour period or something).
There was a bunch of things in Python I didn't like, but one day I'd like to have a little play with using Python for working on a game, it was just one of those languages where I often said "Wouldn't it be cool if Python could do XXXX" and after a some google help, I often found "Oh, Python *does* do that, well that makes my life easier!". I don't see it ever being something I'd use professionally for developing games, at least not any time soon, but I certainly found code more 'fun' in Python, more time solving interesting issues.
Sorry for the long post that isn't overly about C...!
Steve