I find it funny, when people ask if a programming language or framework is dying. Generally it makes me curions about the person asking than the question than the actual question itself. Programming Languages and frameworks don't die. It merely steps out of the spotlight because something new and flashy has taken over the spotlight.
Just because it's not in the spotlight doesn't mean it's not amazing, it still has the amazing quality that put it in the spotlight in the first place, besides eventually something new always takes over the spotlight of the thing that you are interested in now, so what then? Change everything you are doing into that new flashy thing?
Being useful and foundational to businesses that power the economy is what keeps a programming language / framework going. Beginner's learning to code should instead ask what's possible of the language and framework.
In the beginning there was PHP
When I started web development I started with PHP and the reason I got started with PHP was because Wordpress was written using PHP. I wanted to make themes for wordpress and customize the site for various reasons. I built all kinds of things using PHP and Wordpress. Today all kind of things are still built in PHP.
- ownCloud - https://github.com/owncloud/core
- Wordpress - https://github.com/WordPress/WordPress
- Magento - https://github.com/magento/magento2
- Grav - https://github.com/getgrav/grav
Not to mention the fact that Wordpress powers 30% of websites on the internet. Sites like Wikipedia and the Largest (not necessarily good) social network (whom should not be named) is built in PHP. So is it dying? More like very much alive and kicking.
Why I Learned Ruby on Rails
Then I had a grand idea and wanted to build something else which didn't really fit in the scope of wordpress, so after doing a lot of research I discovered Ruby on Rails because I read about it in a blog post and saw the video that DHH made and figured that it could solve all the problems I was looking to solve. It offered just enough 'scaffolding' to get me started and allowed me to work with databases without knowing SQL, ✅ and ✅. That's exactly what I needed as a newcomer to building web applications from scratch.
Rails had it's glory days because DHH made a video that made it easy to understand what was possible with it. It became startups darling. Entreprenuers chose Rails because it allowed them to be creative and make their own 'business logic' or 'application logic' that could 'change the world', or just make a product with a unique proposition that you could sell, and get to launch in record time.
People flocked to it, and Ruby as a Programming language benefitted greatly. It created a thriving ecosystem that we have today. The Ruby / Rails combination innovated software development and pushed the industry forward. Many other languages and framework then learned from the Ruby and Rails ecosystem and were 'inspired' to build the same kind of tools and ecosystems around their languages and framework. Now I see a lot of newcomers to the programming world asking the question about Ruby and Rails. Is Rails dying? or is Ruby dying? Let's take a look.
- Discourse - https://github.com/discourse/discourse
- Spree - https://github.com/spree/spree
- Locomotive CMS - https://github.com/locomotivecms/engine
- Mastodon - https://github.com/tootsuite/mastodon
- GitLab - https://gitlab.com/gitlab-org/gitlab-ce/
Thriving Businesses don't Die
The point I'm trying to make here is languages and frameworks don't die if there are thriving businesses built on top of them. Because these businesses have a direct benefit from these languages and frameworks. Businesses that are thriving don't die in fact these businesses grow and you know what they need to grow? They need to hire more people to write code in the languages and framework they use to build their businesses with.
Who asks these Questions?
I think it's important to understand why people are asking these questions about languages and frameworks dying. Generally speaking and for obvious reasons these are newcomers to programming. People trying to decide which langauge or framework they should invest their time in, so they can get a job in the industry or build their company with.
Some examples of a better quality question to ask are, What are you trying to build? What kind of a company would you like to work for? What role would you like to be in? Depending on what you want to do and how you want to develop as a developer many different langauges can suit your need. There is no one programming language that will solve all your problems.
Comparing one langauge to another to see which one has more vanity metrics like stars or 'likes' is not going to help make the right decision. Taking the time to do some reading and understand the metrics that are important to you personally and then comparing them based on that would be more productive. Here are some metrics one can explore.
- Syntax - Do you like how the syntax look? You are going to be solving problem looking at the syntax all day, shouldn't it be readable and look nice?
- API / Libraries - Does a specific language / framework have an api that favors your problem? Does it have a specific library that standout for your specific thing you are building?
- Paradigm - Which paradigm does the problem you are trying to solve fit in? Functional Programming vs Oop?
- Community / Philosopy - Do you like how the community works? Are people friendly? Will they help you if you get stuck? What are the 'Whys' of the language and framework? Is leardership nice?
These are just a few factors one can look into that will better serve the decision making process of which language / framework to invest time into. A note on philosophy some langauges / frameworks clearly state their doctrine like Ruby on Rails. Look out for these to get a quick idea on the 'Why' of the langauge / framework.
Lastly which ever langauge / framework you decide on become a master of it. Don't just learn the surface get a job and call it a day. Go deep because when you master a langauge or a framework that's when you will truly shine in the job market. That's when your skill will be used to solve real problems. You'll have new ideas for innovative features for your product and services you are working on. You'll be able to apply it in more ways than you can possibly imagine. How you use your language and framework of choice to solve problems is going to define who you are as a developer. Whether you get included on meetings, have customers that pay for your product, will be defined by the kinds of problems you solve and how well you solve them.
The only way you are going to go deep is that if you love programming and love solving problems. If you don't love it you will not continue, so you have to find out what makes you love a language. Following vanity metrics like 'how many job vacancies for a given language / framework' isn't going to make you fall in love with something. At the end of the day you can only occupy 1 seat. Once your sitting in that chair, it's you and the language / framework that you are going to have to work with. So pick the right one for you the one thats going to do the heavy lifting for you as much as possible so you can get it done and shipped!
If you like this post check out Codemy.net we're an online programming school that believes Anyone can Code. You can learn Ruby / Rails / Elixir and React on our site. We have free and members exclusive videos that show you how to build projects starting from scratch. Become a member for $9 / month to get access to all videos and support our efforts.