You are here:About>Computing & Technology>C / C++ / C#> Getting Started> Programming Languages - Strengths and Weaknesses
About.comC / C++ / C#
Newsletters & RSSEmail to a friendSubmit to Digg
Suggested Reading

Learn CLearn C++Learn C#

Comparing Popular Programming Languages

From David Bolton,
Your Guide to C / C++ / C#.
FREE Newsletter. Sign Up Now!

The Fastest Possible - Machine Code

Machine Code is the instructions that a CPU executes. It's the only thing that a CPU can understand and execute. Interpreted languages need an application called an Interpreter that reads each line of the program source code and then 'runs' it.

Interpreting is Easier

It's very easy to stop, change and re-run applications written in an interpreted language and that is why they're popular for learning programming. There is no compilation stage needed. Compiling can be quite a slow process. A large Visual C++ application can take from minutes to hours to compile, depending on how much code has to be rebuilt and the speed of memory and the CPU.

When Computers first appeared

When computers first became popular in the 1950s, programs were written in machine code as there was no other way. Programmers had to physically flip switches to enter values. This is such a tedious and slow way of creating an application that higher level computer languages had to be created.

Assembler- Fast to Run- Slow to Write!

Assembly language is the readable version of Machine Code and looks like this
Mov A,$45
Because it is tied to a particular CPU or family of related CPUs, Assembly Language is not very portable and is time consuming to learn and write. Languages like C have reduced the need for Assembly Language programming except where RAM is limited or time critical code is needed. This is typically in the kernel code at the heart of an Operating System or in a video card driver.

Assembly Language is the Lowest Level of Code

Assembly Language is very low level- most of the code just moves values between the CPU registers and memory. If you are writing a payroll package you want to think in terms of salaries and tax deductions, not Register A to Memory location xyz. This is why higher level languages like C++, C# or Java are more productive. The programmer can think in terms of the problem domain (salaries,deductions, and accruals) not the hardware domain (registers, memory and instructions).

Systems Programming with C

C was devised in the early 1970s by Dennis Thompson. It can be thought of as a general purpose tool- very useful and powerful but very easy to let bugs through that can make systems insecure. C is a low level language and has been described as portable Assembly language. The syntax of many Scripting languages is based on C, for example JavaScript, PHP and ActionScript.

Perl- Websites and Utilities

Very popular in the Linux world, Perl was one of the first web languages and remains very popular today. For doing "quick and dirty" programming on the web it remains unrivalled and drives many websites. It has though been somewhat eclipsed by PHP as a web scripting language.

Coding Websites with PHP

PHP was designed as a language for Web Servers and is very popular in conjunction with Linux, Apache, MySql and PHP or LAMP for short. It is interpreted, but pre-compiled so code executes reasonably quickly. It can be run on desktop computers but is not as widely used for developing desktop applications. Based on C syntax, it also includes Objects and Classes.

Find out more about PHP on the dedicated About PHP site.

Suggested Reading

Learn CLearn C++Learn C#

 All Topics | Email Article | | |
Advertising Info | News & Events | Work at About | SiteMap | Reprints | HelpOur Story | Be a Guide
User Agreement | Ethics Policy | Patent Info. | Privacy Policy©2008 About, Inc., A part of The New York Times Company. All rights reserved.