What programming language learn?
This is probably one of the most popular questions from people who want to enter the world of programming. If we ask what is the best language to ten programmers, we get ten different answers.
Here are some tips and suggestions to try to help you decide.
There are thousands of choices, and the best programming language to start depends not only on the intuitive, or not, but it also depends on the type of project you want to do, why you want to program, or if they want to pursue it professionally.
Why do you want to learn to program?
What programming language should I learn to get started?
Most popular programming languages such as C, Java, C #, Perl, Ruby, or Python, serve to do more or less the same things. Java, for example, is a multi-platform system used for web applications and applets. Ruby is also used to make large web applications, and Python also run on Linux or Windows.
As SOA World indicates, the fact that languages are developed each other often causes including syntax is identical or very similar, so learning one of them will make you easier to learn the next. For example, print the expression 'Hello World' in Java and C # is similar, as it is between Perl and Python.
These languages, however, differ in how easy or difficult it is to start trading with them. Looking at the example above, there are languages that require more quotes, some less. Overall, SOA World recommends starting with syntactically simpler language, that is, with less syntactical or logical rules. So we can go from strength to strength. Here we offer a brief summary of the most common languages.
C: Teaches you how to program efficiently
C is one of the most widely used programming languages and this popularity has its reasons. In the words of Joel Spolsky programmer: "C is equivalent to learn basic anatomy in medicine," "C is a language that works at the machine level, so it serves to understand how a program interacts with the hardware layer..
That said, programmed in C it is also more rigid and its learning curve is not very easy. If you're not planning to work in programs that interact with the hardware layer (using, for example, disk drives, or operating system extensions) C perhaps unnecessarily prolong your learning time.
Java: One of the most useful languages to learn
Java is the second most popular programming language is very useful to learn the principles of object-oriented used in other modern languages such as C ++, Perl, Pyython, or PHP programming. Once you've learned Java, it is easier to learn these other languages.
Java has the advantage that it is a very mature and with a long history language. There are plenty of templates and tutorials, and is used in a lot of environments, including application development on Android, so it is a very practical language. Java will not learn control device at the hardware level as with C, but you will learn to access and manage the most important parts as the file system, graphics or sound.
Python: easy and fun to learn
Many people recommend Python to begin its extensive capabilities and simplicity. Your code is easy to read and also helps to develop a style of programming clean without being very strict syntax (things like forgetting a parenthesis at the end of a line). Patrick Jordan, Ariel Computing, compares the time it takes to write a simple instruction in different languages (Basic, C, J, Java and Python) and concludes that:
Although other languages should not be neglected, Python takes less time, fewer lines of code, and less concepts to learn to achieve a certain goal. Programming in Python is fun, and that generates interest and confidence in students, which is always good to encourage him to continue his training in languages other more austere.
In Python they consider SOA as a true must for beginners, especially for those who are already somewhat familiar with Linux environments. Python is also growing due to its use in popular sites like Pinterest or Instagram.
Choose your way
Servers programmer or Back-end: Python, Rubyy, PHP, Java or .Net. Knowledge of databases and possibly systems management.
Mobile Programmer: Objective C or Java (for Android). HTTML / CSS for mobile websites. Possible knowledge of servers.
3D video game programmer: C/C++, OpenGL, Animation. It is advisable to have a good dose of knowledge and artistic design.
High performance programmer or generic: C / C ++, Java, knowledge of mathematics and quantitative analysis.