C, C++ and C# ... Java and JavaScript
Archive - Originally posted on "The Horse's Mouth" - 2009-03-20 08:07:07 - Graham EllisWith all the words in the world, and the ability to make more up, isn't it astonishing that we have in our business some confusingly similar names for programming languages!
C v C++ v C#
C is the bedrock language that's used to write all the modern operating systems, device drivers, other languages, and also code that needs to be tuned / run very fast. Sometimes it's the "grandparent" language rather than the parent in the "is written in" relationship.
C++ is an object oriented language and truly is that very important OO element added to C, maintaining C compatibility. Yes, there ARE things in C which a good C++ programmer won't use as the have been superseded, but the similarity and compatibility is there.
C# is a different language. It is based on the design philosophies of C, and indeed of C++, but it removes the extra complexities imposed on C++ by the need to be compatible with C, and it's a much more recent language so can and does include decisions made to help coding be done more quickly at the expense of larger and slower final applications.
You'll notice that I have a link from the C and C++ paragraphs to our courses (we offer 2 in C - choose depending on whether you've programmed before or not, and 3 in C++ depending on whether you've programmed in C before, or programmed before in something else, or not programmed before!), but we do NOT offer a C# course. We have a whole lot of reasons why not - let me just start with (a) we don't know the language well enough and (b) it's a commercial language (Microsoft's) which doesn't fit with our Open Source model.
Java v JavaScript
Java is a very well established, Object Oriented language with a wide variety of applications. There are huge numbers of options, packages, technologies implemented in Java to the extent that it can become very confusing indeed - we offer courses on the language itself, on how it's used on the server (applets, servlets) and how to deploy it on the server (Tomcat).
JavaScript is a language that's built into browsers - "DHTML" - which allows local programming capabilities, and you'll find some examples on our web site. We can provide some training, but we don't offer a full formal public course as we don't go in to JavaScript in enough depth ourselves. JavaScript is also present / supported, server side, in .asp and .NET.
Other Similar names
PerlScript and Perl are the same language - the difference is more in the name than anything else, with the extra "script" being descriptive of how it works rather than in defining a different language. We are pleased to train you on either
Jython is Python - implemented in Java rather than directly in C. Which makes Jython (which shares its syntax with Python - so 'same language') an ideal language for run time / scripting changes, updates, tailoring of Java applications. We are please to train you on either