I'm going to teach you 5 programming languages at the same time. I'm going to go fast. Just because I'm going fast doesn't mean I'm leaving anything out so there'll be plenty of “skip me” links around. It'll just help if you're smart or if you already know one of them, that way you can compare the others to (maybe) your (favourite) language!
Six including UK English which is the language this is written in.
The languages I shall teach you are:
Skip this unless you're a geek excited about a new potential to get offended...
Scala and Java both run on the JVM (Java Virtual Machine) and Java is much more common so why Scala? You might have to trust me on this but most people who learn scala well love it and start to fear java. You too can be one of these people, living in fear of a more popular inferior technology!
So what the hell is “dynamic typing” anyway? Imagine you have two racks each filled with jars. In one rack each jar can only store one type of thing that is written on the label, be it salt or bugs or special small kittens. These jars are “statically typed” jars. In another rack you can put whatever you want in any jar with the reckless abandon of a wild-child or hippie. These are dynamically typed jars, but now you have lost the ability to be certain of what is any jar. Better buy some good labels for those jars and not make any mistakes. If I had been present at the birth of algorithms I would have called it hedonistic typing, because dynamic does sound terribly bourgeois doesn't it?
So anyway the only dynamically typed language I'm teaching you is Ruby. I don't have anything against this kind of typing, and I approve this message.