Changes

Jump to navigation Jump to search
1,587 bytes added ,  19:07, December 11, 2019
Additions
Line 73: Line 73:  
===Documentation===
 
===Documentation===
 
Documentation tools can range from simple word processing programs to programs which extract information directly from source code to aid in documenting the program.
 
Documentation tools can range from simple word processing programs to programs which extract information directly from source code to aid in documenting the program.
 +
 +
==Prerequisites==
 +
In order to write a program, the programmer needs a working knowledge of the following items.
 +
 +
===Problem Domain===
 +
The programmer must understand the problem to solve.  For instance, some basic knowledge of physics would be required to write a physics simulation.  Programmers must also understand the platform(s) under which the program is to operate, including the operating system, industry standards, and sometimes the hardware itself.  Lastly, some graphics design knowledge may be required in order to create a "user-friendly" interface to the program.
 +
 +
===Analysis and Design===
 +
Proper identification of what the program is intended to do and how to break down the task into smaller subtasks in order to accomplish this.  This is independent of the programming language or other tools used to code.
 +
 +
===Coding and Tools===
 +
The programmer must understand the [[Programming Language]] he is using (or the CPU architecture if programming in assembly), and how to use the compiler, assembler, IDE, and/or other tools necessary to build the executable file.
 +
 +
==Other development considerations==
 +
Programming involves trade offs between performance, code maintainability, and footprint.  It is rarely possible to achieve desired goals in all these areas.  For instance, higher performance code may require more memory/disk resources (footprint), or more complicated code.  More complicated code can be harder to maintain.  An experienced programmer has learned how to juggle these requirements to create programs that are acceptable in all areas, even if not ideal.
    
==See also==
 
==See also==
SkipCaptcha
292

edits

Navigation menu