In case some newbie actually looks here for advice, I find it best to provide some help, and not just a language fight arena:How to determine the best language for me, a non-programmer, to learn as a first language:
What better way to determine the first programming language than to do a programming language to do so for you? This is a step-by-step guide on how to do that.
Load up a python interpreter. In most Linux distributions it's already included, and you can just type "python" in the shell to start it. On windows, you'll have to download it yourself first. If you're too dumb to figure out where and how, you're too dumb to program.
Anyway, at the interactive prompt, write "from random import choice". Without going into too much detail (you haven't decided to specifically learn python yet), this means that you load the function "choice" from the module "random". A module is just a collection of similar functions that work on a specific problem domain (the "math" module, for example, contains many math functions, like square root, log or sin). The "random" module is just a module of random functions; things that didn't fit in any other modules. The "choice" function reads a list, and based on an internal database determines what exactly the choices are, and thusly what the question is. It then evaluates the choices, weighing them against each other, and returns the best choice. It might seem like magic, but really, it's full of holes. For example, when asked to choose between "Trance" and "Techno", it usually comes up with "Trance" (the answer might vary, depending on the music library on your computer) when clearly the answer should be "Death metal". When it comes to programming languages, however, it's pretty solid. After all, it's written by programmers, and if anybody has thorough knowledge about programming languages it's us. Therefore, depending on the list of languages you enter, it will determine what you're using this language for and figure out the best language for you to use in that specific case. The best first-language has been debated to death over the last forty years, so we're pretty sure about the answer at this point. You just need to provide a list of possible candidates. To do this, you just type "candidates = " into the prompt and NOT PRESS ENTER. You need to enter the candidates in as a comma-separated list first. Find a list of languages (this
is a good source, wikipedia is too). Now enter every language in between two quote marks and separate them with a comma, like this <"language1", "language2"> (omit the <>). Now you have your list and it's safe to press enter, you just need to use the "choice" function. You do this by writing "choice(candidates)". The best language should be written to the screen. If nothing happens, not even a newline, this is choice's way of saying that you should probably find something else to do, like play table-tennis and go for long runs, as programming might not be for you. Don't worry, as you can always invest in Apple
Now that you know the language you should start in, ignore it and find a python tutorial. You already know some of the basic syntax and have it installed.
As mentioned in the wall of text, this
is a good resource for beginning languages. Programs written in Malbolge are especially impressive, and is a unique experience to behold.
It is practically impossible to teach good programming to students who are motivated by money: As potential programmers they are mentally mutilated beyond hope of regeneration.