Programming in assembler?

Yes - sometimes. But more likely is that people who write decent, maintainable code do it in a higher level language. What I mean by that is that the few people that does beat the compiler becomes even fewer as time goes by, due to the compiler vendors increased optimization of compilers.

If the vendors puts in efforts to optimize high level language year after year, it becomes really difficult to beat that for a(n average) programmer. It does happen, but I'd say the wast majority of programmers will produce faster/smaller working code using a high level language than if they were using assembler. At least I will trip on NOT making a executable that works in assembler.

--
--
Reply to
Björn Lundin
Loading thread data ...

My friend and I were Speccy/MSX (Z80A) but most kids had a C64 (6510). To us the divide seemed to be that we were mostly programming and the C64 crowd mostly played games. Probably had something to do with how many C64s there were.

Reply to
A. Dumas

Thank you for drawing my attention to that.

I've just noticed there's a book /Raspberry Pi Assembly Language RASPBIAN Beginners: Hands On Guide/ by Bruce Smith. I know nothing about it beyond that it exists and has a clumsy title (is *really* called /Raspberry Pi Assembly Language RASPBIAN Beginners: Hands On Guide/?).

--
Do, as a concession to my poor wits, Lord Darlington, just explain 
to me what you really mean. 
I think I had better not, Duchess.  Nowadays to be intelligible is 
to be found out. -- Oscar Wilde, Lady Windermere's Fan
Reply to
Peter Percival

I will never forget 6502 from the pain of the project I was involved in! Also, I think you will find that 68xxx is the correct way round :-)

Reply to
mm0fmf

There are two versions of the book - 'Raspbian beginners' and 'RISC OS beginners'. The first edition was 'Beginners Hands on Guide' which was for RISC OS but not specifically named in the title - after comments that this was confusing the author produced two different versions in the second edition.

Bruce Smith wrote one of the canonical 1980s ARM assembly books and I think this book covers the area in a more up to date form, though I haven't seen it. (He also has a RPi RISC OS System Programming book I commented on when it was in draft form).

Theo

Reply to
Theo Markettos

While the multi-process scheme worked out to have those benefits, that may not have been the intended purpose. From this page:

formatting link

In the second paragraph of the 'History' section:

The language was not initially designed with portability in mind, ...

From this page:

formatting link

In the paragraph above the 'Portability' heading:

The preprocessor was originally considered an optional adjunct to the language itself.

The Wikipedia article referenced above says C was originally developed on/for the PDP-11. If I understand/remember correctly, the PDP-11 had some serious per-process memory limitations. Breaking the compiler up into multiple processes would have reduced or eliminated the need to use (ugly) overlays to fit within those memory limitations. It's just a guess on my part, but I would think the per-process memory limitations may well have been a large part of the reason the compiler was broken into multiple processes.

HTH

--
Robert Riches 
spamtrap42@jacob21819.net 
(Yes, that is one of my email addresses.)
Reply to
Robert Riches

I designed the Z80 board for the Torch, designed CPN and wrote the Z80 part of it (Ray Anderson did the 6502 end) in my first job after college. Earlier I worked on the Newbrain hardware as a student. I got involved in a lot of discussions with other programmers at the time over which was better, some got quite heated.

--
Steve O'Hara-Smith                          |   Directable Mirror Arrays 
C:>WIN                                      | A better way to focus the sun 
The computer obeys and wins.                |    licences available see 
You lose and Bill collects.                 |    http://www.sohara.org/
Reply to
Ahem A Rivet's Shot

Again,. you may well be right.

And Ex employee or ARM told me that the reason the chip is so limited in instruction sets and very very RISC is that that (not many transistors) is how they could afford the chip fab!

Some years later, they realised that also made it very very low power consumption as well...

It wouldn't be the first time that a piece of technology was designed one way for a reason, and subsequently proved very successful for a different context that it happened to suit rather well.

Cellular phone technology was developed for battlefield secure communications and TCP/IP was a network designed to withstand nuclear attack...

Isn't the pi a chipset designed for set top boxes or summat?

--
A lie can travel halfway around the world while the truth is putting on  
its shoes.
Reply to
The Natural Philosopher

Ah, Torch! Still sort of in business.

Them were the days.

--
"Socialist governments traditionally do make a financial mess. They  
always run out of other people's money. It's quite a characteristic of them" 

Margaret Thatcher
Reply to
The Natural Philosopher

Note that I said 'multi-module', not 'multi-process'. In *NIXEN, at least, there is a difference. I meant to emphasise that, while the modules could all be run sequentially to generate an executable from source, they need not all be used and/or one or more could be run separately from the others.

OTOH to me, at least 'multiprocess' implies simultaneous parallel execution.

