Re: Why use assembly?
- From: o//annabee <fack@xxxxxxxxxxxxxx>
- Date: Mon, 27 Mar 2006 20:08:06 +0200
På Mon, 27 Mar 2006 16:19:28 +0200, skrev James Daughtry <mordock32@xxxxxxxxxxx>:
How is *that* for a provocative thread title on ala? :-)
Anyway, my own opinions aside, I'm honestly interested in why you all
use assembly and what you use it for.
I am using it in an effort to write a GUI.
I use asm because, when given a propper tool, like RosAsm, its simply the easiest, clearest language.
Learning the basic of asm is rather easy, but if it may seem hard, this is only in the beginning. A typical asm app, uses just a few asm instructions, from 20-30-40 instructions for a whole application. And you soon get used to the new way of thinking when you see the many benefits. Which is espesially in the efficiency of finding working solutions. And the ease of finding bugs.
I will regrettfully admit, that learning asm with some of the older assembler may actually be a pain in the ass. But this is _not_ because of assembly itself. It is because those applications are HOSTILE to users. Theres no other word really fitting when having used RosAsm for 2 years. RosAsm is the only assembler I know of that comes even close to give asm a chance in the real world.
For example, some advocate
writing entire applications in assembly, and I'm curious about the
reasons for that when the usual advice is to use HLLs and only drop to
assembly for time critical code, or when memory is tight on an embedded
machine.
I can assure you 100% that theese people who advocate against assembly, for full application writing do NOT know what they are talking about. They may think that they know, and I am _not_ saying they are liers, or idiots, but this is more about perspective, then about facts. Theese people uses tools that you would rather call OBSTRUCTIONS to assembly, and using such tools, asm becomes a pain. But again this has no relationship to assembly, and every relationship to the tools used.
There are some things that maybe seem difficult in assembly, and you can find code that is written by "experts" that is fully unreadable, written in a cryptic, purposeful obscuring style. But you should never take this to be a typical example of what asm _can_ be.
In 90-95% of the cases asm is very easy. The remaining bits that are not easy, comes from situations like when you have to write your own code for things that just take a single line of code in a HLL. But theese situations are counter examples, and not the typical day in an asm programmers life. Also, once an asmer has passed theese tests once, he can also decribe that function in one line the next time. An asmer is building his own HLL, with each application, and there are immense advantages to learning when doing this, and soon you will think that all the things you previously thought to be hard, is easy.
The biggest bottlenecks for full application writing in assembly are the tools for writing.
The biggest advantage of learning asm, is to learn to value facts.
The biggest obstruction to programming are HLLs. And illusons.
Once a programmer takes the step, from a HLL to assembly, something strange happens to him. Something unknown desends in him. Everything or close to everthing he thought to be true, turns out to be a lie, and he may feel confused, like Neo, after taking the red? pill?
So even if asm is easy, it is serious buisness, not for the faint hearted, because you may come to see the lies of all the people you currently admire, and that can become quite a shoock.
Becomming an asm programmer is to take the step from beeing a servant in the dark to beeing the master of your own destiny in the programming world.
:))
For those that don't prefer to write complete applications in
assembly, what *do* you use it for and when do you feel it's warranted?
Thanks!
.
- References:
- Why use assembly?
- From: James Daughtry
- Why use assembly?
- Prev by Date: Re: Why use assembly?
- Next by Date: Re: Why use assembly?
- Previous by thread: Re: Why use assembly?
- Next by thread: Re: Why use assembly?
- Index(es):
Relevant Pages
|