60 karma · joined January 11, 2010
If you live in or near a big city chances are that the airports out of which you will want to fly will be close to airspace into which you cannot fly. It a hassle if you have to drive out to the boonies in order to start your flying trip or if you have to take the long way around a large block of busy airspace.
> We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
Everyone seems to latch on the second part, but the first part, and the context, are very important. At the time the quote was first coined they were considering "premature optimization" to be the use of "inc eax" instead of "add eax, 1". The key, I think, is the bit about small efficiencies -- we shouldn't worry that "inc eax" uses two bytes less than "add eax, 1" from the outset, but cache thrashing should definitely be a concern.
Optimization is something that should always be in a programmers mind, especially when programming embedded machines. If you're not at a point where you are optimizing the code you are working with then you should be writing it in a way that it can be optimized down the road.
I would think that anyone who uses "premature optimization is the root of all evil" as a retort is fair game for being challenged on how they would actually optimize their code when they have the chance :)
(disclaimer: I write code for video games, my world view may not be the same as yours, though I still believe this applies globally.)
C++ brings a lot of heavy-weight machinery to the table but the best part is that you don't have to use it. If you just want to write C but desire templates to reduce the amount of writing you need to do then so be it, write C-with-templates!
My big beef with the language is mostly due to the legacy crud it is saddled with in the C preprocessor. Many of the build time issues I find myself suffering with are because of people, for example, including Windows.h a) in the first place and b) not defining WIN32_LEAN_AND_MEAN. Junior (and senior, for that matter!) developers seldom know how to properly structure their code so that their iteration times don't plummet.
If I could get my old job back (or similar) within that time frame I would quit tomorrow.
Although they restrict who can develop games destined for brick and mortar stores, Microsoft has provided XNA as a way of developing for their platform that is not altogether unreasonable in terms or expense.
Calling my work shit without providing any constructive feedback, problem details, or patches will tend to make your future requests for help go straight to the bottom of my priority list.
Blaming me or my work for a problem you are experiencing without performing any investigation into what actually the problem is also will make any future requests for help go straight to the bottom of my priority list. Not quite as far down as the category above though.
I don't want to sound like a prima-donna but I don't like creating unnecessary work for others because most people have better things to do, I just wish this was reciprocated more often.
"If both the A and B hydraulic systems fail as indicated by illumination of the A HYD and B HYD warning lights and confirmed by loss of A and B hydraulic pressure and deteriorating control effectiveness:
1. Eject"
Book publishers also generally aren't trying to recoup $50-100,000,000 development budgets.
What would be a better solution?
The problem with Apple in this case and in many others is that they do not enforce every app's compliance consistently and see no problem with the fact that they don't.