Computer programming
From DocForge
Computer programming, or coding, is the process of writing source code for computer programs. This source code is written in a programming language. Within the entire process of software development, programming encompasses the implementation phase.
Writing computer programs is a blend of art and engineering. The artistic aspect allows programmers to come up with creative solutions to intriguing problems. The engineering aspect of programming requires the resulting software to accurately solve specific problems and operate in specific environments.
Contents |
[edit] Tasks
The process of programming involves many tasks:
- Designing software architecture
- Writing source code
- Compilation of the source code into machine code, for languages which require it
- Software testing
- Documentation
- Integration
- Maintenance
[edit] Programming Languages
Today there are a wide variety of programming languages available to programmers. The choice of programming language is based on its strengths for a given task and situation, plus its general style - referred to as it's programming paradigm. It's partly a matter of personal preference, but other criteria such as the available development team's skills and other factors are also at play.
The fundamental building blocks of computer programming involve working with [1]
- Input - Getting data from a user's hardware device or other source
- Output - Displaying information for a user or sending it to another hardware or software system
- Math - Operating on data
- Conditional execution - Altering program flow based on data conditions
- Repetition
[edit] Quality
The goal of any computer program is to solve specific problems. It's ability to do that efficiently and correctly in every situation determines its quality. In determining programming quality a variety of factors can be analyzed:
- Efficiency - Has the program been written to use as few resources as possible and execute in a reasonable amount of time?
- Reliability - Is the output always correct from any input?
- Robustness - Is the program written well enough to handle any situation it might come across?
- Usability - Is the system easy enough for the end user to comprehend and use efficiently?
- Portability - Will the system run on a variety of platforms?
[edit] See Also
- Best practices
- Programming games
- Debugging
- Hello World
- Programmer - including tips for new programmers
- Programming languages
- Software development
- Software engineering