--
martin@   | Martin Gregorie 
gregorie. | Essex, UK 
org       |
Reply to
Martin Gregorie

My old Apple II+ had the 6502 and a Z-80 card (CPM) It still limps along, due to floppy drives, a 65C02 and numerous other "minor" difficulties. One of my favorites was a Midi utility I wrote that used the graphics screen RAM as buffer space, and incidentally displaying the midi data in a color graphic pattern. Originally, it was written to jam bulk load midi songs into one of the old Yamaha keyboards, and to extract songs from the same unit. There were some severe memory limits that the utility had to fit in to avoid getting stepped on by other software, yet be usable from basic.

Reply to
Charlie

I was writing 8085 and 80x86 assembler in the 80's. Presumably I had been very wicked in an earlier life.

--
Do, as a concession to my poor wits, Lord Darlington, just explain 
to me what you really mean. 
I think I had better not, Duchess.  Nowadays to be intelligible is 
to be found out. -- Oscar Wilde, Lady Windermere's Fan
Reply to
Peter Percival

I think that just reflects the sort of programming gigs you got.

In the late 60s I was programming ICL mainframes, initially in PLAN assembler and later in COBOL and with the rather good MacroGenerator, which was powerful enough to let you define what were effectively special purpose programming language. We had one that was used to extract salary survey data from punched cards, ready to be sorted and fed to a COBOL analysis program which did the analysis. The other one we used read A4 forms using an optical mark reader and output the data in a form that could be understood by COBOL or assembler programs.

In both cases the macrogenerator was used to define the raw data input format, read and validate it, and write the clean data to serial files in a standard format.

After that it just happened that the projects I worked on professionally never had a requirement for assembler programming. After that C and TAL were the lowest level languages required. TAL was the system programming language used in Tandem Nonstop fault tolerant computers. It looked like one of the Algols (using begin...end rather than {...}) but was otherwise pretty much equivalent to C or PL/M.

These projects for a variety on mainframes, fault-tolerant computers and minicomputers, but nothing that would have been smaller than a VAX, so as a consequence, all were programmed in higher-level languages and/or involved designing/implementing/tuning databases.

--
martin@   | Martin Gregorie 
gregorie. | Essex, UK 
org       |
Reply to
Martin Gregorie

That's understandable. "Beginners Hands on Guide" could mean many different things.

Why, for example, would the Guide have beginners' hands on him...? Let's say it is for a bit of practice at faith healing. I'll avoid any ribald interpretations. ;-)

--
James Harris
Reply to
James Harris

...

Kernighan co-wrote the book about C but he did not design C. That was Ritchie.

If anyone, Ken Thompson and Martin Richards had more influence on C.

--
James Harris
Reply to
James Harris

If they were single platter drives (RK05?), they'd have been around 5 MB.

At the time ICL were using 10 platter stacks of 60MB capacity, so about the same capacity per platter and, IIRC 2800 RPM and in the vicinity of

125mS random access time. How disks have changed!
--
martin@   | Martin Gregorie 
gregorie. | Essex, UK 
org       |
Reply to
Martin Gregorie

Difference between "separate ... modules" and "multi-process" noted. I was thinking separate processes due to having seen processes named things such as "cc1", "as", and "ld" on various systems since the middle 1980s. I did not intend to imply SMP but was thinking more of temporary files or pipes sitting between the processes.

--
Robert Riches 
spamtrap42@jacob21819.net 
(Yes, that is one of my email addresses.)
Reply to
Robert Riches

10 x 14" platters was up to around 300MB by end of the 1970's. I still have a 300MB head-alignment pack in my garage (it's head-crashed on about half the surfaces - an expensive mistake by a field engineer who failed to clean up and repair a head crash well enough before starting to realign the heads). I did a lot of software work on these drives - getting max possible speed from them during filesystem garbage collection.

There was also a 600MB version of the same design, but the packs were not exchangable and drive covers could not be opened by operations staff. I think that's as big as 14" disks got before being superceeded by 8" disks.

--
Andrew Gabriel 
[email address is not usable -- followup in the newsgroup]
Reply to
Andrew Gabriel

Especially if it is a Girl Guide.

-- Steve O'Hara-Smith | Directable Mirror Arrays C:>WIN | A better way to focus the sun The computer obeys and wins. | licences available see You lose and Bill collects. |

formatting link

Reply to
Ahem A Rivet's Shot

..scouting for boys....

-- The biggest threat to humanity comes from socialism, which has utterly diverted our attention away from what really matters to our existential survival, to indulging in navel gazing and faux moral investigations into what the world ought to be, whilst we fail utterly to deal with what it actually is.

Reply to
The Natural Philosopher

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.