HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, hand coding means editing the underlying representation of a
document A document is a writing, written, drawing, drawn, presented, or memorialized representation of thought, often the manifestation of nonfiction, non-fictional, as well as fictional, content. The word originates from the Latin ', which denotes ...
or a
computer program A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
, 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 or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
, or the textual representation of a document or program, instead of using a WYSIWYG 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 manually instead of using a
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
or an automatic translator. Most commonly, it refers to directly writing
HTML Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
documents for the web (rather than in a specialized editor), or to writing a program or portion of a program in
assembly language In computing, assembly language (alternatively 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 bet ...
(more rarely raw machine code) rather than in a higher level language. It can also include other
markup language A markup language is a Encoding, text-encoding system which specifies the structure and formatting of a document and potentially the relationships among its parts. Markup can control the display of a document or enrich its content to facilitate au ...
s, such as wikitext.


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 is the study of linguistic Meaning (philosophy), meaning. It examines what meaning is, how words get their meaning, and how the meaning of a complex expression depends on its parts. Part of this process involves the distinction betwee ...
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 criteria, from some set of available alternatives. It is generally divided into two subfiel ...
) * 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 computing, assembly language (alternatively 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 bet ...
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-onl ...
s and other basal elements of computer architecture. * 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 or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
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. 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


References

{{DEFAULTSORT:Hand Coding Computer programming