I’d like to learn Back-End development for mostly freelance work(Websites for local businesses etc) but i am overwhelmed by the options i have. I’ve been searching for quite a while and i can’t figure out where to start. I’ve read that in the past PHP was the go-to language for back end development but it seems it is loosing popularity.There is also python with django and flask and javascript with node.js. I only have time to learn one maybe two of them. I feel python is more future-proof with the advancements in AI etc as it is not only used in web dev like PHP is . Node js also seems like a good choice as i think i will be able to use one language for both front and back end. So i’m leaning towards dropping PHP and learning node js and django or flask( I already have some python experience ). What are your thoughts on this? If you had to pick 2 of these (PHP,django,flask,node.js) what would you pick? and in what order would you learn it ?
I would prefer Python + Django
//----------------------------------------------------------------------------------------
ANSWER TO WHY EVERYONE SHOULD PREFER TO LEARN PYTHON
Even I learned PHP before python
and I have used PHP in many of my projects
Even today sometimes I prefer PHP for simple websites
but for complex projects, I always prefer python because of its reliability, clean code and python is extremely powerful(because it is far more efficient then JS and PHP)
Facebook used PHP back in it’s initial phase (because at that time Mark thought of PHP as an appropriate tool for his project)
And In 2018 if we compare we can say that the majority of tech giants are switching to python
//--------------------------------Majority of tech giants use PYTHON see the list below of some of the tech giants that use PYTHON as their PRIMARY language
Instagram
Google
Youtube
Dropbox
Quora
Mozilla Firefox
Spotify
Reddit
Yahoo maps
Hipmunk
Pinterest
NASA
and the list goes on and on
Still, PHP is used for simple projects but PHP cannot handle complex projects efficiently
But the majority are considering python for complex projects
**** You can refer to these sites to crosscheck for yourself ****
https://www.quickstart.com/blog/post/10-famous-websites-built-with-python/
https://www.probytes.net/blog/websites-using-python/
Mozilla Firefox Browser was initially made using PHP but later they switched to python completely
//------------------------------------------------------------------------------------------------------------
Another benefit of learning Python is that Python is the easiest programming language to learn
You can refer to these sites to crosscheck for yourself
//-------------------------------------------------------------------------------------------------------------
In 2018 you can even compare Python with PHP salary wise
//------------------------------------------------------------------------------------------------------------
In 2018 Everywhere ONE thing is COMMON -> Python
Python is used in
Data Science(All deep learning libraries are available in python)
Web Development(Django framework)
Mobile App development(Kivy Framework)
GUIs(pyqt)
Software Development(SCons)
Business Applications(Odoo)
//---- check out this link for applications of python
Thank you for the reply. What are your thoughts on Node.js?
If you are having a choice between PHP and node.js
i would prefer node.js
And if you are having a choice between node.js and python
i would prefer python
So i guess it is django for bigger complex apps and node.js for small websites?
No you can even handle a complex website using node.js and PHP
But PYTHON makes it much easier then the above two
You can say that Python is the easiest language to learn
Learning Python won’t take much time
Then you can learn how to use Django
That’s nice. I already know python so i guess i will start with django
Bro if you already know python then Why are you asking such Questions bro?
By already knowing python you are in a huge benefit
Learn Django now
I would suggest you to learn Django from “thenewboston” it is a very popular YOUTUBE channel
OR FROM
FCC has its own Django tutorial
Flask is the easiest option of all of them, but Express really isn’t all that much more difficult. Django give your more out of the box features, and there’s also Hapi for Js
Enterprise mostly uses Java or .Net in production, so ultimately, if you want to work for a well-established enterprise, it doesn’t hurt to expand into either.
What is important isn’t the language, you can pick up the nuances and syntax of the languages once you have a decent programming foundation.
What’s important are the concepts, like the difference between using Relation Databases or NoSQL? How do you query for resources and how do you represent them? What is RESTful Design? What options do you have for scalability and resiliency? How do you handle security? How do you handle errors and logging?
Those are just a few things you should learn to think about when you do backend development, it gets more complex if you start thinking about a distributed backend, or event-driven architecture…etc.
All roads lead back to Rome. If you know how to solves these problems in Python, it probably won’t take you very long to solve the same problems in javascript, so just pick one, and start thinking about these concepts as you implement your backend. The truth is if a web application is sufficiently big nowadays, chances are it’s not built on a single platform, rather it’s distributed among microservices or even serverless, so it probably doesn’t matter what platform or language you use as long as it fits the need.