Hand Coding
   HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, e ...
, hand coding means editing the underlying representation of a
document A document is a written, drawn, presented, or memorialized representation of thought, often the manifestation of non-fictional, as well as fictional, content. The word originates from the Latin ''Documentum'', which denotes a "teaching" or ...
or a
computer program A computer program is a sequence or set of instructions in a programming language for a computer to execute. Computer programs are one component of software, which also includes documentation and other intangible components. A computer program ...
, when tools that allow working on a higher level representation also exist. Typically this means editing the
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
, or the textual representation of a document or program, instead of using a
WYSIWYG In computing, WYSIWYG ( ), an acronym for What You See Is What You Get, is a system in which editing software allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed d ...
editor that always displays an approximation of the final product. It may mean translating the whole or parts of the source code into
machine language In computer programming, machine code is any low-level programming language, consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a very ...
manually instead of using a
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
or an automatic translator. Most commonly, it refers to directly writing
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
documents for the web (rather than in a specialized editor), or to writing a program or portion of a program in
assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
(more rarely raw machine code) rather than in a higher level language. It can also include other
markup language Markup language refers to a text-encoding system consisting of a set of symbols inserted in a text document to control its structure, formatting, or the relationship between its parts. Markup is often used to control the display of the document ...
s, such as
wikitext A wiki ( ) is an online hypertext publication Collaborative editing, collaboratively edited and managed by its own audience, using a web browser. A typical wiki contains multiple pages for the subjects or scope of the project, and could be ...
.


Purpose

The reasons to use hand coding include the ability to: * Use features or refinements not supported by the graphical editor or compiler * Control the
semantics Semantics (from grc, σημαντικός ''sēmantikós'', "significant") is the study of reference, meaning, or truth. The term can be used to refer to subfields of several distinct disciplines, including philosophy Philosophy (f ...
of a document beyond that allowed by the graphical editor * Produce more elegant source code to help maintenance and integration * Produce better performing machine code than that produced by the compiler (see
optimization Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfi ...
) * Avoid having to pay for expensive WYSIWYG Editors. Note that there are some open-source editors available on the web, however. * Develop an understanding of the methods underlying a common level of abstraction. For example, although it has become rare in real-life scenarios, computer science students may be required to write a program in an
assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
to get a notion of
processor register A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only. ...
s and other basal elements of
computer architecture In computer engineering, computer architecture is a description of the structure of a computer system made from component parts. It can sometimes be a high-level description that ignores details of the implementation. At a more detailed level, t ...
. * Escape abstractions and templated code. Hand coding allows more refined control of code, which may improve efficiency, or add functionality that is otherwise unavailable. Hand coding may require more expertise and time than using automatic tools.


Hand code

Hand code is
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
which does not have tools that can edit it at a more abstract level. Hand code must, by definition, be edited and maintained entirely by hand. Some code can be edited either using an editor/ IDE or by hand, but hand code is differentiated from derived code in that it requires human involvement to create and maintain it over time. Projects may include both hand code and
derivative code Derivative code or Chameleon code is source code which has been derived entirely from one or more other machine readable file formats. If recursive transcompiling is used in the development process, some code will survive all the way through th ...
. The automatic tools responsible for creating derivative code are themselves usually made up entirely, or at least in part, of hand code.


See also

*
Patch Patch or Patches may refer to: Arts, entertainment and media * Patch Johnson, a fictional character from ''Days of Our Lives'' * Patch (''My Little Pony''), a toy * "Patches" (Dickey Lee song), 1962 * "Patches" (Chairmen of the Board song) ...


References

{{DEFAULTSORT:Hand Coding Computer programming