Related articles
Edit |
Discuss Article
Code- For other meanings of the word code see Code (disambiguation)
In communications, a code is a rule for converting a piece of information (for example, a letter, word, or phrase) into another object or action, not necessarily of the same sort. One reason for this is to enable communication in places where ordinary spoken or written language is difficult or impossible. For example, a cable code replaces words (eg, ship, invoice, ...) into shorter words, allowing the same information to be sent with fewer characters, more quickly, and most important, less expensively. Another example is the use of semaphore flags, where the configuration of flags held by a signaller or the arms of a semaphore tower encodes parts of the message, typically individual letters and numbers. Another person standing a great distance away can interpret the flags and reproduce the words sent.
Cryptography: codes versus ciphers
Codes have long been used in cryptography. Codes are used to transform the content or meaning of a message into something else, preventing those not in on the secret from understanding what is actually transmitted. The usual method is to use a "codebook" with a list of common phrases/words matched with different phrases/words, so that people without the codebook who might intercept the message get nothing but a message referring to something else altogether, or alternatively, complete gibberish. A cable code would be one such.
In general usage, the term code is very often confused with the term cipher, but in cryptography they refer to different concepts. They can be distinguished best by the scope of the differing transformations: A code is a set of rules which result in a change in the representation of meaningful information to some other form -- this need not include secrecy. Most cable codes are examples in which secrecy isn't the purpose. Cable codes were developed to lower transmission costs by reducing message length. Codes work at the level of meaning; that is, words or phrases are converted into something else; for a cable code the something else had fewer letters. But, when the information should not be known to anyone but the intended recipient, the transformation must not be reversible by just anyone. There must be some secret information required to successfully reverse the transformation.
A code which requires such secret knowledge is a cryptographic code, and the secret information and rules to use it is a codebook.
A cipher by contrast, does not work at the level of meaningful information. While a code might transform "attack" into "FRGPL" or "mincemeat pie", a cipher transforms elements below the semantic level, ie, below the level of meaning. The "a" in attack might be converted to "Q", the first "t" to "f", the second "t" to "3", and so on. Cyphers are more convenient than codes in some situations, there being no need for a codebook.
Codes on the other hand, were long believed to be more secure than cyphers, there being (if one's codebook constructor did a good job) no 'pattern of transformation' which can be discovered. With the advent of automatic processors (ie, in recent times the electronic computer), cyphers have come to dominate cryptography.
Codes in communication used for brevity
Code can be used for brevity. When telegraph messages were the state of the art in rapid long distance communication, elaborate commercial codes which encoded complete phrases into single words (commonly five-letter groups) were developed, so that telegraphers became conversant with such "words" as BYOXO ("Are you trying to weasel out of our deal?"), LIOUY ("Why do you not answer my question?"), BMULD ("You're a skunk!"), or AYYLU ("Not clearly coded, repeat more clearly."). Code words were chosen for various reasons: length, pronouncability, etc. Meanings were chosen to fit perceived needs: commercial negotiations, military terms for military codes, diplomatic terms for diplomatic codes, any and all of the preceding for espionage codes, ... Codebooks and codebook publishers proliferated, inlcuding one run as a front for the American Black Chamber run by Herbert Yardley between WWI and WWII. The purpose of most of these codes was to save on cable costs.
In the computer era since World War II, there are also "codes" for data compression, e.g. Huffman coding, which uses short codes for frequent symbols and longer codes for seldom used symbols - the same principle is used in the Morse code. It and the Baudot code which uses the same length representation for all symbols and characters, both go back to telegraph days. The later was a primary ancestor of the ASCII character code widely used in computers.
An example: the ASCII code
Probably the most widely known data communications code (aka character representation) in use today is ASCII. In one or another (somewhat compatible) version, it is used by nearly all personal computers, terminalss, printerss, and other communication equipment. Its original version represents 128 characters with seven-bit binary numbers--that is, as a string of seven 1s and 0s.
In ASCII a lowercase "a" is always 1100001, an uppercase "A" always 1000001, and so on.
Extensions to ASCII have included 8-bit characters (for letters of European languages and such thingsas card suit symbols), and in fullest flowering have included glyphs from essentially all of the world's writing systems (see Unicode and Bob Bemer).
Codes to detect or correct errors (e.g., in storage or transmission)
Codes may also be used to represent data in a way more resistant
to errors in transmission or storage. Such a "code" is
called an Error-correcting code, and works by including carefully crafted redundancy with the stored (or transmitted) data. Examples include Hamming codes, Reed-Solomon, Reed-Muller, Bose-Chaudhuri-Hochquenghem, Turbo, Golay, Goppa, and Gallager Low-density parity-check codes.
Codes and acronyms
Acronyms and abbreviations can be considered codes, and in a sense all languages and writing systems are codes for human thought. Occasionally a code word achieves an independent existence (and meaning) while the original equivalent
phrase is forgotten or at least no longer has the precise meaning attributed to the code word. For example, the number "86" was once used as a code word in restaurants meaning "We're out of the requested item". It is now commonly used to mean the removal or destruction of something. '30' was widely used in journalism to mean "end of story", and it is sometimes used in other contexts to signify "the end".
- See also: Glossary of coding terms.
Source | Copyright
|
 |
 |
 |
Webmasters: Add your website here:
Readers: Edit |
Discuss Listings
SIGS Conferences and Publications Pertinent, informative and resource-packed magazines, conferences and exhibitions for the application development marketplace. http://www.sigs.com/
itmWEB A collection of news, resources, and tools for software engineering, computer programming, and information technology management. http://www.itmweb.com/
Binoj's Home Page Large list online books and online compilers. Other programmer helpers. http://www11.brinkster.com/binoj/
Programming Central Covers all issues of programming including C/C++, graphics and games. Also has HTML and Javascript information. http://www.programmingcentral.com/
Programmers Heaven Online site for programmers with thousands of links and files to explore. Everything from Assembler to Visual Basic can be found here. http://www.programmersheaven.com/
SuperExpert The community of computer experts. Get expert answers to your computer questions, read articles, download software, find a book, or get a new job. http://www.superexpert.com/
The Programmer's Lair Offers programs, source codes, forums, tutorials, newsletters and more for C++, Visual Basic and Delphi. http://apurvaslair.50g.com/
ProgrammerTutorials.com An on-line resource for programmers to learn new programming languages, find job sites and programmer web resources. http://www.programmertutorials.com/
Lee's Programming Source Site Source Code for: C, C++, Java, MIPS and Motorola Assembly, Ada, Verilog, VHDL, and ABEL. Links and helpful hints. http://www.geocities.com/lme3623/
Source Code Corner Articles, forum, tips and tricks. http://www.sourcecodecorner.com/
Sitereview.org Programming site reviews posted by users. http://sitereview.org/Coding.php3
BrilliaNeT's Programming Section Utilities, turorials, and source-codes which deal with many programming languages (including Pascal, C, Assembly, Java) and issues(including Protected-Mode, OS Programming). http://www.brillianet.com/programming/
dev.kanngard.net A resource for software developers, containing articles about Netbeans, Java and Lotus Domino. http://dev.kanngard.net/
Developer.com Provides link directory, technical articles, news, forum, and online books for Java, Linux, JavaScript, Perl, ActiveX, Visual Basic, HTML, DHMTL, XML, ColdFusion, C and C++. http://www.developer.com/
Codework European Source for C, C++ and Java development tools. http://www.codework.com/
Developer Fusion Tutorials and source code for VB, ASP, PHP, XML, SQL Server, C#, C++, Perl developers. ActiveX controls, reviews, discussion forum. http://www.developerfusion.com/
dream.in.code Articles and tutorials for web developers and programmers. Also forums, resources. http://home.dreamincode.net/
DevArchive Hundreds of reviewed components, samples, applications for Delphi, Visual Basic, Visaul C++ developers. Also free downloads, top lists, tools, forums. http://www.devarchive.com/
Decatomb A database of useful information from Decatomb's Community and Discussion forums. Also archive of the technical papers and articles. http://www.decatomb.com/cgi-bin/index.cgi
TILISOFT Developer Resources A directory to developer resources. It also has code archive and download collections, forum, and chat and direct messaging. http://www.tilisoft.net/
The Peon's Guide To Secure System Development A short, hard-hitting paper which puts forth and argues for various basic principles which must be understood by all programmers in order to make systems secure. http://m.bacarella.com/papers/secsoft/html/
MetalShell - Source Code Examples A growing archive of source code examples for different languages and platforms. All code is written for the purpose of helping others learn to program. C, C++, Perl, Python, HTML sources. Shell scripts. http://www.metalshell.com/
FunctionX Programming resources, tutorilas and FAQs. Also geometric formulas. Microsoft OS and program tutorials. http://www.functionx.com/
sepsis Programming information and tutorials for Delphi, Pascal, C, C++, Java, HTML, Assembly. http://www.sepsis.za.net/
IBM: developerWorks An online collection of tutorials, sample code, standards, and other resources provided experts at IBM to assist software developers using open standards and cross-platform technologies. http://www-106.ibm.com/developerworks/
Nichebox Development An archive of development resources relating to web development with PHP and ASP, software development with Delphi and Visual Basic, GIS development. http://dev.nichebox.com/
The Fellowship of Hobbyist Programmers A community for coders interested in collaboration, education, and fun. http://www.hprog.org/
OS Config Resources such as reviews of freely available programming tutorials for C, C++, Visual Basic. Also included are software drivers for BeOS, Linux, Windows 95/98/NT/2000, and a font gallery. http://www.osconfig.com/
SnipX Online developer repository, allowing developers to share and access their own personal code libraries from anywhere in the world. http://www.snipx.com/
Gepard Studio Sources (Pascal, Delphi, C, Java), games (Java,C). http://skyscraper.fortunecity.com/solaris/46/index2.html
Cataloged Collection of Annotated Examples A free-to-use comparitive resource, for programmers and non-programmers, containing complete sample code, well commented, for many different languages. http://www.codeexamples.org/
iDevResource.com For Windows developers, covering COM, COM+, XML, ASP and Visual Basic with articles, breaking news, discussion groups, training courses, FAQs, humour. http://www.idevresource.com/
vb123 Tips, articles and examples for Microsoft Access and visual basic. Programming of graph objects, graphical shareware and wizard downloads are also featured. http://www.vb123.com/
Yet Another Society A non-profit corporation for the advancement of collaborative efforts in computer and information sciences. News, events, projects, and contact details. http://www.yetanother.org/
Zen Spider Website Information and tools for language writers and programmers. http://www.zenspider.com/index.html
Microsoft Developer Network Provides articles, whitepapers, interviews, and sample code for software developers using Microsoft products. http://msdn.microsoft.com/
Coder's Guild Mailing List Archive Once a highly frequented programmer community, this archive contains four years of discussions about many programming problems for all languages. http://www.netalive.org/codersguild/
Tom's Programmers Resource Languages and other development tools that are available for the MS Windows 98/ME/XP platforms. http://tabini.topcities.com/index.htm
Code Box Tutorials on several languages (Assembly, C/C++, Java, Perl, PHP, Visual Basic), discussion forums on each, general forum, news, survey, holds quarterly programming contests. In English, despite .sk domain. http://code.box.sk/
CompSci.ca Ideas, tips, useful information on programming, graphics, games via C++, Flash, HTML, Java, PHP, Turing, Visual Basic. Links to tutorials, other interesting sites. http://www.compsci.ca/
Scriptstop A collection of scripts and programs, tutorials, and books: ASP, ASP.NET, CFML, Flash, Java, JavaScript, Perl, PHP, C/C++, Python, XML. http://www.scriptstop.co.uk/
Code-Source: The Source for Code Source code repository. Algorithms with various language versions of code. Open source, free for all. http://www.code-source.org/
Teen Programmers Unite Organization that aims to help teen programmers learn and exchange ideas. http://www.hprog.org/fhp/TeenProgrammersUnite
CodingCake - Articles Include code examples library (including ASP, Java, VC++, database related) and coding toolkit (such as backup project, count source code, execute SQL). http://www.qinysoft.com/articles/
Cyber Victory Programming related articles, C/C++, Visual Basic, Pascal code examples. http://www.cybvic.org.mm
The Programmers Corner Programming resource website containing articles, tips, downloads, standards and source code in several popular programming languages, such as: VB, VB.Net, C#, C++, Java and PHP. http://www.programmerscorner.com/
Portinggurus Aim to establish a single destination for software porting professionals, enabling community interaction and establishment of porting as a separate discipline with its own body of knowledge. http://portinggurus.org/
TeenCoderz Geared toward teenage programmers, but everyone is welcome. General, PHP, MySQL, HTML, Delphi, Visual Basic tutorials. C++, Perl, PHP downloads. Forums. http://www.teencoderz.com/
Vyom Source Codes Directory Contains categorised source codes in different programming languages - C, C++, Java, Pascal and COBOL. http://www.vyomworld.com/source/
For Programmers Programming related resources, including manuals, code examples, tutorials for C/C++, Perl, MySQL, Bash, Sed/Awk, CSS, Javascript. http://anaturb.net/
CodeAssist Dot-Com Collections code snippets for XML, Java, VB, ASP, SQL, C#. http://www.codeassist.com/
BigProf Software Contains PHP and C source code and resources for programmers. Offers tools for free download. http://www.bigprof.com
skillreactor.org Computer technology, programming, 3D animation: tutorials, tools. http://www.skillreactor.org/
MediaDev - Software Development Portal Recent news and events with specific market studies and resources for software developers. Localised for the UK, France, Spain, Italy and Germany. http://www.mediadev.com/
CodePedia Programming languages, web development, computer science resources. http://www.codepedia.com/
FreeCodeMomma.com Source code, tutorials and articles in JSP, ASP, PHP, Java, Javascript, HTML, XML, Perl, .Net. http://www.freecodemomma.com/
The Code Project C++, C# and .NET (including VB.NET) articles, code snippets, discussions. http://www.codeproject.com/
Erix World of Programming Programming resource website containing articles, tips, downloads, standards and source code in several popular programming languages, such as: VB, VB.Net, C#, C++, JavaScript and PHP. http://www.erix-world.com/
just4programmers Source code, and forums to find help with programming. http://www.just4programmers.com/
Olate Tutorials, articles and scripts for ASP, PHP, C++, HTML. http://www.olate.com
source-code.biz Source code and tips for Java, PHP, VB, VBScript and other programming languages. http://www.source-code.biz
Bluestone Lab E-books available in pdf format on .Net, ASP, XML and C#. http://www.bluestonelab.com
Undocumented Printing Various information for developers on windows printing. http://undocprint.printassociates.com
Code Comments Forums and web based access to many programming usenet newsgroups. http://www.codecomments.com
Sun Developer's Network - The Source Resources for software developers using Java, web services, C, C++, and Fortran. http://developers.sun.com/
DevJunkies.com - developer resource Development articles, news, code snippets and a community forum to answer questions. http://devjunkies.com
Programming examples and tutorials for developers Provides information and tutorials for developers. http://free.netartmedia.net
Dev Builder Offers forum, articles and news section. http://www.devbuilder.org
Icarus Independent A resource for free compilers, SDKs, source code, and drivers. http://www.icarusindie.com
OpenSourceTutorials.com Tutorials covering ranging from beginner to advanced levels with forums for extra support if needed while researching. http://www.opensourcetutorials.com
New Programmer Resources, tutorials, forums and code samples for new and student programmers. http://www.newprogrammer.com
aewnet.com Programming portal and search tool. Plus a wide range of examples, tutorials and industry news. http://www.aewnet.com/
Source Code Online Visual Basic, ASP, VBScript and Access source code. Many products, certification questions, polls, books. http://www.vbland.com/
Dr. Dobb's Programmers Vault Programming tutorials, FAQs, downloads, and hints and tips. http://www.chesworth.com/pv/
Grk's home page This home page contains useful documents, texts, sources, and links for computer programmers, and tutorials for the beginners. http://members.tripod.com/grkbl/
Programming Tutorials - justPhukit.com A resource of tutorials and articles for programmers and developers. http://www.justphukit.com/
zez.org A community site for open source developers. Articles covers several languages as well as important stuff like regular expressions and community building. http://zez.org/
Youth Tech Coding Microsphere A programming site for teens, by teens. A members showcase, programming challenges, resources, and information on most programming languages. http://www.youthtech.com/codem/index.htm
DevChannel News, articles and reference resource for developers interested in core technology topics. http://www.devchannel.org/
Planet Source Code Lets programmers submit code for review by other programmers; many source code samples to help educate beginners on many concepts; contests where programmers vote for the most efficient, useful code recently submitted. http://www.planet-source-code.com/
BURKS Online Free version of very low cost 4 CD-ROM set for computer science students. Has libraries, compilers, tutorials, extensive reference material for over 24 languages, 13,000+ entry computing dictionary, a Linux distribution. http://burks.bton.ac.uk/
Programming Links Page Long page with many links to a wide variety of computer programming information. http://skyscraper.fortunecity.com/neil/716/progrlinks.html
Coding Library Categorized source library. By programming languages and topics. http://www.internettrash.com/users/fdb/
FreeTechBooks Free online computer books, documentations and references. All which can be viewed, copied and printed at no charge for private use. http://www.tcfb.com/freetechbooks/index.html
Softpanorama Information on Open Source software movement. Also provides a collection of links to Linux, programming languages, databases, and networking. http://www.softpanorama.org/index.shtml
VoiceCode Programming by Voice Toolbox For many programmers with computer related injuries such as Repetitive Strain Injury (RSI), programming via voice is the only way they can exercise their talents in their chosen profession. Yet, programming-by-voice using off the shelf speech recognition systems is now awkward because programming languages were never meant to be spoken. http://voicecode.iit.nrc.ca/VoiceCode/
Visualbuilder.com Resources, source code, tips for professional developers. http://www.visualbuilder.com/
|