What Programming Language is best for Mechanical Engineers?
Well, that's quite a list!
Summary: This goes first cause I realise my post is too long for most people to be bothered reading:
Visual languages in the windows environment (VB, VC++, Delphi) are quicker for writing apps but are not multi platform. Other languages like Java & Ada are slower to write a application - but are truly cross platform. C++ is probably hardest to learn and use - but very fast & multi platform.
Learn a MS windows quick start language like VB or Delphi. Don't get carried away with this language cause you don't need to know too much.
Next - learn a second language either Java or C++ (depending on whether you want comfort or speed). Both of these languages are very widely used and are very versitile. Use this second language for number crunching and anything you can separate from the graphical user interface.
Next - learn how to get your 2 programs in 2 languages to talk to each other. This way you will have the best features of 2 packages.
To answer you questions:
Free includes languages like Java & ada. Personal use pakages are available for Delphi (Object Oriented Pascal) C++ Microsoft packages like VB & VC++ and VJ are never free (unless you pirate a copy).
All of the popular languages have lots of documentation on the web. Java seems quite good in this respect - cause it's mainly free & widely distributed.
I think Java supports object oriented programming very well (the language Java is built on fairly new concepts). Next is Delphi, and C++. VB and Ada are not so good at it - you'll be writing a lot of the object oriented support yourself.
Portable code is a good question. The answer depends on what you mean by portable. In most MS windows based languages, you can make programs that are com objects or DLL's and can communicate with other programs even if they are in a different language - (neat huh!). So you can write spead critical stuff in C++ and the rest of you app in Java or VB if you want. I think it's possible to do similar things in other operating systems - but I don't know the details.
Also C++ or Java code will compile on different opperating systems. Visual languages like VB VC++ Delphi will only compile in MS Windows. Some languages like Ada and Java have visual components that are multi-platform - but building these apps required a bit more code on your part. Compiled Java is actually the same whether you are running in on a super computer or a mobile phone.
The VB VC++, Delphi, Java, Ada (and a few more) support graphics. If you want fast graphics, VC++ runs fast & does caculations fast.
Which has the best learning curve - VB & delphi are good quick start languages. Pick you visual components of the pallets & set up your forms, write a bit of code & you have something that looks like an app. I think C++ is not good here cause it doesn't read like english much. Java is probably the best for reading like English and is probably the best multi platform language in this respect.
Can work on most platforms? Java Ada and C++. But how important is this? have you ever seen an engineer with a Mac on their desk? (that they weren't using as a paper weight I mean). If you write apps for MS Windows you've probably catered for 90% of engineers. The rest work on big networks with Unix systems. I'm not implying that Macs are bad - on the contary every part of their computers, including the operating system is designed & built by one company. I built my PC from spare parts - and it has its share of glitches (oops got off topic a bit here).
I will also mention Cobol because although it is the most coded language in the world (More cobal code is written that all the other languages put together), I would not advise learning it! The standard hasn't been updated since 1988 and it is showing its age.