|
|
privacy |
||
|
Hangout for experimental confirmation and demonstration of software, computing, and networking. The exercises don't always work out. The professor is a bumbler and the laboratory assistant is a skanky dufus.
Blog Feed Recent Items The nfoCentrale Blog Conclave nfoCentrale Associated Sites |
2004-07-02Why Learn Assembly Language[dh:2004-08-31T20:59Z This article is the one that failed to be uploaded to my blog site on July 2, causing my turtle-paced flurry of remedial activity. I didn't think about it showing up in my RSS feed once I had this blog up and running again. It seems new because it had not been seen in the feed before. Nevertheless, the supposedly-posted page at the permalink is still a quarantine page because Blogger has no indication that the July 2nd posting failed. In the two months since I wrote this, I see some tuning that's needed. That editing will, with Luck's good favor, have the article be reposted at the permalink too.]ONLamp.com: Why Learning Assembly Language Is Still a Good Idea [May. 06, 2004]. This Slashdotted blurb by Write Great Code author Randall Hyde is a lengthy paen to exceeding expectations and also understanding the performance that is possible in applications developed with an understanding of the underlying machine. For me, this treatment is a bit overboard. It works better, in my experience to consider (1) why and how to read machine language, (2) why and how to learn assembly language, (3) and who, what, when, where, how, and why to write assembly language in software delivered to someone else. There is extensive discussion on the article, and numerous trackback links as well, so the article is a great resource. I agree completely that knowledge of machine architectures and good sense of what is probably happening underneath your higher-level programming language are valuable possessions. It is often useful, as one commenter suggested, to read the assembler that some compilers will produce. There are also settings where employment of assembly language is required, including computer forensic work and the creation of low-level elements such as BIOS software, Virtual Machine implementations, and certain high-performance library codes. If someone asked me where to go to learn about machine language and how assemblers work, I would have them do something simpler than learn to work the native 80x86 system. That's a little too hands-free, though hands-on experience is crucial. I have two recommendations:
dh:2004-08-31T21:30Z There is another angle that I must confess. There are skills that I have mastered around performance and reliability of software that I am not willing to give up. I am so jealous of my proficiency that I even apply those skills where they are not needed, as continuing practice, rather than allow myself to become careless and indiscriminate. That sometimes means that there are assignments I must avoid and decline simply because they would cost too much in putting me off my game for what matters to me in the long run. And it is rare for me to be in a situation, these days, where resort to assembly language is called for. I see one prospect coming up. We'll see about that when the time comes. Oops! This article failed to be posted back on July 2, and I thought that more-recent postings would refresh the quarantine page that has been sitting in its place since I declared a site-update corruption that day. Well, no, the feed and the default page were refreshed properly, but not the archive location of this post. So I am changing it enough so that it will repost, so will its archive page, and unfortunately, so will the site feed. Then I will fix my development site to not keep putting the quarantine page back on top of the good page! Announcement, in that great Darth Vader voice: "This is Blunder Dome." |
||
|
|
You are navigating Orcmid's Lair. |
template
created 2004-06-17-20:01 -0700 (pdt)
by orcmid |