[comp.sys.amiga.tech] Assembler

peter@sugar.hackercorp.com (Peter da Silva) (11/21/90)

> >Assembler is a minus ? What are you getting at ? Assembler programming
> >certainly is the best and most taxing way of programming for programmers.

Most taxing, yes. Best, NO!

I just downloaded a program into my Amiga 3000. It came with source and the
readme file went on and on about how great it was that this program was in
assembler and how cool his programming style was and how mad he was that his
boss was making him program in Aztec C, so he was doing this in his spare
time...

Crashes most beautifully on the 3000. See, there are these differences
between the 68000 and the 68030. You can't see them from C, but in assembly...

Coding in assembly, other then for runtimes and in critical routines, is
just a waste of time. Even if your assembly code is 10 times as fast as
compiled code (unlikely) your program is spending most of its time in the
Amiga runtime waiting for events...

If a program is written in assembly, I tend to put it back on the shelf.

> C has only one good use for real programmers, and that is that it is portable.

And it's easier to code, and you can spend your time writing code for the
user instead of for yourself.

> So all you lowclass programmers who 
> can only program in one language (especially if you can only code in C)

Who? Where?

I write programs in the language best suited for the job, and the highest
level language that allows for enough efficiency is that language. When
needed I code in assembly (for any of a dozen CPUs), C, Fortrash, PL/M,
Forth, any of half a dozen interpreted languages, and even COBOL.

Programming in a lower level language out of machismo is just plain stupid,
and is the source of much of the bad software out there.
-- 
Peter da Silva.   `-_-'
<peter@sugar.hackercorp.com>.

cedman@golem.ps.uci.edu (Carl Edman) (11/22/90)

In article <7104@sugar.hackercorp.com> peter@sugar.hackercorp.com (Peter da Silva) writes:
   > >Assembler is a minus ? What are you getting at ? Assembler programming
   > >certainly is the best and most taxing way of programming for programmers.

   Most taxing, yes. Best, NO!

   I just downloaded a program into my Amiga 3000. It came with source and the
   readme file went on and on about how great it was that this program was in
   assembler and how cool his programming style was and how mad he was that his
   boss was making him program in Aztec C, so he was doing this in his spare
   time...

   Crashes most beautifully on the 3000. See, there are these differences
   between the 68000 and the 68030. You can't see them from C, but in assembly...

So what ? There is one more person who can't program well enough to
know what (very few, really) things he may not do to keep his program
portable. Assembler is , par se, just as binary-portable as C (among
Amigas, that is). Maybe your dislike for assembler programming goes
back to the fact that there is a correlation between unclean
programming methods and assembler programming. That means that people
who programm mainly in assembler are (on the whole) somewhat more
likely to do stupid tricks. But the fact remains that you CAN program
just as portably in assembler and that you can write a nightmare of
incompatiblity in C (or even pascal or basic, if you want to).

   Coding in assembly, other then for runtimes and in critical routines, is
   just a waste of time. Even if your assembly code is 10 times as fast as
   compiled code (unlikely) your program is spending most of its time in the
   Amiga runtime waiting for events...

That is not correct. Many applications require a great deal of
internal computation. But even if it was true in every case: What do
you care ? The judgement whether writing assembler for a definitive
product is a waste of time or not, is a judgement of the programmer.
You , as a user, really shouldn't care about how long it took the
programmer to write this(that is his problem), but merely about how
good a program it is. And an important part in this is speed and size.
And here assembler can beat C handily.

   If a program is written in assembly, I tend to put it back on the shelf.

Again you fail to give a reason for this. If you say: When a program
is incompatible/doesn't multitask/a.s.o. then I don't use it, fine !
But really what point of criciticism is it against a real existing
program in what language it was writen. When I use a program, I don't
care in what language it was writen, but merely how it preforms. 

And assembler has at least a chance of being better than ANY
high-level language.

        Carl Edman


Theorectical Physicist,N.:A physicist whose  | Send mail
existence is postulated, to make the numbers |  to
balance but who is never actually observed   | cedman@golem.ps.uci.edu
in the laboratory.                           | edmanc@uciph0.ps.uci.edu

peter@sugar.hackercorp.com (Peter da Silva) (11/25/90)

[ I described a wonderful crash-prone assembler program ]

In article <CEDMAN.90Nov21183628@lynx.ps.uci.edu>, cedman@golem.ps.uci.edu (Carl Edman) writes:
> So what ? There is one more person who can't program well enough to
> know what (very few, really) things he may not do to keep his program
> portable. [etc...]

You just don't get it, do you? The lower-level a program is, the more the
individual programmer is responsible for making it work, and handling all
the special cases for all the different systems it might run on.

All you saw was one particular example. OK, here's another: a mandelbrot
program that used a tight inner loop to get the most speed on a 68000. If that
loop was in C I could just recompile with the right flags and get FPU code
and it'd run faster. Or the guy who wrote the program could have easily
done an FPU and a non-FPU version. But as it is I'm out of luck.

It takes longer to code in assembler, and that translates directly to less
software being written, less testing, fewer features, and longer waits for
updates.


> You , as a user, really shouldn't care about how long it took the
> programmer to write this(that is his problem), but merely about how
> good a program it is.

And the higher level the code it was written in, the better a program it
is likely to be. Even C is too low level for my tastes, but it'll do until
something better comes along...

>    If a program is written in assembly, I tend to put it back on the shelf.

> Again you fail to give a reason for this.

I've now given *two messages* full of reasons. That should be enough.

> And assembler has at least a chance of being better than ANY
> high-level language.

But almost always the higher level program is a better program for the long
haul.
-- 
Peter da Silva.   `-_-'
<peter@sugar.hackercorp.com>.

maniac@howlin.cs.unlv.edu (Eric J. Schwertfeger) (11/26/90)

In article <CEDMAN.90Nov21183628@lynx.ps.uci.edu>, cedman@golem.ps.uci.edu (Carl Edman) writes:
) 
) And assembler has at least a chance of being better than ANY
) high-level language.
) 
)         Carl Edman
) 
) 

	I couldn't agree more!  I`m working on a resident
notepad/free-form-database, that since it stays in memory,
has to be pretty small.  I started programming it in C, using
as much native-amiga library calls as possible to keep the 
size of the code down.  at 25K, it was just managing the 
dynamic string algorithms I use, opening windows, and
displaying text in the windows.  I decided to recode the
program in Assembly, and it dropped to 14K, and is almost
fully functional.

-- 
Eric J. Schwertfeger, maniac@jimi.cs.unlv.edu

dvljhg@cs.umu.se (J|rgen Holmberg) (11/26/90)

Why are you even discussing this?

Assembler is potentially faster, buggier and certainly takes longer to write.
So what? If I want a very fast program and are less concerned with developing
time I use assembler. If I need to write a program fast that does something
without bugs I might even use Basic :-) All languages out there has advantages
and disadvantages, we use the one that is best suited for what we want.
If a product doesn't do what you want it is 99% sure that the reason for that
is poor programming practice rather than the language involved.
Programmers out there should try to get a working knowledge of many languages
and use the one that meets their present needs.

Just my 0.02 SKR worth ( heck, I don't even own $0.02 ;-)

Jorgen

-- 
*******************************************************************************
email dvljhg@cs.umu.se - other ways to communicate are a waste of time.
Everything I say is always true, just apply it to the right reality.
"Credo, quia absurdum est."