Hey Learner, Welcome back!
After lots of research & case studies, some question coming into screen related to programming. So I decide to make one simple and easy RoadMap of Coding for beginners.
Frequently asked questions of programming.
- Should I learn Python or JavaScript?
- Data Science vs Web Development vs App Development, which one should I choose?
- Why should I learn Web Development when there are popular Web Developing tools like Wix & WordPress?
- Is NodeJS better than Django(python)?
- All these points made me confused ? about what should I do?
So before starting with the questions Here’s something about who I am and What makes me qualified to answer such questions?
I’m a gradiot (an idiot who did his graduation and who has wasted money and time getting zero skills from college while there’s an actual opportunity to learn everything online for free).
Yes, I am a CS graduate. During my college years I came across multiple technologies from PHP to JavaScript, Python, flutter you name it. I tried to learn and understand various technologies not due to college curriculum, but due to my desire to learn more and google ?.
Should I learn Python or JavaScript?
This is the Clash of the Titans!!
To understand the above question correctly, it is important to know more about JavaScript and Python as well as the reasons for their popularity. So let’s start with JavaScript first!
Why is JavaScript so popular?
JavaScript is a high-level, interpreted programming language that is most popular as a scripting language for Web pages. This means that if a web page is not just sitting there and displaying static information, then JavaScript is probably behind that. And that’s not all, there are even advanced versions of the language such as Node.js which is used for server-side scripting.
JavaScript is an extremely popular language. And if my word doesn’t convince you, here are the facts!!!
According to StackOverflow Developer Survey Results 2019, JavaScript is the most commonly used programming language, used by 69.7 % of professional developers. And this is a title it has claimed the past seven years in a row.
In addition to that, the most commonly used Web Frameworks are jQuery, Angular.js, and React.js (All of which incidentally use JavaScript). Now if that doesn’t demonstrate JavaScript’s popularity, what does?!
So now the question arises… Why is JavaScript so popular?
Well, some of the reasons for that are:
- JavaScript is used both on the client-side and the server-side. This means that it runs practically everywhere from browsers to powerful servers. This gives it an edge over other languages that are not so versatile.
- JavaScript implements multiple paradigms ranging from OOP to procedural. This allows developers the freedom to experiment as they want.
- JavaScript has a large community of enthusiasts that actively back the language. Without this, it would have been tough for JavaScript to establish the number one position it has.
Can Python Replace JavaScript in Popularity?
Python is an interpreted, general-purpose programming language that has multiple uses ranging from web applications to data analysis. This means that Python can be seen in complex websites such as YouTube or Instagram, in cloud computing projects such as OpenStack, in Machine Learning, etc. (basically everywhere!)
Python has been steadily increasing in popularity so much so that it is the fastest-growing major programming language today according to StackOverflow Developer Survey Results 2019.
This is further demonstrated by this Google Trends chart showing the growth of Python as compared to JavaScript over the last 5 years:
As shown in the above data, Python recorded increased search interest as compared to JavaScript for the first time around November 2017 and it has maintained its lead ever since. This shows remarkable growth in Python as compared to 5 years ago.
In fact, Stack Overflow created a model to forecast its future traffic based on a model called STL and guess what…the prediction is that Python could potentially stay in the lead against JavaScript till 2020 at the least.
All these trends indicate that Python is extremely popular and getting even more popular with time. Some of the reasons for this incredible performance of Python are given as follows:
- Python is Easy To Use
No one likes excessively complicated things and that’s one of the reasons for the growing popularity of Python. It is simple with an easily readable syntax and that makes it well-loved by both seasoned developers and experimental students. In addition to this, Python is also supremely efficient. It allows developers to complete more work using fewer lines of code. With all these advantages, what’s not to love?!! - Python has a Supportive Community
Python has been around since 1990 and that is ample time to create a supportive community. Because of this support, Python learners can easily improve their knowledge, which only leads to increasing popularity. And that’s not all! There are many resources available online to promote Python, ranging from official documentation to YouTube tutorials that are a big help for learners. - Python has multiple Libraries and Frameworks
Python is already quite popular and consequently, it has hundreds of different libraries and frameworks that can be used by developers. These libraries and frameworks are really useful in saving time which in turn makes Python even more popular. Some of the popular libraries of Python are NumPy and SciPy for scientific computing, Django for web development, BeautifulSoup for XML and HTML parsing, sci-kit-learn for machine learning applications, nltk for natural language processing, etc.
Data Science vs Web Development vs App Development, which one should I choose?
If you are reading this, you might be knowing very well the pay of a Data Science and ML engineers as compared to a Web Developer or an App Developer.
All this huge burst about AI is the future and might very well draw you towards thinking that even I should learn Data Science for a huge package and a job opportunity.
Here’s the ugly truth, it’s hard to get a job in Data Science since companies will prefer a person having the Domain knowledge and usually majoring in Mathematics and statistics, you should at least have Masters or Ph.D. for getting a job in this field.
For Example – A fintech company will choose a CFA or Finance major rather than a CS engineer and teach them Data Science since python is easy and it’s the efficiency that counts. So, the person with finance knowledge is well suited for the job. However, As I said It’s hard to get a job, not impossible.
Some CS grads have got into data science and are earning handful. All you need to learn is python and some libraries and mathematics.
Now, As I said before, data science is a service-based skill you are not technically a developer you’re an engineer who is figuring out solutions for a given problem.
On the other hand, being a web or app developer means developing products. You can create applications and websites and release them to earn using ad revenue, selling them, or even creating and maintain them for companies that way you don’t have to rely on companies to give your services.
I suggest you to first, learn web development and then Data Science while earning through your web dev skills. That way you will have a decent skill set, portfolio, and a budget to start experimenting into the world of machine learning where processing power is everything.
Why should I learn Web Development when there are popular Web Developing tools like Wix & WordPress?
WordPress and Wix are popular content management systems.
They are best for creating small websites and blogs. Yes, they made it easy for anyone to create websites but that doesn’t mean web developers’ jobs are gone.
You can’t create Amazon, Netflix, Twitter, and large fully functional websites using them. So, if you are trying to be a low-level web developer, you can pretty much say goodbye to developing websites.
You can google top trending tech skills in demand and you will find AngularJS, ReactJS, NodeJS developers in demand.
Not only websites but you can also create native applications for android and iOS using React-native and games using ThreeJS a JavaScript library.
Possibilities are endless, all you have to do is START. I’ll suggest you start with MERN stack just my personal opinion but you can research and pick whichever stack you like.
Is NodeJS better than Django(python)?
The two best tools which are quite helpful in building a powerful web application in Node JS and Django.
Compared to Node.js, Django is a beginner-friendly tool, if compared to Node.js. The main reason behind putting this statement is the programming language upon which the frameworks are based.
You will get a comfortable experience in both JavaScript & Python, but for an impressive, stable, scalable work you can use Django over Node.JS.
Node JS and Django, they both are the free framework to use! Moreover, you will not face any kind of licensing issues as they both are open-source software in web development application industry.
Both web development frameworks are great to create web applications; however, there use cases makes them different from each other.
For example, Django is an excellent choice for your web development project when you use a relational database. The presence of extensive external libraries and top-class security build the web application project quickly.
In the case of Node JS, whenever you require an asynchronous stack, a great performance, and web building features from scratch for the server-side, Node.js helps you a lot and does the heavy client-side processing.
Here are some of the big fishes and the backend tech they preferred for their development.
Uber, Twitter, eBay, Netflix, Duckduckgo, PayPal, LinkedIn, Trello, Mozilla, GoDaddy are some big names using Node JS as their backend technology.
Pinterest, Instagram, Eventbrite, Sentry, Zapier, Dropbox, Spotify, YouTube are also some big names using Django as their backend technology.
Notice the trend here, Uber, Twitter, and Netflix are some of the applications that priorities performance whereas Pinterest, Instagram, YouTube requires a lot of space and thus scalability is their priority.
So, the choice is upon you what you want scalability or performance.
All these points made me confused ? about what should I do?
First, ask yourself what do you enjoy doing. Do you like to create games, apps, websites? What intrigues you? What sparks your curiosity? I have listed some of the questions depending upon the choices you make.
- GAME Development – If you want to get into the game development industry, you will have to learn C# or C++ for hardcore game development. You can create web games using ThreeJS or any other library but you won’t be exactly a game developer.
- App Development – You can create an application using JAVA for android or Swift for iOS. Further, you can use React-native (by Facebook Inc) or Flutter (by Google Inc) for creating apps that would run on both android and iOS. If you want web apps, you can use Ionic as well.
- Web Development – There are many stacks (a set of technologies that suits well with each other) you could choose to learn like MEAN stack, MERN stack, LAMP stack, etc. You can create a website from WordPress or Wix as well. Develop an interactive portfolio for yourself with the stack you find interesting.
- Data Science, ML, AI – Start with python and take courses on data science, mathematics, machine learning, from popular websites like Udemy or LinkedIn. Start competing on Kaggle and maintain your Kaggle profile.
Second, do yourself a favor and start learning algorithms and data structures in the language that fits your answer to the above question.
Third, Start applying for internships with some projects and try to make an exemplary portfolio. Maintain your GitHub, LeetCode or HackerRank or any other profiles which you can include on your resume.
I hope this might help you; I tried my best to answer some of the questions that I’ve faced throughout my journey as a gradiot. If you feel that I’m missing something or something is wrong please feel free to correct me in the comment section.
Add comment