Main > Main Forum
USB Stick PC - Very tiny PC built for $25
Necro:
Well, now...that's just an ignorant statement given you mean it to be such a blanket statement. There's TONS of things you do on computers these days that are highly limited by the processor.
RandyT:
--- Quote from: pinballjim on May 11, 2011, 09:44:40 am ---Oh what a load of bunk. What you can do on a computer these days is a limitation of your artistic vision, not the processor.
--- End quote ---
I never stated otherwise and I'm not exactly sure how you managed to get the message you are feeling compelled to decry from what I wrote.
My comment refers to the massive amount of horsepower needed to accommodate your "artists", when "low-level programmers" can do a lot more with a lot less. The really impressive stuff comes from those who are both. There is a ton of evidence to support this. Look at every console launch and the titles which launch with it. They all smack of the tools provided by the hardware manufacturer to provide basic functionality. It's not until programmers learn to bypass these and take advantage of the hardware in their own ways, sometimes getting it to do things even the manufacturer didn't know it could, that the software really reflects what the hardware is capable of. But by then, a new piece of hardware usually comes out, and the cycle starts over, leaving underutilized hardware in it's wake.
Those C64 demos are perfect examples of this. They were done by ignoring Commodore's advice to "use the doors, not the windows". And if you don't know what that is referring to, then we probably aren't going to have a very productive discussion. :)
RandyT:
--- Quote from: pinballjim on May 11, 2011, 02:15:42 pm ---You sound old.
--- End quote ---
Thank you ;)
MonMotha:
He's right, at least to some degree, though. All the modern programmer comforts like VMs, dynamic typing checked at runtime, other various runtime checks, interpreted languages, etc. do come with rather substantial overhead in terms of memory and CPU usage. While they let programmers (even mediocre ones) quickly bang out "useful" programs, there's no doubt that it's at the expense of performance and size. Now, on a modern PC, this often isn't a huge deal; they're so fast and have so much memory that nobody generally cares. However, in some PC hosted scenarios, it matters: large data sets, highly interactive/real-time situations, slow IO channels like WANs, etc. One has to balance the rather large costs associated with getting closer to the metal with the required performance. It may be cheaper for all parties to just tell the user to buy a faster computer, much as it pains me to see a word processor running poorly on a 3GHz Pentium 4 with 2GB of RAM, but sometimes it's worth it to actually figure out why your program takes 30 minutes to load a 100MB dataset.
Now, when you get into the "embedded" world, things are a little different. Other factors such as price and power consumption start to dominate, especially on high volume and/or portable (battery powered) products. You can't afford a 3GHz, 100W CPU in either your power or financial budget. 8GB of RAM just physically won't fit on the circuit board in any real-world package along with all the other stuff the device needs. The programmer has no choice but to move closer to the hardware for all but the most trivial of "apps". The "$25 PC" described in this thread falls somewhere along these lines.
Things change even more when you're firmly in the embedded world. In this case, I don't mean things like phones and tablets. I mean things like your microwave oven or alarm clock. These things often have micros with a whopping 256 bytes of RAM. You don't have room for a VM, much less an interpreter. You don't have room for dynamic typing. Hell, you don't have room for much of an OS: maybe a simple scheduler and a few "tasks" with some locking/signaling between them. The C language dominates, and it's by no means unheard of to bust out some inline assembly.
Heck, there exist some (very low cost) micros that HAVE NO RAM. You get the CPU's registers and some ROM for the program. Since they lack a stack, you basically can't program in C at all (well, there exist some hacks - you get one level of function call depth in most cases).
Don't knock on "lean and mean" programming just because you don't HAVE to do it on a PC. There are plenty of environments where it's still required or at least a pretty good idea, and it can be useful even on a high-powered PC in some situations.
Then again, go ahead and knock it. I make a decent living in part because of the fact that many "programmers" these days are utterly incapable of operating in the embedded environments I described.
Vigo:
I think to sum up the key difference with this kind of "lean" programmer and the "modern programmer" is that on something as bare as such as C64 (or any other limited computer), a lean programmer has to stretch to every limit of the tiny box that he is given.
I don't know if modern programmers would always even know how to work within that small box, they would just tell you that you need to buy a much bigger box. :lol
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version