A programmer, computer programmer or coder is someone who writes computer software Computer software, or just software, is a general term primarily used for digitally stored data such as computer programs and other kinds of information read and written by computers. Today, this includes data that has not traditionally been associated with computers, such as film, tapes and records. The term was coined in order to contrast to the. The term computer programmer can refer to a specialist in one area of computer programming Computer programming is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language. The code may be a modification of an existing source or something completely new. The purpose of programming is to create a program that exhibits a certain or to a generalist who writes code for many kinds of software. One who practices or professes a formal approach to programming may also be known as a programmer analyst. A programmer's primary computer language (C C is a general-purpose computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system, C++, Java Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file), Lisp Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older. Like Fortran, Lisp has changed a great deal since its early days, and a number of dialects have, Delphi etc.) is often prefixed to the above titles, and those who work in a web environment often prefix their titles with web. The term programmer can be used to refer to a software developer A software developer is a person or organization concerned with facets of the software development process. They can be involved in aspects wider than design and coding, a somewhat broader scope of computer programming or a specialty of project managing including some aspects of software product management. This person may contribute to the, software engineer A software engineer is a person who applies the principles of software engineering to the design, development, testing, and evaluation of the software and systems that make computers or anything containing software, such as computer chips, work, computer scientist A computer scientist is a scientist who has acquired knowledge of computer science, the study of the theoretical foundations of information and computation and their application in computer systems, or software analyst In a software development team, a software analyst is the person who studies the software application domain and prepares the software requirements and specification document. Software analyst is the same between the software users and the software developers. It conveys the demands of the software users to the developers. A software analyst is. However, members of these professions A profession is a vocation founded upon specialised educational training, the purpose of which is to supply disinterested counsel and service to others, for a direct and definite compensation, wholly apart from expectation of other business gain typically possess other software engineering Software engineering is a profession and field of study dedicated to designing, implementing, and modifying software so that it is of higher quality, more affordable, maintainable, and faster to build. The term software engineering first appeared in the 1968 NATO Software Engineering Conference, and was meant to provoke thought regarding the skills, beyond programming; for this reason, the term programmer is sometimes considered an insulting or derogatory oversimplification of these other professions. This has sparked much debate amongst developers, analysts, computer scientists, programmers, and outsiders who continue to be puzzled at the subtle differences in these occupations.[1][2][3][4][5]
Ada Lovelace Augusta Ada King, Countess of Lovelace , born Augusta Ada Byron, was an English writer chiefly known for her work on Charles Babbage's early mechanical general-purpose computer, the analytical engine. Her notes on the engine include what is recognized as the first algorithm intended to be processed by a machine; as such she is often[when?] is popularly credited as history's first programmer. She was the first to express an algorithm In mathematics, computer science, and related subjects, an 'algorithm' is an effective method for solving a problem expressed as a finite sequence of instructions. Algorithms are used for calculation, data processing, and many other fields intended for implementation on a computer A computer is a programmable machine that receives input, stores and manipulates data//information, and provides output in a useful format, Charles Babbage Charles Babbage, FRS was an English mathematician, philosopher, inventor, and mechanical engineer who originated the concept of a programmable computer. Parts of his uncompleted mechanisms are on display in the London Science Museum. In 1991, a perfectly functioning difference engine was constructed from Babbage's original plans. Built to's analytical engine The analytical engine, an important step in the history of computers, was the design of a mechanical general-purpose computer by English mathematician Charles Babbage. In its logical design the machine was essentially modern, anticipating the first completed general-purpose computers by about 100 years. It was first described in 1837. Babbage, in October 1842.[6] Her work never ran, though that of Konrad Zuse Konrad Zuse was a German engineer and computer pioneer. His greatest achievement was the world's first functional program-controlled Turing-complete computer, the Z3, in 1941 (the program was stored on a punched tape). He received the Werner-von-Siemens-Ring in 1964 for the Z3. His S2 computing machine is considered the first process-controlled did in 1941. The ENIAC ENIAC , short for Electronic Numerical Integrator And Computer, was the first general-purpose electronic computer. It was a Turing-complete, digital computer capable of being reprogrammed to solve a full range of computing problems. ENIAC was designed to calculate artillery firing tables for the United States Army's Ballistic Research Laboratory, programming team, consisting of Kay McNulty Kathleen "Kay" McNulty Mauchly Antonelli was one of the six original programmers of the ENIAC, the first general-purpose electronic digital computer, Betty Jennings She was born Betty Jean Jennings in Gentry County, Missouri, in 1924 and attended Northwest Missouri State Teachers College, majoring in mathematics. In 1945, she was hired by the University of Pennsylvania to work for Army Ordnance at Aberdeen Proving Ground. When the ENIAC computer was developed for the purpose of calculating ballistics, Betty Snyder, Marlyn Wescoff She was born Marlyn Wescoff and graduated from Temple University in 1942. She was hired by the Moore School of Engineering later that year to perform weather calculations, mainly because she knew how to operate an adding machine; in 1943, she was hired to perform calculations for ballistics trajectories. In 1945, she was selected to become one of, Fran Bilas She was born Frances Bilas in Philadelphia in 1922. She attended Temple University but then was awarded a scholarship to Chestnut Hill College. She majored in mathematics with a minor in physics and graduated in 1942. While there, she met Kathleen McNulty, who also later became an ENIAC programmer. Although one of the original programmers of the and Ruth Lichterman Teitelbaum graduated from Hunter College with a B.Sc. in Mathematics. She was hired by the Moore School of Engineering to compute ballistics trajectories and was later selected as one of the first programmers for the ENIAC, which was developed to perform the same calculations. Although a pivotal role in the rise of computers, she was given little were the first working programmers.[7][8]
International Programmers' Day is celebrated annually on January 7.[9]
Contents |
Nature of the work
- Some of this section is from the Occupational Outlook Handbook, 2006–07 Edition, which is in the public domain Works are in the public domain if they are not covered by intellectual property rights at all, if the intellectual property rights have expired, and/or if the intellectual property rights are forfeited. Examples include the English language, the formulae of Newtonian physics, as well as the works of Shakespeare and the patents over powered flight as a work of the United States Government A work of the United States government, as defined by United States copyright law, is "a work prepared by an officer or employee of the U.S. government as part of that person's official duties." The term only applies to the work of the federal government, including the governments of "non-organized territorial areas" under the.
Computer programmers write, test, debug, and maintain the detailed instructions, called computer programs A computer program is a sequence of instructions written to perform a specified task for a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute the instructions. The same program in its human-, 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 Information technology is "the study, design, development, implementation, support or management of computer-based information systems, particularly software applications and computer hardware", according to the Information Technology Association of America (ITAA). IT deals with the use of electronic computers and computer software to departments, big software companies, and small service firms. Many professional programmers also work for consulting companies at client' sites as contractors An independent contractor is a natural person, business, or corporation that provides goods or services to another entity under terms specified in a contract or within a verbal agreement. Unlike an employee, an independent contractor does not work regularly for an employer but works as and when required, during which time she or he may be subject. Licensing The verb license or grant license means to give permission. The noun license refers to that permission as well as to the document memorializing that permission is not typically required to work as a programmer, although professional certifications Professional certification, trade certification, or professional designation, often called simply certification or qualification, is a designation earned by a person to assure qualification to perform a job or task. Many certifications are used as post-nominal letters indicating an earned privilege from an oversight professional body acting to are commonly held by programmers. Programming is widely considered a profession A profession is a vocation founded upon specialised educational training, the purpose of which is to supply disinterested counsel and service to others, for a direct and definite compensation, wholly apart from expectation of other business gain (although some 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 they are writing programs for. 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. Although simple programs can be written in a few hours, programs that use complex mathematical formulas whose solutions can only be approximated or that draw data from many existing systems may require more than a year of work. In most cases, several programmers work together as a team under a senior programmer’s supervision.
Programmers 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 A programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human communication. Different programming languages are used depending on the purpose of the program. COBOL COBOL is one of the oldest programming languages. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments, for example, is commonly used for business applications which are run on mainframe Mainframes are powerful computers used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing and midrange A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems (mainframe computers) and the smallest single-user systems (microcomputers or personal computers). The class at one time formed a distinct group with its own hardware and operating systems, but the computers, whereas Fortran Fortran is a general-purpose,[note 2] procedural,[note 3] imperative programming language that is especially suited to numeric computation and scientific computing. Originally developed by IBM at their campus in south San Jose, California in the 1950s for scientific and engineering applications, Fortran came to dominate this area of programming is used in science and engineering. C++ is widely used for both scientific and business applications. Java Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file), C# C# is a multi-paradigm programming language encompassing imperative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines. It was developed by Microsoft within the .NET initiative and later approved as a standard by Ecma (ECMA-334) and ISO (ISO/IEC 23270). C# is one of the programming languages and PHP PHP: Hypertext Preprocessor is a widely used, general-purpose scripting language that was originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document. As a general-purpose 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 A database consists of an organized collection of data for one or more uses, typically in digital form. One way of classifying databases involves the type of their contents, for example: bibliographic, document-text, statistical. Digital databases are managed using database management systems, which store database contents, allowing data creation programmers, mainframe programmers, or Web developers A web developer is a software developer or software engineer who is specifically engaged in the development of World Wide Web applications, or distributed network applications that are run over HTTP from a web server to a web browser.
When making changes to the source code In computer science, source code is any collection of statements or declarations written in some human-readable computer programming language. Source code is the means most often used by programmers to specify the actions to be performed by a computer 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. To save work, programmers often use libraries A library is a collection of sources, resources, and services, and the structure in which it is housed; it is organized for use and maintained by a public body, an institution, or a private individual. In the more traditional sense, a library is a collection of books. It can mean the collection, the building or room that houses such a collection, 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. 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 Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing also provides an objective, independent view of the software to allow the business to appreciate and understand the risks at implementation of the software. Test techniques include, but and debugging Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece of electronic hardware, thus making it behave as expected. Debugging tends to be harder when various subsystems are tightly coupled, as changes in one may cause bugs to emerge in another. Many entire books have been written. 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 sometimes called maintenance programmer. Programmers may contribute to user guides A user guide or user's guide, also commonly known as a manual, is a technical communication document intended to give assistance to people using a particular system. It is usually written by a technical writer, although user guides are written by programmers, product or project managers, or other technical staff, particularly in smaller companies and online help Online help is topic-oriented, procedural or reference information delivered through computer software. It is a form of user assistance. Most online help is designed to give assistance in the use of a software application or operating system, but can also be used to present information on a broad range of subjects. When online help is linked to, or they may work with technical writers A technical writer is a professional writer who designs, writes, creates, maintains and updates technical documentation—including online help, user guides, white papers, design specifications, system manuals and other documents. Engineers, scientists and other professionals may also produce technical writing, usually handing their work to a to do such work.
Certain scenarios or execution paths may be difficult to test, in which case the programmer may elect to test by inspection which involves a human inspecting the code on the relevant execution path, perhaps hand executing the code. Test by inspection is also sometimes used as a euphemism for inadequate testing. It may be difficult to properly assess whether the term is being used euphemistically.
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 An operating system is the software on a computer that manages the way different programs use its hardware, and regulates the ways that a user controls the computer. Operating systems are found on almost any device that contains a computer with multiple programs—from cellular phones and video game consoles to supercomputers and web servers. Some and database management systems A Database Management System is a set of computer programs that controls the creation, maintenance, and the use of the database with computer as a platform or of an organization and its end users. It allows organizations to place control of organization-wide database development in the hands of database administrators (DBAs) and other specialists. 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.
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 computer and 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.
In some organizations, particularly small ones, workers 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.
In addition, the rise of the Internet has made Web development a huge part of the programming field. More and more software applications nowadays are Web applications that can be used by anyone with a Web browser. Examples of such applications include the Google search service, the Hotmail e-mail service, and the Flickr photo-sharing service.
Globalization
‹ The below () is being considered for deletion. See to help reach a consensus.›| The examples and perspective in this article deal primarily with the United States and do not represent a worldwide view of the subject. Please improve this article and discuss the issue on the talk page. |
Market changes in the USA
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 U.S. Presidential debate on the topic of offshore outsourcing.
Large companies claim there is a skills shortage with regard to programming talent. However, U.S. programmers and unions counter that large companies are exaggerating their case in order to obtain cheaper programmers from developing countries and to avoid paying for training in very specific technologies. Objective studies on this debate that both sides accept have been hard to come by and a distrust has formed between large companies and programming trade groups.
Enrollment in computer-related degrees in U.S. has dropped recently 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. This situation has resulted in confusion about whether the U.S. economy is entering a "post-information age" and the nature of U.S. comparative advantages. Technology and software jobs were supposed to be the replacement for factory and agriculture jobs lost to cheaper foreign labor, but if those are subject to free trade losses, then the nature of the next generation of replacement careers is not clear at this point.
A parallel trend that has made it harder for some programmers to find work in the United States is the ongoing professionalization of computer programming. As software quality has steadily increased in successive years, the knowledge and experience required to produce such software has also increased, particularly as new programming languages, software project management techniques, and application frameworks have been introduced. Programmers who lack an understanding of these new technologies will naturally encounter decreasing demand for their services.
Professionalization is a particularly relevant force in the United States, as startup companies in particular often outsource the development of an initial application draft to an outside contractor (including overseas companies), and then hire a skilled in-house programmer in the United States to refine the initial product.[citation needed] However, many startup software companies design everything in house.
See also
| Look up programmer or coder in Wiktionary, the free dictionary. |
- Ada Byron's notes on the analytical engine
- Code
- Code monkey
- Computer programming
- Game programmer
- Labor shortage
- List of programmers
- Real programmer
- Script kiddie
- Software analyst
- Software development process
- Software engineer
- Software engineering
- Video game developer
- Web monkey
- Women in computing
- Development speed
References
- ^ "No Programmers". http://www.ericsink.com/No_Programmers.html.
- ^ "Developer versus programmer". http://codebetter.com/blogs/raymond.lewallen/archive/2005/02/22/55812.aspx.
- ^ "Developers AND Programmers". http://weblogs.asp.net/miked/archive/2006/10/13/_2200_Developers_2200_-and-_2200_Programmers_2200_.aspx.
- ^ "Programmer vs. Developer vs. Software Engineer". http://discuss.joelonsoftware.com/default.asp?joel.3.112837.37.
- ^ "Programmer vs. Developer vs. Software Engineer". http://www.xtremevbtalk.com/archive/index.php/t-233780.html.
- ^ J. Fuegi and J. Francis, "Lovelace & Babbage and the creation of the 1843 'notes'." Annals of the History of Computing 25 #4 (October-December 2003): 19, 25. Digital Object Identifier
- ^ ENIAC Programmers Project
- ^ ABC News: First Computer Programmers Inspire Documentary
- ^ International Programmers' Day
Further reading
- Weinberg, Gerald M., The Psychology of Computer Programming, New York: Van Nostrand Reinhold, 1971
External links
- The US Department of Labor's description of "Computer Programmer" and "Computer Software Engineer" and statistics for employed "Computer Programmers"
- "The Future of IT Jobs in America" article
- How to be a programmer - An overview of the challenges of being a programmer
Categories: Computer programmers | Computer occupations
|
ZDNet (blog)
Garett Rogers is employed as a programmer for iQmetrix, which specializes in retail management software for the wireless industry. ...
and more »
364px x 272px | 27.80kB
[source page]
Hypertech Power Programmer III Jeep 4 0L HYP50012 Hypertech Power Programmer III Jeep 4 0L
admin
Mon, 12 Jul 2010 04:20:20 GM
Keystone Strategy has an immediate need for an experienced application and web services developer to work on state-of-the-art web search and online ad.
Q. I am about to work with a web designer/programmer to build a website, I would like a way to map out the website on paper preferably web based so I can send him my ideas in a page by page basis. We are working virtually, and I have heard that can be a problem at times.
Asked by xsvideo - Thu Jan 28 12:31:09 2010 - - 3 Answers - 0 Comments


