# Help choosing the right Back-end

**URL:** <https://forum.freecodecamp.org/t/help-choosing-the-right-back-end/221327>\
**Category:** General\
**Created:** [August 26, 2018, 4:35pm UTC](https://forum.freecodecamp.org/t/help-choosing-the-right-back-end/221327 "2018-08-26T16:35:03Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![markostamos](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/markostamos/32/98354_2.png) [@markostamos](https://forum.freecodecamp.org/u/markostamos)\
**Post date:** [August 26, 2018, 4:35pm UTC](https://forum.freecodecamp.org/t/help-choosing-the-right-back-end/221327/1 "2018-08-26T16:35:03Z")

</div>

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 ?

---

<div class="post-metadata">

**Author:** ![anonymous1](https://avatars.discourse-cdn.com/v4/letter/a/77aa72/32.png) [@anonymous1](https://forum.freecodecamp.org/u/anonymous1)\
**Post date:** [August 26, 2018, 4:44pm UTC](https://forum.freecodecamp.org/t/help-choosing-the-right-back-end/221327/2 "2018-08-26T16:44:27Z")

</div>

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 \*\*\*\*

> **[25 of the Most Popular Python and Django Websites](https://www.shuup.com/django/25-of-the-most-popular-python-and-django-websites/)**
>
> We at Shoop are proud of the fact that we are built with Python on top of the Django web framework – and we are not alone. Some of the most popular and widely used websites and applications that you use every day are built using these same open...

  
[https://www.quickstart.com/blog/post/10-famous-websites-built-with-python/](https://www.quickstart.com/blog/post/10-famous-websites-built-with-python/)  

> **[Top Ten Most Popular Website Development Using Python and Django Platform](https://worldwebtech.weebly.com/blog/top-ten-most-popular-website-development-using-python-and-django-platform)**
>
> World Web Technology is a distinguished Python Web Development Company shares the details about Top Ten Most Popular Website Development Using Python and Django Platform. Read More...

  
[https://www.probytes.net/blog/websites-using-python/](https://www.probytes.net/blog/websites-using-python/)

Mozilla Firefox Browser was initially made using PHP but later they switched to python completely

 ![Capture](https://global.discourse-cdn.com/freecodecamp/original/3X/f/9/f9ab8de59179e1e88ff432e2e7bed04ec4128d73.jpg)

//------------------------------------------------------------------------------------------------------------  
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

> **[5 Easy-to-learn Programming Languages For Beginners](https://fossbytes.com/5-easiest-programming-languages-beginners/)**
>
> Are you looking for an easy-to-learn programming language? Well, while the answer to your question varies according to your need, there are some programming languages that a beginner can learn and excel.

  

> **[The 10 easiest programming languages to learn](https://www.techrepublic.com/article/the-10-easiest-programming-languages-to-learn/)**
>
> Want to learn a new coding language but don't know where to start? Here are 10 options for those looking to learn to program.

  

> **[Top 5 Programming Languages for Beginners - CoderDojo](https://coderdojo.com/2015/03/20/top-5-programming-languages-for-beginners/)**
>
> For any beginners who have just started to learn how to code or for anyone who would like to start it can be a little bit daunting! There are many different programming languages to choose from and sometimes it can be difficult to choose which one to...

//-------------------------------------------------------------------------------------------------------------  
In 2018 you can even compare Python with PHP salary wise

> **[The 7 Most In-Demand Programming Languages of 2018 - Coding Dojo Blog](https://www.codingdojo.com/blog/7-most-in-demand-programming-languages-of-2018)**
>
> Stay up-to-date on the latest trends in software development! Here are the 7 most in-demand programming languages of 2018.

  
 ![Capture](https://global.discourse-cdn.com/freecodecamp/original/3X/1/9/194f7f88b832d99c3d257c50db8c67211058b1dc.PNG)

//------------------------------------------------------------------------------------------------------------  
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

> **[Applications for Python](https://www.python.org/about/apps/)**
>
> The official home of the Python Programming Language

---

<div class="post-metadata">

**Author:** ![markostamos](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/markostamos/32/98354_2.png) [@markostamos](https://forum.freecodecamp.org/u/markostamos)\
**Post date:** [August 26, 2018, 4:51pm UTC](https://forum.freecodecamp.org/t/help-choosing-the-right-back-end/221327/3 "2018-08-26T16:51:36Z")

</div>

Thank you for the reply. What are your thoughts on Node.js?

---

<div class="post-metadata">

**Author:** ![anonymous1](https://avatars.discourse-cdn.com/v4/letter/a/77aa72/32.png) [@anonymous1](https://forum.freecodecamp.org/u/anonymous1)\
**Post date:** [August 26, 2018, 4:58pm UTC](https://forum.freecodecamp.org/t/help-choosing-the-right-back-end/221327/4 "2018-08-26T16:58:43Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![markostamos](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/markostamos/32/98354_2.png) [@markostamos](https://forum.freecodecamp.org/u/markostamos)\
**Post date:** [August 26, 2018, 4:59pm UTC](https://forum.freecodecamp.org/t/help-choosing-the-right-back-end/221327/5 "2018-08-26T16:59:35Z")

</div>

So i guess it is django for bigger complex apps and node.js for small websites?

---

<div class="post-metadata">

**Author:** ![anonymous1](https://avatars.discourse-cdn.com/v4/letter/a/77aa72/32.png) [@anonymous1](https://forum.freecodecamp.org/u/anonymous1)\
**Post date:** [August 26, 2018, 5:00pm UTC](https://forum.freecodecamp.org/t/help-choosing-the-right-back-end/221327/6 "2018-08-26T17:00:44Z")

</div>

No you can even handle a complex website using node.js and PHP

But PYTHON makes it much easier then the above two

---

<div class="post-metadata">

**Author:** ![anonymous1](https://avatars.discourse-cdn.com/v4/letter/a/77aa72/32.png) [@anonymous1](https://forum.freecodecamp.org/u/anonymous1)\
**Post date:** [August 26, 2018, 5:01pm UTC](https://forum.freecodecamp.org/t/help-choosing-the-right-back-end/221327/7 "2018-08-26T17:01:18Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![markostamos](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/markostamos/32/98354_2.png) [@markostamos](https://forum.freecodecamp.org/u/markostamos)\
**Post date:** [August 26, 2018, 5:11pm UTC](https://forum.freecodecamp.org/t/help-choosing-the-right-back-end/221327/8 "2018-08-26T17:11:59Z")

</div>

That’s nice. I already know python so i guess i will start with django

---

<div class="post-metadata">

**Author:** ![anonymous1](https://avatars.discourse-cdn.com/v4/letter/a/77aa72/32.png) [@anonymous1](https://forum.freecodecamp.org/u/anonymous1)\
**Post date:** [August 26, 2018, 5:21pm UTC](https://forum.freecodecamp.org/t/help-choosing-the-right-back-end/221327/9 "2018-08-26T17:21:52Z")

</div>

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  
https://www.youtube.com/embed/videoseries?list=PL6gx4Cwl9DGBlmzzFcLgDhKTTfNLfX1IK&wmode=transparent&rel=0&autohide=1&showinfo=1&enablejsapi=1

OR FROM

FCC has its own Django tutorial

---

<div class="post-metadata">

**Author:** ![psychometry](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/psychometry/32/79114_2.png) [@psychometry](https://forum.freecodecamp.org/u/psychometry)\
**Post date:** [August 26, 2018, 7:01pm UTC](https://forum.freecodecamp.org/t/help-choosing-the-right-back-end/221327/10 "2018-08-26T19:01:45Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![ILM](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/ilm/32/363239_2.png) [@ILM](https://forum.freecodecamp.org/u/ILM)\
**Post date:** [January 17, 2021, 8:16pm UTC](https://forum.freecodecamp.org/t/help-choosing-the-right-back-end/221327/11 "2021-01-17T20:16:59Z")

</div>


