Content deleted Content added
Undid revision 1305143863 by 2409:40E4:1093:6A79:4197:77B:EB10:F20D (talk) unexplained removal of content |
|||
(6 intermediate revisions by 3 users not shown) | |||
Line 3:
{{Use American English|date=November 2020}}
{{Software development process}}
'''Computer programming''' or '''coding''' is the composition of sequences of instructions, called [[computer program|programs]], that [[computer]]s can follow to perform tasks.<ref>{{cite web|url=http://yearofcodes.tumblr.com/what-is-coding|title=What is coding|last=Bebbington|first=Shaun|year=2014|website=Tumblr|url-status=live|archive-url=https://web.archive.org/web/20200429195646/https://yearofcodes.tumblr.com/what-is-coding|archive-date=2020-04-29|access-date=2014-03-03}}</ref><ref>{{cite web|url=http://yearofcodes.tumblr.com/what-is-programming|title=What is programming|last=Bebbington|first=Shaun|year=2014|website=Tumblr|url-status=live|archive-url=https://web.archive.org/web/20200429195958/https://yearofcodes.tumblr.com/what-is-programming|archive-date=2020-04-29|access-date=2014-03-03}}</ref> It involves designing and implementing [[algorithm]]s, step-by-step specifications of procedures, by writing [[source code|code]] in one or more [[programming language]]s.
Auxiliary tasks accompanying and related to programming include [[Requirements analysis|analyzing requirements]], [[Software testing|testing]], [[debugging]] (investigating and fixing problems), implementation of [[Build automation|build systems]], and management of derived [[Artifact (software development)|artifacts]], such as programs' [[machine code]]. While these are sometimes considered programming, often the term ''[[software development]]'' is used for this larger overall process – with the terms ''programming'', ''implementation'', and ''coding'' reserved for the writing and editing of code per se. Sometimes software development is known as ''[[software engineering]]'', especially when it employs [[formal methods]] or follows an [[engineering design process]].
Line 115:
==Learning to program==
{{also|Computing education}}
Learning to program has a long history related to professional standards and practices, academic initiatives and curriculum, and commercial books and materials for students, self-taught learners, hobbyists, and others who desire to create or customize software for personal use. Since the 1960s, learning to program has taken on the characteristics of a ''popular movement'', with the rise of academic disciplines, inspirational leaders, collective identities, and strategies to grow the movement and make institutionalize change.<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 |pages=3–6}}</ref> Through these social ideals and educational agendas, learning to code has become important not just for scientists and engineers, but for millions of citizens who have come to believe that creating software is beneficial to society and its members.
|