1. Computing & Technology

Discuss in my forum

Dan Mabbutt

Comparing Programming Languages

By , About.com GuideDecember 2, 2011

Follow me on:

Zach Hansen wrote into my blog about "VB versus Java". He said he had to write a paper for his high school programming class about the differences between computer languages.

To start with, "Thanks!!" -- For two things. Thanks for a great question and thanks for not trying to lie to me so I will do your homework. I get a lot of questions that seem to be clearly homework assignments. I'm much more likely to help if you're "up front" with your question ... like Zach!

First Question: Contrasting two programming languages.

You're really confronted with overchoice here! As early as 1969, Jean Sammet, who was then President of the Association for Computing Machinery (ACM), wrote a thick book that focused in on over 120 different programming languages. Since then, the situation has only become more complex. Wikipedia catalogs a list at:

List_of_programming_languages

And, "Yes!"  They are that different.

The differences really relate to bridging the gap between the human mind and a machine's total lack of any ability to actually reason. ("B" sci fi movies notwithstanding, computers can't reason!) Depending on the processor, machines can only do very elementary operations like shifting bits in a register one way or another or adding 1 to a register. (A "register" is a special part of memory that is wired by the manufacturer to do specific operations like that.) If you want to do something more complex, like say, "If A > B Then ... ", you need a "programming language" to turn this abstract thought into the primitive machine instructions computers are capable of.

The different programming languages attack this problem in different ways. Visual Basic's strength is it's all-purpose generality. It doesn't matter what kind of thought you have, it's possible to write code in Visual Basic to do it.

But many of the other languages are very strong in just one part of the problem. Take LaTeX, for example. This language is used pretty much exclusively for document markup and document preparation. In institutions of higher learning, like a university Computer Science department, LaTeX rules! This might be due in part to the fact that possibly the most brilliant mind in Computer Science in our time, Donald Knuth, wrote a book about LaTeX.

Second question: Game Programming Languages

When you think about the problem of writing the software for a game, it's primarily a question about how to deal with I/O devices and in particular, the monitor. If you can't paint images on a screen with crystal clear resolution and blinding speed, nobody will want to play your game.

VB.NET can be used for this (especially in combination with Microsoft's DirectX programming libraries), but it's far from being the best choice.

A really big production, like Call of Duty, will be supported by internally developed software tools. You won't be able to discover much information about these tools (which might be classified as programming languages themselves) because the companies that use them treat them as top-secret. These tools are a big reason why one game might be more 'kewl' than another.

These tools are sometimes coded directly in machine language. Machine language programming is probably the most labor intensive and expensive way possible to program a computer, but a big game maker has the money to do it. The programmers who can code in machine language are kept in locked dungeons and fed raw meat once a day. (Joke! Joke! - But there's still a grain of truth there. Most of the people I have met who can do this work well have ... ummmm .... "unique" personalities.) The rest of the system is often written in one of the continuing standards of the industry, C++.

Comparing C++ and VB might make a great paper for your class!

Hope this helps!

Comments
December 25, 2011 at 7:49 am
(1) John Foggitt says:

When iot comes to the speed of getting a concept in my head into a working program on a computer, my favourite language is Acorn Basic. Acorn is the company that invented the ARM chip and was a major player in the desktop computer scene in the 80s. Acorn Basic is available for the PC though it was originally written for an ARM based computer. It combines simplicity with the ability to include OS calls (none of this “Shell” nonsense) with the ability to write, assemble and run assembly language routines. OK, the last is not exactly needed these days and Acorn Basic is NOT object oriented but it’s dead easy to use and very fast in execution.
As for VB6, I’m still using it professionally for the simple reason that when VB.NET appeared, it had no support for COM ports!!! The company I work for is a data collecting and processing company and in those days, most of our data collection was done via – yes, you’ve guessed it – Com ports/modems/phone lines, so “upgrading” to VB.NET was not an option. Now we have a wealth of custom software written in VB6 which will take many many man hours to rewrite in VB.NET. We may get around to it but I wouldn’t bet on it. So Microsoft only has itself to blame for bringing out a language with a fundamental omission which I understand has been remedied now,

December 25, 2011 at 11:54 am
(2) visualbasic says:

Just wanted to say, “Great Post!” Thanks for sharing.

Leave a Comment

Line and paragraph breaks are automatic. Some HTML allowed: <a href="" title="">, <b>, <i>, <strike>
Related Searches programming languages

©2012 About.com. All rights reserved.

A part of The New York Times Company.