There are numerous programming languages out there, some of which have general purpose and some have specific purposes. Here are some of the languages I’ve come across.
- Assembly Language – This is not so much a language, as a way to write raw CPU instructions in a way that’s more human readable. I’ve only seen it used to write simple libraries and low-level operating system functions.
- BASIC – A business programming language used to perform simple tasks or games.
- C/C++ – These are general purpose languages that run directly on the hardware, which means dealing directly with memory and operating system specifics. Their manipulation of the hardware can only be through the operating system.
- C# – Uses C++, but calls upon a uniquely Microsoft .NET library.
- Java – A general purpose language that does not run on the physical hardware. It was primarily built to make the binary executable portable across all physical platforms and OS’s
- Perl – An interpreted scripting language. It was initially created as a “glue language” to perform simple tasks or fit into unique places (such as a robust CGI language).
- PHP – A web scripting language that is interpreted through a PHP interpreter.
- Python – Object-oriented, multi-platform, interpreted language (which means it requires an interpreter). Never used it, so here it is.
- Ruby – I don’t know much about, so here’s a link.
This list could go on forever. I should also add Fortran and Pascal to this list (but I won’t).
There is no “best language”, there are just different languages for different purposes. But if you are going to learn a language for general purposes, I would suggest C++, one of those .NET languages or Java.