So, I’ve decided to learn assembly. Why? Well, nerdiness for one thing. But more importantly, I’m interested in learning it because I’d like to examine the importance of efficiency. Obviously, in modern computers, the need for efficient code is beginning to disappear. But, there are still plenty of small, embedded devices that are limited by the efficiency of the code. Take calculators, for example. A while ago, one of my friends mused that on a programmable calculator, loops actually need to be optimized. But TI-Basic (which he was referring to) can only be optimized so far. Z80 assembly is used for the most efficiency simply because assembly code has no overhead. It allows the developer to play with all aspects of the system. I’m interested in learning assembly because I’d like to start developing advanced applications in Z80 assembly and in HP’s ARM assembly for their calculators (they also have an emulation layer which runs old Saturn assembly programs, too).
One of my little side projects is to understand how I’m learning the language. I learned Python by reading a few manuals and experimenting with the interpreter. I learned PHP by applying my knowledge of Python, with a new syntax. But learning assembly will be a very different process, since it is so foreign to me. I intend to place emphasis more on the actual learning of the language rather than experimentation (until I know what I’m doing).
I am still looking for good guides to follow. I have already found quite a few (I’ll post them later) that have been helpful.
In other news, I’ve been playing around with transparency in GD/PHP (more avatar rotating scripts coming). That has not been fun. I’m just about to give up on it. Usually when I’m at that point, though, it probably means that something is wrong with the server configuration or something. I’ll have to install PHP to a test box to see if that could be the problem.
By the way:
That pretty much sums up my feelings, too.