Should i learn web development or python
Most people’s journey toward learning to program starts with a single late-night Google search.
Usually it’s something like “Learn ______”
But how do they decide which language to search for?
“They always joke about Java on Silicon Valley. I guess I should learn that.”
“Haskell. So hot right now. Haskell.”
“That Go gopher is just so gosh-darn cute.”
And then there’s the rest of us. We’ll probably search for something like:
“Which programming language should I learn first?”
Few questions are so commonly asked that they get the full infographic treatment. But this is one of them:
Deciding on your first programming language can be a fun process — kind of like one of those “Which Quentin Tarantino character are you?” personality quizzes.
But before you run off to learn Ruby because you enjoyed playing with Play-Doh as a kid, let me remind you: the stakes are pretty high here.
It will take you hundreds of hours of practice to become even remotely competent with your first programming language.
So you should consider the following factors:
Every year brings new programming languages, and with them, new academic papers. And new web comics.
Seriously. Check out this gem from last month:
When it comes to choosing a first programming language, there’s no shortage of options. To narrow it down a bit, here are the most common Google searches related to learning programming, over the past 12 years:
Java has had its ups and downs.
Python has gradually risen to become the most popular choice.
Before I talk about these programming languages, let me clarify:
Let’s kick things off by exploring how programming is currently taught in school.
Computer Science 101
Universities have traditionally taught programming under the umbrella of computer science, which itself is often seen as an extension of mathematics, or tie-in to an electrical engineering degree.
Of course, as you may have heard by now:
“Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.” — Eric S. Raymond
As of 2016, many universities still treat programming like it’s computer science, and computer science like it’s math.
As a result, many introductory programming courses focus on low-level-of-abstraction languages like C, or mathematically-focused languages like MATLAB.
And department chairs generally stay the course, pointing to annual programming language leaderboards like the TIOBE Index, or this one from the IEEE:
Most of these leaderboards look virtually identical to how they were 10 years ago.
But change does happen. Even in academia.
In 2014, Python overtook Java as a the most popular language of instruction at top US Computer Science programs.
And yet another change is bound to… eventually… happen.
Because if you look at the languages actually used by the workforce, it paints a very different picture:
Data from the world’s largest job posting aggregator, Indeed.com
Factor #1: The job market
If you’re learning to program purely out of intellectual curiosity, feel free to skip this factor. But if you — like the vast majority of people learning to program — want to use this skill to get a job, this is an important consideration.
Data from Indeed.com
There are 2.7 Java developers competing for every open Java position. Competition for PHP and iOS jobs is similarly fierce.
Factor #2: The long term prospects
Source: The GitHub’s 2016 State of the Octoverse
This type of inter-company cooperation is harder to find with Java. Oracle — who effectively owns Java through its acquisition of Sun Microsystems — often sues companies who try to expand upon it.
Factor #3: Difficulty to learn
This is a parody of an XKCD comic.
Even though universities still teach languages like Java and C++ as first languages, they’re considerably harder to learn.
Factor #4: Projects you can build with it
And with each passing month, Atwood’s Law holds strong.
Java once promised to run everywhere, too. You may remember Java Applets. Oracle officially killed them off earlier this year.
Python suffers from much the same problems:
“How can I give this game I made to my friend? Even better, is there a way can I put this on my phone so I can show it to kids at school without them having to install it? Um.” — James Hague in Retiring Python as a Teaching Language
By contrast, here are some apps that members of our open source community built in their browsers on CodePen. You can click through and use these right in your browser:
1970s style Simon game
Conway’s Game of Life
Star Wars-themed Wikipedia Search
A roguelike dungeon crawler game
Learn one language well. Then learn a second one.
If you keep jumping from language to language, you won’t get far.
In order to move beyond the basics, you need to learn your first language well. Then your second language will be much, much easier.
From there, you can branch out, and become a more well-rounded developer by learning lots of languages:
OK, now I’m going to attempt the impossible — I’m going to try and anticipate objections from the comments section.
It is also nearly as fast as high-performance languages like C++, Java, and Go.
Here are the results of the most comprehensive recent cross-language benchmark:
But then I accidentally assign it to be a string.
These kinds of errors happen all the time in dynamically typed languages. Most developers just put checks in place to prevent them, and write tests accordingly.
Objection #3: But I really want to make a mobile app
Also, it’s worth pointing out that the mobile app development’s best days may very well be behind it.
For starters, as much as people use mobile apps, nearly half of all developer jobs are web development. Compare this with a mere 8% of jobs that involve mobile app development.
The occupations of 49,525 developers, based on responses to the 2016 Stack Overflow survey.
The grand vision of “there’s an app for that” has not come to pass. Instead, most smartphone owners have stopped downloading new apps.
Sure — they still use apps. Mostly Facebook, Google Maps, and handful of others. As such, much of the demand for mobile app developers is concentrated in a few large employers.
As of 2016, pretty much all development is web development. Everything touches that big platform that is “the web.” And the next wave of devices that you’ll talk to around your home, and cars that pick your kids up from school — they’ll all be piped together using the web, too.
You will undoubtedly hear people crack jokes at its expense.
“There are only two kinds of programming languages: those people always bitch about and those nobody uses.” — Bjarne Stroustrup
I only write about programming and technology. If you follow me on Twitter I won’t waste your time. ?
Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started
Which is better Python or web development?
There are many reasons to prefer Python over PHP for modern web app development like flexibility, security, high performance, easy to use, simple syntax, etc.
Should I learn web development before Python?
Overall, you should learn HTML before Python if you intend to make apps for the web because it is the fundamental building block for websites. However, for desktop or command line projects you won't use HTML so you can learn Python first.
Should I learn Python or Java for web development?
When opting for a starting point, you should take your goals into account. Java is popular among programmers interested in web development, big data, cloud development, and Android app development. Python is favored by those working in back-end development, app development, data science, and machine learning.
Is Python OK for web development?
Python's core features make it a popular option for web development. Firstly, Python is free, open-source, and widely available. More importantly, though, it is also highly adaptable. Python allows developers to create websites according to several different programming paradigms.