aesthetics  →
being  →
complexity  →
database  →
enterprise  →
ethics  →
fiction  →
history  →
internet  →
knowledge  →
language  →
licensing  →
linux  →
logic  →
method  →
news  →
perception  →
philosophy  →
policy  →
purpose  →
religion  →
science  →
sociology  →
software  →
truth  →
unix  →
wiki  →
essay  →
feed  →
help  →
system  →
wiki  →
critical  →
discussion  →
forked  →
imported  →
original  →
[ temporary import ]
please note:
- the content below is remote from Wikipedia
- it has been imported raw for GetWiki
{{about|people who write computer software}}{{For|someone who performs coding in the social sciences|Coding (social sciences)}}{{For|someone who performs medical coding|Medical coder}}{{Redirect|Coder|the settlement in Pennsylvania|Coder, Pennsylvania|other uses|Encoder}}{{Use dmy dates|date=September 2018}}File:IBM Electronic Data Processing Machine (9467782802).jpg|thumb|Two programmers working on an IBM 704 at NACA, 1954]]A computer programmer, sometimes called more recently a coder (especially in more informal contexts), is a person who creates computer software. The term computer programmer can refer to a specialist in one area of computers, or to a generalist who writes code for many kinds of software. A programmer's most oft-used computer language (e.g., Assembly, COBOL, C, C++, C#, Java, Lisp, Python) may be prefixed to the term programmer. Some who work with web programming languages also prefix their titles with web.A range of occupations that involve programming also often require a range of other, similar skills, for example: (software) developer, web developer, mobile applications developer, embedded firmware developer, software engineer, computer scientist, game programmer, game developer and software analyst. The use of the term programmer as applied to these positions is sometimes considered an insulting simplification or even derogatory.NEWS, No Programmers,weblink NEWS, Developer versus programmer,weblink NEWS, Developers AND Programmers,weblink NEWS, Programmer vs. Developer vs. Software Engineer,weblink 21 April 2008,weblink" title="">weblink 10 July 2018, yes, dmy-all, NEWS, Programmer vs. Developer vs. Software Engineer,weblink


File:Ada Lovelace portrait.jpg|thumb|200px|right|Ada LovelaceAda LovelaceBritish 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.JOURNAL, 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, 10.1109/MAHC.2003.1253887, 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.File:Two women operating ENIAC (full resolution).jpg|thumb|Betty Jennings and Fran Bilas, part of the first alt=|leftThe ENIAC programming team, consisting of Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas and Ruth Lichterman were the first regularly working programmers.WEB,weblink Memorials,, 2018-10-11, WEB,weblink ABC News: First Computer Programmers Inspire Documentary,, 2007-12-04, 2010-10-03, International Programmers' Day is celebrated annually on 7 January.WEB,weblink International Programmers' Day, 19 September 2018,weblink" title="">weblink 3 January 2018, yes, dmy-all, 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.


The word software was used as early as 1953, but did not regularly appear in print until the 1960's.WEB,weblink Softword: Provenance for the Word 'Software', Paul Niquette, 1995, adapted from Sophisticated: The Magazine {{ISBN|1-58922-233-4}} 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.JOURNAL, Elmer C. Kubie, Summer 1994, Recollections of the first software company, Annals of the History of Computing, 16, 2, 65–71, 10.1109/85.279238, The software industry expanded in the early 1960's, 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|date=May 2014}}The industry expanded greatly with the rise of the personal computer ("PC") in the mid-1970's, 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. CP/M, later replaced by DOS, Microsoft's first operating system product, was the first popular operating system of the time.WEB,weblink Is Microsoft Too Powerful?, Rebello, Kathy, Schwartz, Evan I., 28 February 1993, Businessweek Archives, Bloomberg Businessweek, 26 September 2014, Verity, John W., Lewyn, Mark, Levine, Jonathan, In the early years of the 21st century, another successful business model has arisen for hosted software, called software-as-a-service, or SaaS; this was at least the third time{{Citation needed|date=July 2012}} this model had been attempted. 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.{{citation needed|date=May 2014}} By 2014, the role of cloud developer had been defined; in this context, one definition of a "developer" in general was published:NEWS,weblink A portrait of the modern cloud developer, Hardiman, Nick, 24 July 2014, TechRepublic,

Nature of the work

