From: banksie@khantazi.welly.gen.nz (Philip R. Banks)
Newsgroups: comp.sys.acorn
Subject: Re: Oh no ! More .....
Date: Tue, 6 Oct 1992 18:42:57 +1200
Reply-To: banks_p@kosmos.wcc.govt.nz
Followup-To: comp.sys.acorn.advocacy
Organization: My Arc.

lithgow@usl.com (Malcolm Lithgow) writes:

> This is not John's position. He is saying that ARM assembler is just as
> easily ported to new implementations of the ARM as C is. Quite a
> different kettle of fish, hmmm? (Lucky Gavin didn't say this. ;->)

   And this stance will be true for sometime yet. Acorn don't want to use a
processor that forces all their older software to curl up and die. This is true
for *both* C and assembler as very few of us have access to the source of *all*
the programs we use so consequently we must rely on binary compatability
between the machines.

> As John points out, with the old assembler and a code manual a new
> assembler will take a couple of hours to write.

   If that. If one is prepared to use the basic assembler one only needs a set
of functions to calculate the appropriate binary information and away you go.
(This how alot of Basic assembler types get Floating Point op-codes in their
source...)

> This, however, is complete rubbish. It is no easier to 'interwork' code
> from different programmers into a large project. It is no easier to
> define the interfaces between those code segments.
> 
> Look at how precisely, elegantly, and simply the assembly language
> interfaces to RISC OS are described. Look how easily people completely
> seperated from the main development group can add/change functionality
> to the OS.
> 
> Can anyone explain how HLL's make it easier to define interfaces or
> allow modular development?

  Not me. Modular development and interfaces are part of my coding methodology
(ohhh! big words... :-) ) not of the language I use.

> Yes and no. The very difficulty of coding in Assembler encourages lots
> of good behaviour: code re-use, careful design, minimal size/maximal
> flexibility feature set, redesign when porting, careful testing,
> extensive modularity, extensive code documentation, etc.

   But of course. Assembler also forces you to look carefully at your
data-structures and teaches you to be efficient in what you store in them. It
also promotes a good understanding of how your machine works, something I think
is always important to know. And the code documentation is a must with
assembler, something quite a few C programs I have met suffer badly from...

> Indeed. But it doesn't stop people rigidly taking an extreme position.
> Just look at the US Defence requirements: everything written in Ada!
> Talk about stupid! And look at almost any university graduate, who has
> a pathological and totally unwarranted hatred of anything wearing the
> label of BASIC, and believes that only DSP's should be programmed in
> assembler, and that you can't write modular assembler programs.

   Tell me about the university grads attitudes! As soon as I mention that I
regularly use Basic at home for quick prototyping of algorithms they
automatically assume I can't code for peanuts. 

   At anyrate the final analysis must be that you pick the language that a)
suits you and b) is best suited for the task at hand. Anyone who says otherwise
doesn't know what they are talking about.

   I have directed followups to comp.sys.acorn.advocacy which is where this
whole discussion should have been to begin with.

    Philip

--
Philip R. Banks  Syntax: mail < banks_p@kosmos.wcc.govt.nz >            @@@@@/|
Take a look around you at the world we've come to know,                 @@@@/#|
Does it seem much more than a crazy circus show?                        @@@/##|
Maybe from the madness something beautiful will grow....                @@/---|
   ---The Artilleryman from Jeff Wayne's "War of the Worlds"            @/    |