From Source Code to Machine Language
The statements that are written by the programmer are called "source language," and they are translated into the computer's "machine language" by programs called "assemblers," "compilers" and "interpreters." For example, when a programmer writes MULTIPLY HOURS TIMES RATE, the verb MULTIPLY must be turned into a code that means multiply, and the nouns HOURS and RATE must be turned into memory locations where those items of data are actually located.
Grammar and Syntax
Like human languages, each programming language has its own grammar and syntax. There are many dialects of the same language, and each dialect requires its own translation system. Standards have been set by ANSI for many programming languages, and ANSI-standard languages are dialect free. However, it can take years for new features to be included in ANSI standards, and new dialects inevitably spring up as a result.
Low Level and High Level
Programming languages fall into two categories: low-level assembly languages and high-level languages. Assembly languages are available for each CPU family, and each assembly instruction is translated into one machine instruction by the assembler program. With high-level languages, a programming statement may be translated into one or several machine instructions by the compiler.
Following is a brief summary of the major high-level languages. Look up each one for more details. For a list of high-level programming languages designed for client/server development, see client/server development system.
ActionScript
Programming language for Flash programs. See Flash and ActionScript.
Ada
Comprehensive, Pascal-based language used by the Department of Defense. See Ada.
ALGOL
International language for expressing algorithms. See ALGOL.
APL
Used for statistics and mathematical matrices. Requires special keyboard symbols. See APL.
BASIC
Developed as a timesharing language in the 1960s. It has been widely used in microcomputer programming in the past, and various dialects of BASIC have been incorporated into many different applications. Microsoft's Visual Basic is widely used. See BASIC and Visual Basic.
C
Developed in the 1980s at AT&T. Widely used to develop commercial applications. Unix is written in C. See C.
C++
Object-oriented version of C that is popular because it combines object-oriented capability with traditional C programming syntax. See C++.
C#
Pronounced "C-sharp." A Microsoft .NET language based on C++ with elements from Visual Basic and Java. See .NET.
COBOL
Developed in the 1960s. Widely used for mini and mainframe programming. See COBOL.
dBASE
Used to be widely used in business applications, but FoxPro (Microsoft's dBASE) has survived the longest. See Visual FoxPro, FoxBase, Clipper and Quicksilver.
F#
Pronounced "F-sharp." A Microsoft .NET scripting language based on ML. See F#.
FORTH
Developed in the 1960s, FORTH has been used in process control and game applications. See FORTH.
FORTRAN
Developed in 1954 by IBM, it was the first major scientific programming language and continues to be widely used. Some commercial applications have been developed in FORTRAN. See FORTRAN.
Java
The programming language developed by Sun and repositioned for Web use. It is widely used on the server side, although client applications are increasingly used. See Java.
JavaScript
A scripting language widely used on the Web. JavaScript is embedded into many HTML pages. See JavaScript.
LISP
Developed in 1960. Used for AI applications. Its syntax is very different than other languages. See LISP.
Logo
Developed in the 1960s, it was noted for its ease of use and "turtle graphics" drawing functions. See Logo.
M
Originally MUMPS (Massachusetts Utility MultiProgramming System), it includes its own database. It is widely used in medical applications. See M.
Modula-2
Enhanced version of Pascal introduced in 1979. See Modula-2.
Pascal
Originally an academic language developed in the 1970s. Borland commercialized it with its Turbo Pascal. See Pascal.
Perl
A scripting language widely used on the Web to write CGI scripts. See Perl.
Prolog
Developed in France in 1973. Used throughout Europe and Japan for AI applications. See Prolog.
Python
A scripting language used for system utilities and Internet scripts. Developed in Amsterdam by Guido van Rossum. See Python.
REXX
Runs on IBM mainframes and OS/2. Used as a general purpose macro language. See REXX.
VBScript
Subset of Visual Basic used on the Web similar to JavaScript. See VBScript.
Visual Basic
Version of BASIC for Windows programming from Microsoft that has been widely used. See Visual Basic.
Web Languages
Languages such as JavaScript, Jscript, Perl and CGI are used to automate Web pages as well as link them to other applications running in servers.
Millions of Languages!
Programmers must use standard names for the instruction verbs (add, compare, etc.) in the language they use. In addition, a company generally uses standardized names for the data elements in its databases. However, programmers typically "make up" names for all the functions (subroutines) in the program. Since programmers are loathe to document their code, the readability of the names chosen for these routines is critical.
In a single program, the programmer could make up hundreds of function names as well as names for data structures that hold fixed sums, predefined tables and display messages.
Just Make It Up!
Unless rigid naming conventions are enforced or pair programming is used, whereby one person looks over the shoulders of the other, programmers can make up names that make no sense whatsoever. Little understood by non-programmers, this is the bane of many professionals when they have to modify someone else's program. Debugging another person's code is very difficult if the names are cryptic, and there are few comments, which is often the case. It often requires tracing the logic one statement at a time.
In fact, if programmers are not attentive to naming things clearly, they can have a miserable time reading their own code later on. See pair programming, programmer, to the recruiter and naming fiascos.
![]() | Reproduced with permission from Computer Desktop Encyclopedia. Copyright (c) 1981-2009 The Computer Language Company Inc. All rights reserved. |
Additional Resources
- Logitech Harmony 700
- When Logitech released the Harmony One in early 2008, it instantly became one of our favorite universal remotes to date. But at $250, it wasn't exactly an impulse buy for the average consumer. With the Harmony 700, however, Logitech has delivered a model that offers the bulk of the...
- Product reviews 2009-11-18
- ORM Designer 1.1.10.243 (Windows)
- ORM Designer is a visual database designing tool with full support of ORM frameworks. ORM Designer was created to replace kilobytes of text definitions with easy-to-use graphical interface. Thanks to a very flexible design almost any ORM framework with definitions stored in a markup language can be fully supported. Enjoy...
- Software downloads 2009-11-18
- YouTube/Univision deal a huge resource for teachers
- Here's one from the "One more reason not to block YouTube" files: Univision will be posting its content for free on YouTube. The details announced yesterday provide easy access to programming online for a quickly growing segment of the US population. Just as importantly from an educational perspective,...
- Blog posts 2009-11-17
- CreateInstall 5.6 (Windows)
- CreateInstall is a versatile and powerful installer for both expert and novice developers. With CreateInstall, you can create fully featured installation programs for your applications. At the heart of CreateInstall is a programming language, which provides superior flexibility and power to enable you to create setups with any degree of...
- Software downloads 2009-11-14
- News to know: HP-3Com; AMD; Google; Blockbuster; Bing 2.0
- News to know intro: Sam Diaz: HP announces $2.7 billion acquisition of 3Com; raises outlook Larry Dignan: Cisco vs. HP: 3Com acquisition ups the ante John Morris: AMD updates roadmap, promises "supercomputer in your lap" ...
- Blog posts 2009-11-12
- Is Google's Go language worth teaching or learning?
- How manny more languages...... does one need to just doConsole.out.println("Hello world!");?RE: Is Google's Go language worth teaching or learning?I always wonder what Google will do next. They always surprise me. Go looks promising.Google wants to be just as dominant...if not more so...than M$.So one more way to get there is...
- Discussion threads 2009-11-11
- Google hopes to remake programming with Go
- Could be a really cool programming for old C/C programmers!!I will definitely try it out.No. No pointers.Umm, no. No pointers, no "*" symbols littered in my code anymore, thanks.. . . and, frankly, it pushes typing from bad to worse. No OOP, and no replacement, other than what...
- Discussion threads 2009-11-11
- Google hopes to remake programming with Go
- Google hopes to boost both computing power and programmers' abilities with an open-source experimental programming language project called Go. Google software luminaries such as Unix co-creator Ken Thompson believe that they can help boost both computing power and programmers' abilities with an open-source experimental programming language project called Go....
- News items 2009-11-11
- New tool aids .Net developers in writing Linux, Mac OS X apps
- Windows only applications will be a thing of the past before long.We could also use some good tools for porting general Win32 apps to Mac and Linux using WineLib.Agree, but, for the transition, these kinks of tools will helpNTmore reasons to avoid NovellThese proprietary apps that work only with M$...
- Discussion threads 2009-11-10
- MadCap Flare 5.0.1 (Windows)
- Flare is the industry benchmark in multi-channel, single-source publishing. Flare helps documentation professionals, technical writers, and Help authors harness the power and benefits of XML without any XML language programming knowledge. Our unique visual editor allows users to write content just like you would in Microsoft Word.
- Software downloads 2009-11-10
- Logtalk 2.37.5 (Windows)
- Logtalk is an object-oriented logic programming language that can use most Prolog implementations as a back-end compiler. As a multi-paradigm language, Logtalk includes support for both prototypes and classes, protocols interfaces, component-based programming through category-based composition, event-driven programming, and high-level multi-threading programming.
- Software downloads 2009-11-09
- Why Google released Closure Tools
- another nail in M$ coffinIt seems Google is second to FSF to send M$ to its grave.You are an idiot....First of all did you even read the article...Not only the article makes no senselike your idiotic rant aggainst MS but it contains several errors.AJAX is javascript and is not unique...
- Discussion threads 2009-11-06
- PCLReader 8.895 (Windows)
- PCLReader Views & Converts PCL & Text into PDF, PDF/A, XPS, TIFF, BMP, PNG, PCX and ASCII Text. Once viewed, a PCL or Text file can be printed to any Windows printer driver. This is useful in when you have a non-LaserJet PCL printer and need to print a Mortgage...
- Software downloads 2009-11-06
- Sprite Browser 1.0.2 (Windows)
- Sprite Browser is an easy-to-use software that help you access the Internet and lets you record and replay repetitious work. Record & replay all Web surfing activities. Sprite Browser is a template driven Web browser. It record/edit/run template to drive inside Web browser to access Web page. Send messages on...
- Software downloads 2009-11-05
- Java Runtime Environment (JRE) 6 Update 17 (Windows)
- The Java Runtime Environment JRE provides the libraries, the Java Virtual Machine, and other components to run applets and applications written in the Java programming language. In addition, two key deployment technologies are part of the JRE: Java Plug-in, which enables applets to run in popular browsers; and Java Web...
- Software downloads 2009-11-04
- Berkeley UPC 2.10.0 (Mac)
- Unified Parallel C UPC is an extension of the C programming language designed for high performance computing on large-scale parallel machines. The language provides a uniform programming model for both shared and distributed memory hardware. The programmer is presented with a single shared, partitioned address space, where variables may be...
- Software downloads 2009-11-03
- Remember when FrontPage seemed pretty slick?
- My school teaches...... web design in the conventional way. Intro classes cover HTML, CSS, using JQuery modules or writing basic js. Advances classes teach PHP and such. None of the classes I know of cover CMS.I had a summer internship where I used Drupal. I didn't do any of the...
- Discussion threads 2009-10-29
- Google Maps Navigation: The newest feature on Android
- Google Maps Navigator is a feature on the newest Android 2.0 devices like Motorola's new Droid. The application basically makes the GPS device you currently use in your car useless. The features Google has packed into this application are better than most anything you would find...
- Blog posts 2009-10-29
- Logtalk 2.37.5 (Mac)
- Logtalk is an object-oriented logic programming language that can use most Prolog implementations as a back-end compiler. As a multi-paradigm language, Logtalk includes support for both prototypes and classes, protocols interfaces, component-based programming through category-based composition, event-driven programming, and high-level multi-threading programming.
- Software downloads 2009-10-29
- Snappy Snippets 1.0.6 (Windows)
- Snappy Snippets is a code snippet organiser for use with any programming, scripting or markup language. Ideal for use with HTML, PHP, CSS, Visual Basic, Visual C++, Java, RealBasic etc... It's features include Tree view of snippets allows easy navigation to the required code. Copy to the clipboard or use...
- Software downloads 2009-10-27
Neighboring Terms
Premier Vendor Content Whitepapers, webcasts & resources from our Power Center Sponsors
- Save time with automated shipping solutions
-
The Business Essentials Guide provides you useful tools and templates to help grow your business and save you time with automated shipping solutions.
- Visit the UPS Business Essentials Guide
- Reduce risk. Reduce complexity. Increase reliability.
-
A simplified IT environment isn't just less complex. It's also more reliable. Standardize on a single Linux platform with SUSE Linux Enterprise from Novell, and get the world's most interoperable Linux
- Learn more >>
- Keep Up With The Latest In Document Management with The DocuMentor.
-
Doc delivers the scoop on today's enterprise content management, printer maintenance, and all other issues related to document management. It's the DocuMentor Blog.
- Learn more >>
- Microsoft Dynamics CRM Online - Free Six-Month Trial for Eligible Organizations
-
Microsoft Dynamics CRM Online provides fast online access, simple contact management and better sales performance for a low monthly cost - the best value on the market today.

- Learn more about the free, six-month trial offer>>
SmartPlanet
- Thought-provoking progressive ideas on diverse topics that intersect with technology, business, and life, and matter to the world at large. Visit SmartPlanet
- More from IBM
- How to Drive Better Business Outcomes with Exceptional Web Experiences Download the eBook
- Driving Business Agility through SOA Connectivity & Integration Read the White Paper from IBM
- Linking Decisions and Information for Organizational Performance Read the Tom Davenport study







