|
A programmer or software developer is someone who programs computers, that is, one who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming 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, software engineer, computer scientist, or software analyst. A programmer's primary computer language (Java, C++, etc.) is often prefixed to the above titles, and those who work in a web environment often prefix their titles with web. A software developer is a person who is concerned with one or more facets of the software development process, a somewhat broader scope of computer programming or a specialty of project managing. ...
Computer programming (often shortened to programming or coding) is the process of writing, testing, and maintaining the source code of computer programs. ...
Software, consisting of programs, enables a computer to perform specific tasks, as opposed to the physical components of the system (hardware). ...
Software engineering (SE) is the profession concerned with specifying, designing, developing and maintaining software applications by applying technologies and practices from computer science, project management, and other fields. ...
Computer science (informally: CS or compsci) is, in its most general sense, the study of computation and information processing, both in hardware and in software. ...
Java is an object-oriented applications programming language developed by Sun Microsystems in the early 1990s. ...
C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ...
Those proficient in computer programming skills may become famous, though this regard is normally limited to software engineering circles. Many of the most notable programmers are often labeled hackers. Programmers often have or project an image of individualist geekdom, resistance to "suits" (referring to both business suits literally and figuratively to the "Establishment"), controls, and unionization. This is a list of programmers notable for their contributions to software, either as original author or architect, or for later additions. ...
Hacker is a term applied often to computer software or computer hardware programmers, designers and administrators, and especially those who are perceived as experts or highly accomplished. ...
Individualism is a term used to describe a moral, political, or social outlook that stresses human independence and the importance of individual self-reliance and liberty. ...
A geek is an individual who is fascinated by knowledge and imagination, usually electronic or virtual in nature. ...
Suits from the 1937 Chicago Woolen Mills catalog At the signing of the Treaty of Versailles in 1919 heads of state wore morning dress or lounge suits for more informal meetings but frock coats for formal daytime meetings A suit, with varieties such as a business suit, three-piece suit...
The Establishment is a slang term (chiefly in British and Commonwealth English) for a traditional conservative ruling class and its institutions. ...
A Trade Union (Labour union) ... is a continuous association of wage-earners for the purpose of maintaining or improving the conditions of their employment. ...
Ada Lovelace is popularly credited as history's first programmer. She was the first to express an algorithm intended for implementation on a computer, Charles Babbage's analytical engine, in October 1842. Ada Lovelace Augusta Ada King, Countess of Lovelace (December 10, 1815 â November 27, 1852), born Augusta Ada Byron, is mainly known for having written a description of Charles Babbages early mechanical general-purpose computer, the analytical engine. ...
In mathematics, computing, linguistics, and related disciplines, an algorithm is a finite set of well-defined instructions for accomplishing some task which, given an initial state, will terminate in a defined end-state. ...
A BlueGene supercomputer cabinet. ...
Charles Babbage (26 December 1791 â 18 October 1871) was an English mathematician, philosopher, mechanical engineer and (proto-) computer scientist who originated the idea of a programmable computer. ...
The analytical engine, an important step in the history of computers, is the design of a mechanical modern general-purpose computer by the British professor of mathematics Charles Babbage. ...
1842 was a common year starting on Saturday (see link for calendar). ...
Nature of the work - Some of this section is provided courtesy of the United States Government through its Occupational Outlook Handbook, 2006–07 Edition.
Computer programmers write, test, 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. A computer program (often simply called a program) is an example of computer software that prescribes the actions (computations) that are to be carried out by a computer. ...
Programmers work in many settings, including corporate information technology departments, big software companies, and small service firms. 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 authorities disagree on the grounds that only careers with legal licensing requirements count as a profession). Information technology (IT), as defined by the Information Technology Association of America (ITAA)is: the study, design, development, implementation, support or management of computer-based information systems, particularly software applications and computer hardware. ...
An independent contractor is a person or business which provides goods or services to another entity under terms specified in a contract. ...
It has been suggested that Licensing (strategic alliance) be merged into this article or section. ...
A professional certification, trade certification, or professional designation often called simply certification or qualification is a designation earned by a person to certify that he is qualified to perform a job. ...
This article or section does not cite its references or sources. ...
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. Different programming languages are used depending on the purpose of the program. COBOL, for example, is commonly used for business applications which are run on mainframe and midrange computers, whereas Fortran is used in science and engineering. C++ is widely used for both scientific and business applications. J2EE and PHP are popular programming languages for Web programmers. 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. A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ...
COBOL is a third-generation programming language, and one of the oldest programming languages still in active use. ...
This article or section does not adequately cite its references or sources. ...
Minicomputer (colloquially, mini) is a largely obsolete term for a class of multi-user computers which make up the middle range of the computing spectrum, in between the largest multi-user systems (traditionally, mainframe computers) and the smallest single-user systems (microcomputers or personal computers). ...
Fortran (previously FORTRAN[1]) is a general-purpose[2], procedural,[3] imperative programming language that is especially suited to numeric computation and scientific computing. ...
C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ...
Java 2 Platform, Enterprise Edition or J2EE is a Standard (albeit with no ISO or ECMA standard) for developing distributed Multi-tier architecture applications, based on modular components running on an application server. ...
PHP (PHP:Hypertext Preprocessor) is a reflective programming language originally designed for producing dynamic web pages. ...
In computing, a database can be defined as a structured collection of records or data that is stored in a computer so that a program can consult it to answer queries. ...
Web design is the design or designing of a web page, website or web application. ...
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. 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. Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ...
Alternative meanings: Library (computer science), Library (biology) Modern-style library In its traditional sense, a library is a collection of books and periodicals. ...
Testing and debugging Programmers test a program by running it to ensure that the program works as expected. If errors do occur, the programmer must make the appropriate change and recheck the program until it produces the correct results. 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 sometimes called maintenance programming. Programmers sometimes contribute to instruction manuals or online help for those who will be using the program. Other times, technical writers do such work. Software Testing is the process used to help identify the correctness, completeness, security, and quality of developed computer software. ...
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. ...
Online Help is topic, procedural or reference information delivered through computer software. ...
Technical Writers are professional writers who design, create and maintain/update many types of technical documentation, online help, user guides, design specifications, and other documents for their given field, which can be most anything that requires specialized knowledge and information. ...
Application versus system programming Computer programmers often are grouped into two broad types: applications programmers and systems programmers. Applications 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. Because of their knowledge of the entire computer system, systems programmers often help applications programmers debug, or determine the source of, problems that may occur with their programs. An Independent Software Vendor (ISV) is a business term for companies specializing in making or selling software, usually for niche markets. ...
An operating system (OS) is a set of computer programs that manage the hardware and software resources of a computer. ...
A database management system (DBMS) is computer software designed for the purpose of managing databases. ...
Die of an Intel 80486DX2 microprocessor (actual size: 12Ã6. ...
This does not cite its references or sources. ...
Many different consumer electronic devices can store data. ...
Program or Programme can refer to: a computer program a radio program, a television program a collection of managed projects a 12-step program one of the short films in The Animatrix series. ...
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. It has been suggested that Multiplayer game be merged into this article or section. ...
Adobe InDesign CS2, one of many popular desktop publishing applications. ...
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. It has been suggested that this article or section be merged with web application development. ...
In software engineering, a web application is an application delivered to users from a web server over a network such as the World Wide Web or an intranet. ...
An example of a web browser (Mozilla Firefox), displaying the English Wikipedia main page. ...
Google, Inc. ...
Hotmail is a free webmail e-mail service, which is accessible via a web browser. ...
Flickr is a photo sharing website and web services suite, and an online community platform, which is generally considered an early example of a Web 2. ...
Free-trade controversy 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. This article or section does not cite its references or sources. ...
The Foreign Worker Visa is an immigration document allowing a foreign national to temporarily immigrate to a country for purposes of employment. ...
Dot-com (also dotcom or redundantly dot. ...
This article or section does not cite its references or sources. ...
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. A condition whereby there are not enough qualified candidates (employees) to fill needed jobs. ...
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.
See also In 1840 Charles Babbage was invited to give a seminar at the University of Turin about his analytical engine. ...
In computer programming, the word code refers to instructions to a computer in a programming language. ...
Drawing of a code monkey by Jawbone Len based on Jonathan Coultons song Code Monkey. ...
Computer programming (often shortened to programming or coding) is the process of writing, testing, and maintaining the source code of computer programs. ...
A game programmer is a software engineer who primarily develops computer or video games or related software (such as game development tools). ...
A Labor shortage is an economic condition in which there are insufficient qualified candidates (employees) to fill the market-place demands for employment at any price. ...
This is a list of programmers notable for their contributions to software, either as original author or architect, or for later additions. ...
The term Real Programmer is a sarcastic, sometimes pejorative term used by computer programmers to describe an archetypical, hardcore programmer. ...
In computing, a script kiddie (occasionally script bunny, script kitty, script kiddo or skiddie) is a derogatory term for inexperienced crackers who use scripts and programs developed by others, without knowing what they are or how they work, for the purpose of compromising computer accounts and files, and for launching...
This does not adequately cite its references or sources. ...
Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. ...
A video game developer is a software developer (a business or an individual) that creates video games. ...
A web monkey is an amateur web designer who stiches together snippets of HTML and javascript code found on the internet and in books and puts them together to make a web page or web application, without having an appreciation or understanding what the principles behind the code or the...
The examples and perspective in this article or section may not represent a worldwide view. ...
An editor has expressed a concern that the subject of the article does not satisfy the notability guideline or one of the following guidelines for inclusion on Wikipedia: Biographies, Books, Companies, Fiction, Music, Neologisms, Numbers, Web content, or several proposals for new guidelines. ...
External links |