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
Computer programming
(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!
===Context=== In 1957, there were approximately 15,000 computer programmers employed in the U.S., a figure that accounts for 80% of the world's active developers. In 2014, there were approximately 18.5 million professional programmers in the world, of which 11 million can be considered professional and 7.5 million student or hobbyists.<ref>{{cite book |title=2014 Worldwide Software Developer and ICT-Skilled Worker Estimates |date=2014 |publisher=International Data Corporation |location=Framingham, MA}}</ref> Before the rise of the commercial Internet in the mid-1990s, most programmers learned about software construction through books, magazines, user groups, and informal instruction methods, with academic coursework and corporate training playing important roles for professional workers.<ref>{{cite book |last1=Ensmenger |first1=Nathan |title=The Computer Boys Take Over: Computers, Programmers, and the Politics and Technical Expertise |date=2010 |publisher=The MIT Press |location=Cambridge, MA}}</ref> The first book containing specific instructions about how to program a computer may have been [[Maurice Wilkes]], [[David Wheeler (computer scientist)|David Wheeler]], and [[Stanley Gill|Stanley Gill's]] ''Preparation of Programs for an Electronic Digital Computer'' (1951). The book offered a selection of common subroutines for handling basic operations on the EDSAC, one of the world's first stored-program computers. When high-level languages arrived, they were introduced by numerous books and materials that explained language keywords, managing program flow, working with data, and other concepts. These languages included [[FLOW-MATIC]], COBOL, FORTRAN, [[ALGOL]], [[Pascal (programming language)|Pascal]], [[BASIC]], and C. An example of an early programming primer from these years is [[Marshal Henry Wrubel|Marshal H. Wrubel's]] ''A Primer of Programming for Digital Computers'' (1959), which included step-by-step instructions for filling out coding sheets, creating punched cards, and using the keywords in IBM's early FORTRAN system.<ref>{{cite book |last1=Halvorson |first1=Michael J. |title=Code Nation: Personal Computing and the Learn to Program Movement in America |date=2020 |publisher=ACM Books |location=New York, NY |page=80}}</ref> [[Daniel McCracken|Daniel McCracken's]] ''A Guide to FORTRAN Programming'' (1961) presented FORTRAN to a larger audience, including students and office workers. In 1961, [[Alan Perlis]] suggested that all university freshmen at Carnegie Technical Institute take a course in computer programming.<ref>{{cite news |last=Perlis |first=Alan |title=The role of the digital computer in the university |work=Computers and Automation 10, 4 and 4B |date=1961 |pages=10–15}}</ref> His advice was published in the popular technical journal ''Computers and Automation'', which became a regular source of information for professional programmers. Programmers soon had a range of learning texts at their disposal. ''Programmer's references'' listed keywords and functions related to a language, often in alphabetical order, as well as technical information about compilers and related systems. An early example was IBM's ''Programmers' Reference Manual: the FORTRAN Automatic Coding System for the IBM 704 EDPM'' (1956). Over time, the genre of ''programmer's guides'' emerged, which presented the features of a language in tutorial or step by step format. Many early primers started with a program known as [[Helloworld|“Hello, World”]], which presented the shortest program a developer could create in a given system. Programmer's guides then went on to discuss core topics like declaring variables, data types, formulas, flow control, user-defined functions, manipulating data, and other topics. Early and influential programmer's guides included [[John G. Kemeny]] and [[Thomas E. Kurtz|Thomas E. Kurtz's]] ''BASIC Programming'' (1967), Kathleen Jensen and [[Niklaus Wirth|Niklaus Wirth's]] ''The Pascal User Manual and Report'' (1971), and [[Brian W. Kernighan]] and [[Dennis Ritchie|Dennis Ritchie's]] ''The C Programming Language'' (1978). Similar books for popular audiences (but with a much lighter tone) included [[Bob Albrecht|Bob Albrecht's]] ''My Computer Loves Me When I Speak BASIC'' (1972), Al Kelley and Ira Pohl's ''A Book on C'' (1984), and [[Dan Gookin|Dan Gookin's]] ''C for Dummies'' (1994). Beyond language-specific primers, there were numerous books and academic journals that introduced professional programming practices. Many were designed for university courses in computer science, software engineering, or related disciplines. [[Donald Knuth|Donald Knuth's]] ''[[The Art of Computer Programming]]'' (1968 and later), presented hundreds of computational algorithms and their analysis. ''The Elements of Programming Style'' (1974), by Brian W. Kernighan and [[P. J. Plauger]], concerned itself with programming ''style'', the idea that programs should be written not only to satisfy the compiler but human readers. [[Jon Bentley (computer scientist)|Jon Bentley's]] ''Programming Pearls'' (1986) offered practical advice about the art and craft of programming in professional and academic contexts. Texts specifically designed for students included Doug Cooper and Michael Clancy's ''Oh Pascal!'' (1982), [[Alfred Aho|Alfred Aho's]] ''Data Structures and Algorithms'' (1983), and Daniel Watt's ''Learning with Logo'' (1983).
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)