No programming language can be called objectively better than others. Moreover, a good developer should be fluent in several languages and at least superficially navigate a couple more. But learning JavaScript, HTML, and Ruby right away is a bad idea. Even very bad. You need to start with one thing.
Why learn programming at all
Even if it comes to nothing serious (making full money on application development or web design, for example, or starting your own project), learning programming - a way to create manuals for not-so-smart, but very obedient machines - is definitely worth it. Firstly, it will make the brain work, which is always good. Even the US president talks about the benefits of learning programming.
Secondly, to all those who are related in one way or another to technology. Justification for choosing a programming language will be given by any website developer to the customer, any administrator of the company's resource - to the copywriter. At least a general acquaintance with the development environment in which colleagues work will allow us to quickly find a common language in the team and successfully implement various projects.
Where to start learning programming
Choosing a programming language, especially the first one, is not an easy task. But it will be very difficult if you do not know English at least at the basic (school) level. Of course, some tools are Russified, others are translated into Russian by enthusiasts, but the fact remains.
And in the future, finding a job with knowledge of a foreign language will be much easier. It’s profitable to teach English to everyone:
- employees who can get a job in a corporation with a worldwide reputation;
- freelancers who will be able to work on English-speaking exchanges, where there are usually more orders and higher payments.
Criteria for choosing a programming language
It will take hundreds of hours of practice before you can become any kind of competent in your first programming language, so mindlessly learning what's worth it is not worth it. The choice of a programming language depends on the development environment in which you want to work, personal preferences, prospects and much more.
First you need to determine your goals. For example, on which platform (in which environment) do you want to work: web, mobile devices, games and 3D graphics or large corporations.
In web development, you need to choose from several areas of responsibility: front-end, back-end, full-stack. Front-end developers are responsible for the speed of loading the site and the correct operation of the code, back-end is for writing server code, and full-stack specialists can fulfill all customer requirements alone. Full-stack developers today are the most sought after in the labor market.
The three front-end developers' whales are JavaScript, HTML, and CSS. In addition, you need to navigate the latest Internet trends and be able to apply them in everyday work. PHP is the basic knowledge for back-end professionals. This is not the only tool, but the foundation of all back-end development. As a second language, you need to learn Ruby or Python. Another useful experience with databases, the basics of JavaScript and SQL. In addition to the programming languages themselves, you need to study all the attached add-ons.
For the development of mobile applications, JavaScript for Android and Objective-C for iOS are used. It’s useful to visit official resources for developers, and in case of working with iOS, also get acquainted with the interface and functionality of Xcode - a free environment for creating applications. For games and 3D animation you need C ++.
Those who in the future want to get a job in one of the high-tech corporations and no longer worry about the well-being of tomorrow, well performing their duties, should proceed from the choice of this corporation itself. Windows works with C #, Google and Facebook with Python, and Apple is Objective-C.
The choice of programming language should be based on the following factors:
- Demand in the labor market.
- Ease of study.
- Long term prospects.
- What projects can be developed in this language (choice of language and programming environment).
If the last paragraph - the platforms and suitable programming languages are briefly listed above - is more or less clear, then what about the rest of the paragraphs? Indeed.com - the leading job search site in the world - from time to time publishes statistics on vacancies (the ratio of offers and applicants). It would be nice to make a choice of a programming language based on precisely this data, but dry statistics alone should not be guided either.
So, in one place the developer of Python, Java, Objective-C or PHP has 2.7 specialists. If you take the data in JavaScript, it is clear that this is definitely the seller’s market - only 0.6 programmers fall to one place. In addition, JavaScript is developing much faster than any other language, which opens up great long-term prospects.
The rationale for choosing a programming language C ++, C #, Objective-C, PHP, or any other is based on the ease of learning. A beginner, especially one who teaches a language through books or courses, is unlikely to cope with complex C ++ or Java. Python, JavaScript, or Ruby are relatively easy to learn. Ruby and Python are readable and feature some of the most active communities.
For those who have no experience
In the event that programming seems to be a very difficult task, it is worth starting with something easier, such as HTML or CSS. HTML is not a programming language in its entirety; rather, it is a markup language for web pages. CSS is a more modern HTML “helper” that allows you to make pages more pleasing to the eye, play with fonts, add designer website design elements, and so on.
Anyone who once wrote articles to order must have come across HTML, and those who tried to keep a blog might also be familiar with CSS. And any course of programming basics begins precisely with these two elements, so knowledge of the basics will not be superfluous. You can learn from books:
- B. Lawson, R. Sharp "Learning HTML 5".
- C. Schmitt “CSS. Programming Recipes. ”
Previously, with a couple of clever books on CSS and HTML, you could already apply for some kind of position, now it is a springboard from which you need to move on.
Web application developers
Choosing a programming language PHP or JavaScript is for web developers. To make Internet resources more beautiful, more interesting and more functional, you will need JavaScript. Using it, you can do quite a lot of very different things in the user interface.
The best rationale for choosing a PHP programming language is web development. If we are talking about the server side, PHP, Python, Ruby and the same JavaScript are suitable. Choosing a C # programming language is also a good idea. In C # they work at Microsoft, Python is similar to Lego, and Ruby is like plasticine.
For web designers and layout designers
Designers are creative people who can consider themselves far from the exact sciences. But writing code is like writing a picture, so doubts as to whether programming should be taught at all should be discarded right away. There is an opinion that it is better to be a first-class designer than a secondary programmer, but a designer should know JavaScript at least to implement his ideas. Relatively simple Python or Ruby will do.
Android developers Android applications
Android applications are typically developed in Java. You can work on any operating system - the prevalence of “Android” smartphones has made application development on them very popular. The development environment can be installed on both Windows and iOS.
As for Apple, the development here is much more demanding on tools. You need to learn Objective-C, a set of development tools and developer instructions from Apple. You can work only with "apple" devices - Mac with a version of the operating system from 10.7 and higher.
If a child wants to learn how to program
This desire on the part of the younger generation is commendable. This opens up new opportunities for children and simply incredible ways to express themselves. The child is quite able to independently create a short cartoon or a simple game. Programming is given to children no more difficult than foreign languages, and even this opens up more prospects already in adolescence.
You can start with Scratch. This service is aimed at children from 8 years old and will allow you to create cartoons, games, animations. The environment is free. Most likely, the child will not even need the help of parents, sorting out the service is quite simple.
What you need to know besides a programming language
In addition to the programming language and English, you need to know something else. It all depends on the chosen direction. You need to learn frameworks, algorithms, databases and data structures, code repositories, understand how technology works, study physics and biology to create robes, and know much more. First, it’s better not to rush into the pool, to study gradually, read articles on specialized resources and gradually deal with new terms.
In general, the main skill of any programmer is to be able to use Google. Without this, nothing will work at all. You can turn to forums where programmers working in a certain language get together, look for some ready-made solutions or study English-language resources.
Finally
There is one secret that will help to become the best not only in the field of programming, but in general anywhere. You just need to do something. A good way is to find the problem you need to solve. Perhaps you need to make a business card website for your own business, find a convenient tool for controlling finances or automate the distribution of tweets to your subscribers? Next, you should make sure that the goal is achievable, because without experience and a team to make a Call of Duty clone is unlikely to succeed. Now it's time to choose a set of technologies that will solve the problem.
After all, one should never hope to become a true professional in a month or even a year. Programming is very easy for some, while others study tons of information and make dozens of applications until they finally fully understand how a particular team works. And that, and the other way is true. You just need to do something.
And it really doesn’t really matter which programming language to choose. Still have to learn a few. Moreover, many tools and techniques in different languages are similar. Going to something else, completing problematic topics will then be easier than having to subtract the first language. And it certainly pleases.