Ruby on Rails is used to write website back ends. There is a very high demand for people who know Ruby so it’s very probable that you’ll land a job that pays considerably well without waiting for weeks for an interview call. But Ruby doesn’t come without its share of issues.
Ruby is a language which cant be used for more complex applications because of its slow performance. Also, Ruby’s flexibility is a gift as well as a curse. Many of the processes that are running within the language can be hard to figure out making de-bugging a complete nightmare. But those are the moments where you think of all the money you’ll be making at the end of the month and you’ll be ok.
Python is a language that can be used for web back-ends but it is also used quite a bit in research experiments and academia. Python has a large following mostly due to its interface which can only be described as beautiful. You don’t have to type a lot and it’s fair to say that Python handles most of the incredibly boring processes itself. The cons are that Python’s design makes for a poor fit in larger applications and you might continuously run into problems.
Compiled languages means that a language has to be converted from a human readable format first into a language that the computer can understand i.e machine optimized code. Because of this extra step compiled languages are much more efficient than interpreted languages. The compiler has to go through lines of code and make sure that there are no bugs that might cause issues in future.
Learning a compiled language means that you essentially have to speak the same language your machine is speaking. As a result compiled languages are much harder to learn than interpreted languages and are far more labor-intensive.
Compiled languages are used in applications that have to by nature be reliable and robust. Examples of compiled languages are C and Java.
The king of all languages, you’d be hard-pressed to find an electronic appliance around you that doesn’t have some element of C somewhere inside it. Just some of the areas where C is used are operating systems, robotics, high-end video games and operating systems. If there were a competition in which all high-level langugaes were taking part C would be a front-runner for sure because of its level of performance. Learning C will teach you the most about how a computer operates on a mechanical level. Wouldn’t it be great if C were easy to learn? Yes, C is pretty difficult to master but once you’ve mastered it. Any other language will be like child’s play.
Java is one of the most popular languages out there. It’s a very defined language so it will force you to think in terms of performance and efficiency. The only issue is that with the advent of so many newer languages Java is a bit of a dinosaur. Java is slipping in popularity because of its label as a language of the past. That doesn’t mean that Java comes without it’s uses. Java can be used in Android development, web development, as well as applications for large-scale enterprises.
There are a couple of languages that you will run into on your journey to becoming a coding guru and they are CSS and HTML. They are used in practically every webpage ever made and look like they should be programming languages but aren’t. This is because these two languages deal more with how something should look and have no bearing whatsoever on how something will behave.