How is compiler software compiled?

  • Thread starter Thread starter Bararontok
  • Start date Start date
  • Tags Tags
    Compiler Software
Click For Summary

Discussion Overview

The discussion revolves around the process of how compilers are themselves compiled, particularly focusing on the methods and terminology involved in compiler construction, including concepts like bootstrapping and cross-compilation. Participants explore the distinctions between assemblers and compilers, as well as the challenges of writing in machine language versus higher-level languages.

Discussion Character

  • Debate/contested
  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • Some participants propose that a process called "bootstrapping" is used, where a modest-sized compiler is written in assembly language to create subsequent versions.
  • Others introduce the concept of cross-compilation, where code is compiled on one machine to run on another, allowing for the transfer of compiled compilers.
  • There is a contention regarding the classification of assemblers and compilers, with some asserting that assemblers are not compilers and that they are written in machine language before being bootstrapped.
  • Participants express differing views on the difficulty of writing programs in assembly language compared to higher-level languages, with some arguing that writing in assembly is significantly more challenging.
  • Terminology confusion is noted, particularly regarding the use of "the thread originator" versus personal pronouns, with some participants questioning this choice.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the definitions and roles of assemblers versus compilers, nor on the relative difficulty of programming in assembly versus higher-level languages. The discussion remains unresolved with multiple competing views present.

Contextual Notes

There are limitations regarding the clarity of terminology used in the discussion, particularly around the definitions of assemblers and compilers. Additionally, the difficulty of writing in machine language versus higher-level languages is subjective and varies among participants.

  • #31
jtbell said:
You're right. I guess I didn't have to re-enter the paper tape loader as often as I thought I remembered. I did have to do it often enough to have that piece of paper with machine language code (written out in octal for ease of reading) taped next to the switches. Probably my programs ran amuck sometimes and wiped out the loader. :-p

A friend of mine who used to managed the computers in the EE dept of my old university recalled almost exactly the same account of manually entering the tape boot-loader code as per your experience (almost word for word actually). So I tend to believe that your memory of this is quite sound. :)

Personally I have no first hand knowledge of this, but here is my hunch: If say the typical up-time of the computer was many days (or even weeks) then it might have been considered thoroughly worthwhile to trade-off 10-15 minutes of your time each re-boot (in manually entering the boot loader code) for the advantage of having that small extra handful of bytes available for user programs. Considering the extremely limited available memory of these early computers, then this does actually make sense.
 

Similar threads

  • · Replies 29 ·
Replies
29
Views
3K
Replies
6
Views
3K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
59
Views
9K
Replies
65
Views
5K
Replies
7
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 13 ·
Replies
13
Views
2K
Replies
4
Views
5K