Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Bootstrapping
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
====Software development==== Bootstrapping can also refer to the development of successively more complex, faster programming environments. The simplest environment will be, perhaps, a very basic text editor (''e.g.'', [[ed (UNIX)|ed]]) and an [[Assembly language#Assembler|assembler]] program. Using these tools, one can write a more complex text editor, and a simple compiler for a higher-level language and so on, until one can have a [[graphical user interface|graphical]] [[integrated development environment|IDE]] and an extremely [[high-level programming language]]. Historically, bootstrapping also refers to an early technique for computer program development on new hardware. The technique described in this paragraph has been replaced by the use of a [[cross compiler]] executed by a pre-existing computer. Bootstrapping in program development began during the 1950s when each program was constructed on paper in decimal code or in binary code, bit by bit (1s and 0s), because there was no high-level computer language, no [[compiler]], no assembler, and no [[Linker (computing)|linker]]. A tiny assembler program was hand-coded for a new computer (for example the [[IBM 650]]) which converted a few instructions into binary or decimal code: A1. This simple assembler program was then rewritten in its just-defined [[assembly language]] but with extensions that would enable the use of some additional mnemonics for more complex operation codes. The enhanced assembler's source program was then assembled by its predecessor's executable (A1) into binary or decimal code to give A2, and the cycle repeated (now with those enhancements available), until the entire instruction set was coded, branch addresses were automatically calculated, and other conveniences (such as conditional assembly, macros, optimisations, etc.) established. This was how the early [[Symbolic Optimal Assembly Program]] (SOAP) was developed. Compilers, linkers, loaders, and utilities were then coded in assembly language, further continuing the bootstrapping process of developing complex software systems by using simpler software. The term was also championed by [[Doug Engelbart]] to refer to his belief that organizations could better evolve by improving the process they use for improvement (thus obtaining a compounding effect over time). His [[SRI International|SRI]] team that developed the [[NLS (computer system)|NLS]] hypertext system applied this strategy by using the tool they had developed to improve the tool.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Bootstrapping
(section)
Add topic