<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Hand_coding</id>
	<title>Hand coding - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Hand_coding"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Hand_coding&amp;action=history"/>
	<updated>2026-05-04T22:53:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Hand_coding&amp;diff=2272493&amp;oldid=prev</id>
		<title>imported&gt;Citation bot: Added s2cid. | Use this bot. Report bugs. | Suggested by Betterkeks | #UCB_webform</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Hand_coding&amp;diff=2272493&amp;oldid=prev"/>
		<updated>2024-02-18T14:36:55Z</updated>

		<summary type="html">&lt;p&gt;Added s2cid. | &lt;a href=&quot;/wiki143/index.php?title=En:WP:UCB&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:WP:UCB (page does not exist)&quot;&gt;Use this bot&lt;/a&gt;. &lt;a href=&quot;/wiki143/index.php?title=En:WP:DBUG&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:WP:DBUG (page does not exist)&quot;&gt;Report bugs&lt;/a&gt;. | Suggested by Betterkeks | #UCB_webform&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Editing the underlying representation of a document or a computer program}}&lt;br /&gt;
{{for|the social sciences practice|Coding (social sciences)}}&lt;br /&gt;
{{More citations needed |date=February 2024}}&lt;br /&gt;
{{Use American English |date=February 2024}}&lt;br /&gt;
{{Use mdy dates |date=February 2024}}&lt;br /&gt;
In [[computing]], &amp;#039;&amp;#039;&amp;#039;hand coding&amp;#039;&amp;#039;&amp;#039; means editing the underlying representation of a [[document]] or a [[computer program]], when tools that allow working on a higher level representation also exist. Typically this means editing the [[source code]], 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]] or an automatic translator.&amp;lt;ref name=&amp;quot;phhe93&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most commonly, it refers to directly writing [[HTML]] documents for the web (rather than in a specialized editor), or to writing a program or portion of a program in [[assembly language]] (more rarely raw machine code) rather than in a higher level language. It can also include other [[markup language]]s, such as [[wikitext]].&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
The reasons to use hand coding include the ability to:&lt;br /&gt;
* Use features or refinements not supported by the graphical editor or compiler&lt;br /&gt;
* Control the [[semantics]] of a document beyond that allowed by the graphical editor&lt;br /&gt;
* Produce more elegant source code to help maintenance and integration&lt;br /&gt;
* Produce better performing machine code than that produced by the compiler (see [[optimization (computer science)|optimization]])&lt;br /&gt;
* Avoid having to pay for expensive WYSIWYG Editors. Note that there are some open-source editors available on the web, however.&lt;br /&gt;
* 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]] to get a notion of [[processor register]]s and other basal elements of [[computer architecture]].&lt;br /&gt;
* Escape abstractions and templated code. Hand coding allows more refined control of code, which may improve efficiency, or add functionality that is otherwise unavailable.&lt;br /&gt;
&lt;br /&gt;
Hand coding may require more expertise and time than using automatic tools.&lt;br /&gt;
&lt;br /&gt;
== Hand code ==&lt;br /&gt;
Hand code is [[source code]] 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/[[Integrated development environment|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]].&lt;br /&gt;
&lt;br /&gt;
The [[Source-to-source compiler|automatic tools]] responsible for creating derivative code are themselves usually made up entirely, or at least in part, of hand code.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Patch (computing)|Patch]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{reflist |refs=&lt;br /&gt;
&amp;lt;ref name=&amp;quot;phhe93&amp;quot;&amp;gt;{{Cite journal |url=https://dl.acm.org/doi/10.1145/163114.163127 |title=Compiling machine-independent parallel programs |first1=Michael |last1=Philippsen |first2=Ernst A. |last2=Heinz |first3=Paul |last3=Lukowicz |date=1993-08-18 |journal=ACM SIGPLAN Notices |volume=28 |issue=8 |pages=99–108 |via=CrossRef |doi=10.1145/163114.163127 |s2cid=7707093 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Hand Coding}}&lt;br /&gt;
[[Category:Computer programming]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Citation bot</name></author>
	</entry>
</feed>