Programmer: Citations Verify
Programmer: Citations Verify
Programmer: Citations Verify
A programmer's most oft-used computer language (e.g., Assembly, COBOL, C, C++, C#,
JavaScript, Lisp, Python) may be prefixed to the term programmer. Some who work with web
programming languages also prefix their titles with web.
Contents
1 History
o 1.1 Software
2 Nature of the work
o 2.1 Testing and debugging
o 2.2 Application versus system programming
o 2.3 Qualifications and skills
o 2.4 Types of software
3 Globalization
o 3.1 Market changes in the UK
o 3.2 Market changes in the US
o 3.3 Country comparison
4 See also
5 References
6 Further reading
7 External links
History
See also: Computer program § History, Computer programming § History, and Programming
language § History
British countess and mathematician Ada Lovelace is often considered to be the first computer
programmer, as she was the first to publish part of a program (specifically an algorithm) intended
for implementation on Charles Babbage's analytical engine, in October 1842. The algorithm was
used to calculate Bernoulli numbers.[2] Because Babbage's machine was never completed as a
functioning standard in Lovelace's time, she unfortunately never had the opportunity to see the
algorithm in action.
The first person to execute a program on a functioning, modern, electronic computer was the
renowned computer scientist Konrad Zuse, in 1941.
Betty Jennings and Fran Bilas, part of the first ENIAC programming team
The ENIAC programming team, consisting of Kay McNulty, Betty Jennings, Betty Snyder,
Marlyn Wescoff, Fran Bilas and Ruth Lichterman were the first regularly working programmers.
[3][4]
International Programmers' Day is celebrated annually on 7 January.[5] In 2009, the
government of Russia decreed a professional annual holiday known as Programmers' Day to be
celebrated on 13 September (12 September in leap years). It had already been an unofficial
holiday before that in many countries.
Software
The word software was used as early as 1953, but did not regularly appear in print until the
1960s.[6] Before this time, computers were programmed either by customers or the few
commercial computer manufacturers of the time, such as UNIVAC and IBM. The first company
founded to specifically provide software products and services was the Computer Usage
Company, in 1955.[7]
The software industry expanded in the early 1960s, almost immediately after computers were
first sold in mass-produced quantities. Universities, governments, and businesses created a
demand for software. Many of these programs were written in-house by full-time staff
programmers; some were distributed freely between users of a particular machine for no charge.
And others were developed on a commercial basis. Other firms, such as Computer Sciences
Corporation (founded in 1959) also started to grow. The computer/hardware manufacturers soon
started bundling operating systems, system software and programming environments with their
machines.[citation needed]
The industry expanded greatly with the rise of the personal computer ("PC") in the mid-1970s,
which brought computing to the average office worker. In the following years the PC also helped
create a constantly-growing market for games, applications and utilities software.[8]
In the early years of the 21st century, another successful business model has arisen for hosted
software, called software-as-a-service, or SaaS. From the point of view of producers of some
proprietary software, SaaS reduces the concerns about unauthorized copying, since it can only be
accessed through the Web, and by definition, no client software is loaded onto the end user's PC.
SaaS is typically run out of the cloud.[9]
Computer programmers write, test, debug, and maintain the detailed instructions, called
computer programs, that computers must follow to perform their functions. Programmers also
conceive, design, and test logical structures for solving problems by computer. Many technical
innovations in programming — advanced computing technologies and sophisticated new
languages and programming tools — have redefined the role of a programmer and elevated much
of the programming work done today. Job titles and descriptions may vary, depending on the
organization.
Programmers' work varies widely depending on the type of business for which they are writing
programs. For example, the instructions involved in updating financial records are very different
from those required to duplicate conditions on an aircraft for pilots training in a flight simulator.
Simple programs can be written in a few hours, more complex ones may require more than a
year of work, while others are never considered 'complete' but rather are continuously improved
as long as they stay in use. In most cases, several programmers work together as a team under a
senior programmer's supervision.
When making changes to the source code that programs are made up of, programmers need to
make other programmers aware of the task that the routine is to perform. They do this by
inserting comments in the source code so that others can understand the program more easily and
by documenting their code. To save work, programmers often use libraries of basic code that can
be modified or customized for a specific application. This approach yields more reliable and
consistent programs and increases programmers' productivity by eliminating some routine steps.
Programmers test a program by running it and looking for bugs (errors). As they are identified,
the programmer usually makes the appropriate corrections, then rechecks the program until an
acceptably low level and severity of bugs remain. This process is called testing and debugging.
These are important parts of every programmer's job. Programmers may continue to fix these
problems throughout the life of a program. Updating, repairing, modifying, and expanding
existing programs is sometimes called maintenance programming. Programmers may contribute
to user guides and online help, or they may work with technical writers to do such work.
Computer programmers often are grouped into two broad types: application programmers and
systems programmers. Application programmers write programs to handle a specific job, such as
a program to track inventory within an organization. They also may revise existing packaged
software or customize generic applications which are frequently purchased from independent
software vendors. Systems programmers, in contrast, write programs to maintain and control
computer systems software, such as operating systems and database management systems. These
workers make changes in the instructions that determine how the network, workstations, and
CPU of the system handle the various jobs they have been given and how they communicate
with peripheral equipment such as printers and disk drives.
A software developer needs to have deep technical expertise with certain aspects of computing.
Some positions will require a degree in a relevant field such as computer science, information
technology, engineering, programming, or any other IT related post-graduate studies.[10] An ideal
software developer is a self-motivated professional carrying a dynamic hands-on experience on
key languages of programming such as C++, C#, PHP, Java, C, Javascript, Visual Basic, Python,
and Smalltalk.
According to developer Eric Sink, the differences between system design, software development,
and programming are more apparent. Already in the current market place, there can be found a
segregation between programmers and developers, in that one who implements is not the same as
the one who designs the class structure or hierarchy. Even more, so that developers become
software architects or systems architects, those who design the multi-leveled architecture or
component interactions of a large software system.[11]
Types of software
Programmers in software development companies may work directly with experts from various
fields to create software – either programs designed for specific clients or packaged software for
general use – ranging from video games to educational software to programs for desktop
publishing and financial planning. Programming of packaged software constitutes one of the
most rapidly growing segments of the computer services industry. Some companies or
organizations – even small ones – have set up their own IT team to ensure the design and
development of in-house software to answer to very specific needs from their internal end-users,
especially when existing software are not suitable or too expensive. This is, for example, the case
in research laboratories.[citation needed]
In addition, the rise of the Internet has made web development a huge part of the programming
field. Currently, more software applications are web applications that can be used by anyone
with a web browser.[citation needed] Examples of such applications include the Google search service,
the Outlook.com e-mail service, and the Flickr photo-sharing service.
Programming editors, also known as source code editors, are text editors that are specifically
designed for programmers or developers for writing the source code of an application or a
program. Most of these editors include features useful for programmers, which may include
color syntax highlighting, auto indentation, auto-complete, bracket matching, syntax check, and
allows plug-ins. These features aid the users during coding, debugging and testing.[12]
Globalization
The examples and perspective in this article deal primarily with the United States and
do not represent a worldwide view of the subject. You may improve this article,
discuss the issue on the talk page, or create a new article, as appropriate. (December 2010)
(Learn how and when to remove this template message)
Large companies claim there is a skills shortage with regard to programming talent. However,
US programmers and unions counter that large companies are exaggerating their case in order to
obtain cheaper programmers from developing countries and avoid previously employer-paid
training using industry-specific technologies not covered in most accredited degree programs.[16]
[17]
Other reasons for employers claiming skill shortages is the result of their own cost-saving
combining of several disparate skill sets previously held by several specialized programmers into
fewer generalized multifaceted positions that are unlikely to have enough " qualified" candidates
with the desired experience.[18]
Enrollment in computer-related degrees in the US has dropped for years, especially for
women[19], due to lack of general interests in science and mathematics and also out of an apparent
fear that programming will be subject to the same pressures as manufacturing and agriculture
careers.[20] This situation has resulted in confusion about whether the US economy is entering a
"post-information age" and the nature of US comparative advantages. Most academic institutions
have an Institutional research office that keeps past statistics of degrees conferred which shows
several dips and rises in Computer Science degrees over the past 30 years. The overall trend
shows a slightly overall decline in growth (especially when compared to other STEM degree
growth) since certain peaks of 1986, 1992, 2002, and 2008 showing periods of flat growth or
even declines.[21], In addition, the U.S. Bureau of Labor Statistics Occupational Outlook 2016-26
is -7% (a decline in their words) for Computer Programmers because Computer programming
can be done from anywhere in the world, so companies sometimes hire programmers in countries
where wages are lower.[22]
Country comparison
Russia and China are the countries that are ranked very high when it comes to talent in computer
programming.[23][24]
See also
References
1.
Fuegi, J.; Francis, J. (2003). "Lovelace & Babbage and the creation of the 1843 'notes'".
Annals of the History of Computing. 25 (4): 18–26. doi:10.1109/MAHC.2003.1253887.
Fuegi, J.; Francis, J. (October–December 2003). "Lovelace & Babbage and the creation
of the 1843 'notes'". IEEE Annals of the History of Computing. 25 (4): 16–26.
doi:10.1109/MAHC.2003.1253887.
"Memorials". Eniacprogrammers.org. Retrieved 11 October 2018.
"ABC News: First Computer Programmers Inspire Documentary". Abcnews.go.com. 4
December 2007. Retrieved 3 October 2010.
"International Programmers' Day". Archived from the original on 3 January 2018.
Retrieved 19 September 2018.
Paul Niquette (1995). "Softword: Provenance for the Word 'Software'". adapted from
Sophisticated: The Magazine ISBN 1-58922-233-4
Elmer C. Kubie (Summer 1994). "Recollections of the first software company". Annals of
the History of Computing. 16 (2): 65–71. doi:10.1109/85.279238. S2CID 5733812.
Rebello, Kathy; Schwartz, Evan I.; Verity, John W.; Lewyn, Mark; Levine, Jonathan (28
February 1993). "Is Microsoft Too Powerful?". Businessweek Archives. Bloomberg
Businessweek. Retrieved 26 September 2014.
Hardiman, Nick (24 July 2014). "A portrait of the modern cloud developer".
TechRepublic.
"Software Engineer Skills and Responsibilities".
Eric Sink. "Small ISVs: You need Developers, not Programmers". Sourcegear. Retrieved
6 June 2008. A programmer is someone who does nothing but code new features and (if you're
lucky) fix bugs. They don't write specs. They don't write automated test cases. They don't help
keep the automated build system up to date. They don't help customers work out tough problems.
They don't help write documentation. They don't help with testing. They don't even read code. All
they do is write new code.
"BBC Bitesize - GCSE Computer Science - Programming software and the IDE -
Revision 4". www.bbc.co.uk. Retrieved 16 September 2017.
Shankleman, Martin (1 July 2010). "'One in 10' UK graduates jobless" – via
www.bbc.co.uk.
[1] ATAS classifications (University of Plymouth) Archived 18 May 2010 at the
Wayback Machine
"CPD: October 8, 2004 Debate Transcript". www.debates.org. Retrieved 13 February
2017.
https://www.bloomberg.com/opinion/articles/2020-08-04/big-tech-wants-you-to-believe-
america-has-a-skills-gap
[2] Migration Letters, Volume: 10, No: 2, pp. 211 – 228 ISSN 1741-8984 & eISSN 1741-
8992
"Purple Squirrels and the Reserve Army of the Unemployed" Paul Solman
https://www.pbs.org/newshour/making-sense/purple-squirrels-and-the-reser/ PBSAugust 15,
2012 accessdate = 2016-06-10
https://developers.hp.com/public/blog/hp-international-womens-week-women-computer-
science-dropping-1980s
Theresa Beaubouef and John Mason, Why the high attrition rate for computer science
students: some thoughts and observations., ACM SIGCSE Bulletin, 2005
"After the Dot-Com Bubble: Silicon Valley High-Tech Employment And Wages in 2001
and 2008". www.bls.gov.
"Computer Programmers : Occupational Outlook Handbook: : U.S. Bureau of Labor
Statistics". www.bls.gov.
Rubens, Paul (24 October 2016). "Where to find the world's best programmers". CIO.
Retrieved 2 September 2020.
Further reading
Weinberg, Gerald M., The Psychology of Computer Programming, New York: Van
Nostrand Reinhold, 1971
An experiential study of the nature of programming work: Lucas, Rob. "Dreaming in
Code" New Left Review 62, March–April 2010, pp. 125–132.
Thompson, Clive (2019). Coders: The Making of a New Tribe and the Remaking of the
World. Penguin Press. ISBN 978-0735220560.
External links
The US Department of Labor description of:
o Computer Programmers
o Software developer
Categories:
Computer occupations
Computer programmers
Computer science
People in information technology
Navigation menu
Not logged in
Talk
Contributions
Create account
Log in
Article
Talk
Read
Edit
View history
Search
Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
Contribute
Help
Community portal
Recent changes
Upload file
Tools
Print/export
Download as PDF
Printable version
In other projects
Wikimedia Commons
Wikinews
Languages
العربية
Español
हिन्दी
Bahasa Indonesia
Italiano
Bahasa Melayu
Português
Русский
中文
Edit links
Privacy policy
About Wikipedia
Disclaimers
Contact Wikipedia
Mobile view
Developers
Statistics
Cookie statement