Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Source code
(section)
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!
==Background== The first programmable computers, which appeared at the end of the 1940s,{{sfn|Gabbrielli|Martini|2023|p=519}} were programmed in [[machine language]] (simple instructions that could be directly executed by the processor). Machine language was difficult to debug and was not [[portability (computing)|portable]] between different computer systems.{{sfn|Gabbrielli|Martini|2023|pp=520–521}} Initially, hardware resources were scarce and expensive, while [[human resources]] were cheaper.{{sfn|Gabbrielli|Martini|2023|p=522}} As programs grew more complex, [[programmer productivity]] became a bottleneck. This led to the introduction of [[high-level programming language]]s such as [[Fortran]] in the mid-1950s. These languages [[abstraction (computing)|abstracted]] away the details of the hardware, instead being designed to express algorithms that could be understood more easily by humans.{{sfn|Gabbrielli|Martini|2023|p=521}}{{sfn|Tracy|2021|p=1}} As instructions distinct from the underlying [[computer hardware]], software is therefore relatively recent, dating to these early high-level [[programming languages]] such as [[Fortran]], [[Lisp (programming language)|Lisp]], and [[Cobol]].{{sfn|Tracy|2021|p=1}} The invention of high-level programming languages was simultaneous with the [[compiler]]s needed to translate the source code automatically into machine code that can be directly executed on the [[computer hardware]].{{sfn|Tracy|2021|p=121}} Source code is the form of code that is modified directly by humans, typically in a high-level programming language. [[Object code]] can be directly executed by the machine and is generated automatically from the source code, often via an intermediate step, [[assembly language]]. While object code will only work on a specific platform, source code can be ported to a different machine and recompiled there. For the same source code, object code can vary significantly—not only based on the machine for which it is compiled, but also based on performance optimization from the compiler.{{sfn|Lin ''et al.''|2001|pp=238-239}}{{sfn|Katyal|2019|p=1194}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)