Answer the question
In order to leave comments, you need to log in
What programming language should I start learning back-end from?
Good afternoon!
Dear please tell me about my dilemma.
I think to start studying technologies from the back-end area, and further develop. So the question is which EP is better to look at. To be and in demand, promising and financially, but not only full-time and freelancing too.
Thank you
Answer the question
In order to leave comments, you need to log in
Learn Ruby or Python, both languages are just great, I don’t even advise you to look in the direction of PHP.
PHP is a fairly simple language, but it was invented a long time ago and they say that it cannot cope with current needs. From myself I will say that this is the only back end language that I know, and it does an excellent job with all the tasks that I try to solve. But, since the language is quite simple, there is a "gray mass of redneck coders" who really do nonsense and try to pass it off as a masterpiece. It took me more than one year to learn how to write competent code.
If you make your choice in the direction of PYH, then start with a detailed study of arrays, classes, mysql. This is what I missed when I started my training, but now I use it every day.
TL;DR is in demand, promising and profitable - Java, Python, but mostly full-time enterprise. Freelance - PHP is in demand, not very promising and money.
Ruby was not designed for the web, it's a general purpose language. Rails is Ruby for the web, but it's bulky, Sinatra is smaller and sleeker. Python is preferred by enterprise - google, yandex. Python is more comfortable for the web in terms of syntax and libraries than pure Ruby without the Rails wrap. PHP was designed for the web. Not everyone recognizes it as a full-fledged general-purpose language, but in specialization it has no equal. The code base is huge. You can not write anything else (everything has already been written), you can collect a working url in PHP without being a programmer at all. Go was designed for network programming, lower level, more complete, faster, better designed. Go is my choice, there are not very many contracts, they are paid well, the competition is not high. fun factor- I am pleased to write on it, but PHP makes me sick (this is personal).
I recommend starting the study of technologies with the protocol stack (TCP / IP, http), the port / socket / fileDescriptor metaphor, the server concept (a clear understanding of how a processor that is sequential in its essence can simultaneously serve several requests and connections).
You do not start with the language, but learn to use the search!
How many of these questions have already been ...
The usual set - PHP, Python, Ruby, JS, Java, .Net - is approximately in order of popularity of the answers, you will not get anything new.
If you have absolutely no knowledge of the principles of the web and experience in this area, then your only option is PHP. Do not listen to those who write that the language is bad or call PHP-shnikov "bydlokoder" - all this is complete crap. The problem is with the programmers, not the language.
PHP is simple, in demand, a large number of simple sites are made on it - thanks to all this, finding your first job will be much easier. And finding the first job is the most important thing for a beginner, since it is at work that you can greatly improve your skills and become a real specialist. And how bad or good code you write is up to you.
About Ruby. I myself work as a railroad engineer and would never and never advise beginners to start with it. This is a hefty colossus, to work with which you already need some experience and a good understanding of the work of the web. In addition, it will be very difficult for a beginner to find a job, since more complex applications are usually written on rails, and there will be nothing for a beginner to do there.
In general, I don’t really see a fundamental difference (if only js is removed from the tags, because this is a frontend), but I would start with Ruby. You will immediately learn to work competently, correctly, with testing, etc., etc. You will start with php, you will merge with the gray mass of shitty coders. I don’t want to offend anyone, but I’ll say this, ruby began its forced development not so long ago, and for the most part literate people from such languages as the same php, python, pearl, java, etc., switched to it. I want to say that the community is literate and respected. I don't program to order, but I know that ruby coders are much more in short supply than php, and, accordingly, the payment is higher.
Just my personal IMHO.
Of course, the elite advises elite languages, but when you enter the market, you are in for trouble. For example, a good job as a ruby requires experience. You don't have it (or do you?).
OK then. Maybe I don't know something. Learn something simple, like the same php that got a bit of a bad name, and then work your way up to the elite. What is the benefit of learning PHP today? Or instantly become a professional rubist.
PHP is badly designed .
JS is also not without flaws (but still more consistent), however, it still makes sense for a web developer to know it, because there are no alternatives on the frontend. The upcoming ES6 should patch up some of the design gaps, and you should be able to use these innovations on the backend without any problems (many are available now).
Python and Ruby are two great general purpose languages, both have tons of good web frameworks and libraries for all occasions. Ruby is more classic OOP, Python is a little more interesting, plus it supports the functional paradigm quite well.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question