When you go to the car mechanic to get your car fixed, you've got some idea of what it will cost. It may bot be a good one, but its an estimate that you've got in your head. Maybe a $300 part and two hours labor at $100/hour or whatever insane rate they charge, so $400 to $600.
Today's world is becoming more and more with someone working with a programmer.
It may be as programmer themselves (and anyone who been on the searching for a good applicant side of an interview knows its hard to find good programmers) - we need more programmers more than we need another person working at Mc Donald's. Certainly, not everyone can be a professional programmer, but I'm sure there's a lot falling through the cracks of society never realizing that they want to be a professional programmer (or for that matter, can).
It may also be someone hiring someone to do a job. A small business person hiring someone to write a front end to a database for a CRM, or website, or whatever. Look on eLance some time and glance at the estimates that people have - "I want a Facebook clone in 2 weeks for $500." Try not to laugh too hard. They are out there asking for such absurdities. Thats almost like going to the mechanic and expecting that part to cost $0.50 and the person to work at $5/h... um, no.
By having an idea of what can be done, and an inkling of an idea we get clients and managers that aren't going to want *everything* done today. Well, they will still want it, but when you tell them the actual price and timeline, they'll maybe not think that we're trying to rip them off (while we sit back and click on webcomics and write our own Facebook clone all day... or at least thats what they think we do).
There's also the aspect of people becoming a bit more literate in computing itself. They'll hopefully have an idea of what a computer can and can't do. No, cookies aren't stealing your information - the key logger that you installed with that game you downloaded is. The cloud is not affected by the weather. So on and so forth...
Looking at the number of people who have interactions with computers today compared to 20 years ago, I suspect that more people work with computers in one way shape or form than their own oven... unless its a microwave oven, with an embedded... oh yea. Computer literacy and basic ability to write a program is almost as important as regular literacy and being able to write an essay. It doesn't mean everyone will do it every day, but its becoming basic life skills in today's world.
Then I realized what this would do to the value of the house. All the software would be written by me. This would mean that any buyer would either: a) rip it out because they don't understand it and need to replace it (thus lowering the value of the house) or b) need to do a code audit on everything I wrote to avoid any back doors (costing money and thus lowering the value of the house) and possibly c) be calling me for support when something breaks.
Me putting in the time and money to do such a level of home automation would ultimately make the house worth significantly less. And thus I came up with the order of things that are done in the house: Maintain the current value of the house (if there is something that needs to be done that is otherwise causing the value of the house to decrease (leaky basement walls) do that). Don't do anything that will decrease the value of the house (crazy personalized custom stuff that only has value to me is out). Increase the value of the house - a standard zone system with a Nest in each room is cheaper, likely more efficient, and improves the value of the house over a custom system.
So unless you are never thinking of selling this house in your lifetime, avoid doing anything crazy customized to you unless you are going to accept that ultimately another buyer is going to rip it out and replace it - and factor in the ripping it out and replacing it into the resale value. Not everyone out there is a geek.
In Dread Empire's Fall series, this is handled by having a pilot in a small ship that stays within a few light seconds of the missiles (AI was one of the things that the Shaa prohibited). The idea being that an antimatter missile (the prime weapon of the series) will take out a ship no matter how big. Part of the interesting bit of this series is that aside from infrastructure and wormholes - the tech used is imaginable (slingshots around gravity wells, having to burn in the other direction to slow down rather than magically stoping).
(not exactly related to the issue, bug a good series nonetheless)
In the Star Carrier series, small manned ships were the primary thing, accelerating to near C and then releasing a kinetic slug just before decelerating. One technique employed was launching what was intended to be anti-missile 'sand' in a wide dispersion (again, at near C) which took out a number of large ships and crippled the rest. The physics of this series is a bit more out there (makes use of the Alcubierre drive and highly advanced physics to accelerate to near C within a few minutes).
Hypercard didn't have any access natively to the serial port or similar interfaces. To do this, one had to write an XCMD (wow, Dr Dobbs has a good archive) resource in pascal or C (or possibly assembly) to talk to the low level system/hardware. This created an additional command / function that Hypercard could call. To an extent, this did cause some fragmentation of the language
Looking at an old archive at umich, you can get an idea of what these xcmds could do.
To do anything beyond the basic capability of Hypertalk, it required you to be able to go in with resedit, download (or write) and add the appropriate additional functionality. This was a tool that was part of a programmer's toolkit - not a user's.
Deprecated in iOS 5.0
uniqueIdentifier An alphanumeric string unique to each device based on various hardware details. (read-only) (Deprecated in iOS 5.0. Instead, create a unique identifier specific to your app.)
It is possible (necessary?), that Apple retains private APIs to be able access this and does so with their applications - while the game that you propose writing wouldn't be able to access the UDID. If you want to do so, do so rapidly and hope your app doesn't get rejected.
Hackers of the world, unite!