Some of this section is from the Occupational Outlook Handbook, 2006–07 Edition, which is in the public domain as a work of the United States Government.
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 in many settings, including corporate information technology ("IT") departments, big software companies, small service firms and government entities of all sizes. Many professional programmers also work for consulting companies at client sites as contractors. Licensing is not typically required to work as a programmer, although professional certifications are commonly held by programmers. Programming is widely considered a profession (although some{{Who|date=March 2011}} authorities disagree on the grounds that only careers with legal licensing requirements count as a profession).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.File:Coding Shots Annual Plan high res-5.jpg|thumb|225x225px|A software engineer writing JavaScriptJavaScriptProgrammers write programs according to the specifications determined primarily by more senior programmers and by systems analysts. After the design process is complete, it is the job of the programmer to convert that design into a logical series of instructions that the computer can follow. The programmer codes these instructions in one of many programming languages. Different programming languages are used depending on the purpose of the program. COBOL, for example, is commonly used for business applications that typically run on mainframe and midrange computers, whereas Fortran is used in science and engineering. C++ is widely used for both scientific and business applications. Java, C#, VB and PHP are popular programming languages for Web and business applications. Programmers generally know more than one programming language and, because many languages are similar, they often can learn new languages relatively easily. In practice, programmers often are referred to by the language they know, e.g. as Java programmers, or by the type of function they perform or environment in which they work: for example, database programmers, mainframe programmers, or Web developers.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.

Testing and debugging

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.

Application versus system programming

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.

Qualifications and skills

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.BLOG, Software Engineer Skills and Responsibilities,weblink 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, VB, Python, 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.WEB,weblink Small ISVs: You need Developers, not Programmers, Eric Sink, Sourcegear, 2008-06-06, 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.,

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|date=May 2014}}In some organizations, particularly small ones, people commonly known as programmer analysts are responsible for both the systems analysis and the actual programming work. The transition from a mainframe environment to one that is based primarily on personal computers (PCs) has blurred the once rigid distinction between the programmer and the user. Increasingly, adept end users are taking over many of the tasks previously performed by programmers. For example, the growing use of packaged software, such as spreadsheet and database management software packages, allows users to write simple programs to access data and perform calculations.{{citation needed|date=May 2014}}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|date=May 2014}} Examples of such applications include the Google search service, the 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.WEB,weblink BBC Bitesize - GCSE Computer Science - Programming software and the IDE - Revision 4,, en-GB, 2017-09-16,


{{Globalize|article|USA|2name=the United States|date=December 2010}}

Market changes in the UK

According to BBC News, 17% of computer science students could not find work in their field 6 months after graduation in 2009 which was the highest rate of the university subjects surveyed while 0% of medical students were unemployed in the same survey.WEB,weblink 'One in 10' UK graduates jobless, Martin, Shankleman, 1 July 2010,, The UK category system does, however, class such degrees as information technology and game design as 'computer science', industries in which jobs can be extremely difficult to find, somewhat inflating the actual figure.weblink ATAS classifications (University of Plymouth) {{Webarchive|url= |date=18 May 2010 }}

Market changes in the US

Computer programming, offshore outsourcing, and Foreign Worker Visas became a controversial topic after the crash of the dot-com bubble left many programmers without work or with lower wages. Programming was even mentioned in the 2004 US Presidential debate on the topic of offshore outsourcing.WEB,weblink CPD: October 8, 2004 Debate Transcript,, 2017-02-13, 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.weblink Migration Letters, Volume: 10, No: 2, pp. 211 – 228 {{ISSN|1741-8984}} & e{{ISSN|1741-8992}} 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."Purple Squirrels and the Reserve Army of the Unemployed" Paul Solmanweblink PBSAugust 15, 2012 accessdate = 2016-06-10Enrollment in computer-related degrees in US has dropped recently{{when|date=May 2018}} 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.Theresa Beaubouef and John Mason, Why the high attrition rate for computer science students: some thoughts and observations., ACM SIGCSE Bulletin, 2005 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 keep past statistics of degrees conferred which show 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.WEB,weblink After the Dot-Com Bubble: Silicon Valley High-Tech Employment And Wages in 2001 and 2008,, 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.WEB,weblink Computer Programmers : Occupational Outlook Handbook: : U.S. Bureau of Labor Statistics,,

See also




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.
  • BOOK, Coders: The Making of a New Tribe and the Remaking of the World, 2019, Clive, Thompson, Penguin Press, 978-0735220560,

External links


- content above as imported from Wikipedia
- "programmer" does not exist on GetWiki (yet)
- time: 11:39pm EDT - Wed, Aug 21 2019
[ this remote article is provided by Wikipedia ]
LATEST EDITS [ see all ]
Eastern Philosophy
History of Philosophy
M.R.M. Parrott