DISCLAIMER: This article lies more on the technical side!
Every so often there is always a statistic, medium post or talk about the next big thing. Every industry has this but it’s not as prevalent as in the tech industry. This industry is choking with opinions and if you defer with a popular opinion, you are attacked by keyboard ninjas who were just waiting for you to speak up (or should I say type).
The overwhelming fast pace of our industry has led for the tech giants to be the industry spokespersons. They define what should be used and what shouldn’t. They form and propagate opinions that are quickly taken up by young energetic students and even experienced individuals. This has led to a series of cold wars of sought in recent years in the tech world where we have wars about what language, framework, pattern etc. is best.
I am a member of multiple groups and forums like Quora and it is common to have a newbie join and naively ask (as we all did at one time) those dreaded questions. Which is better, PHP or Python? Why? Which framework is best? Many startups use Ruby and Python, should I learn those? Or Is PHP a dead language?, Github statistics show many people are using Python?
In nearly all cases, this results in an endless battle that lasts for hours or days with counters and anti-counters leading to hundreds of messages on a single thread. You suddenly open a chat app and find 300 messages unread and still more coming in. It has become a norm and has even been portrayed in popular media in television shows such as Silicon Valley (remember tabs vs. spaces).
It is quite unfortunate that most of this arguments are always against PHP, the language. They say it’s not used by anyone solely on the ignorant basis that there are not as many repositories on version control websites such as Github. Github is not a portal for storing the world’s software and its statistics cannot be used to define the direction of the industry.
The death of PHP has been prophesied and even heralded by so called experts of industry but it still rises from the ashes and all neigh Sayers are left dumbfounded. It is not a hidden fact that PHP is not a language suitable for new emerging problems such as Artificial Intelligence (AI) and Machine Learning (ML). But still, PHP is a programming language and can still be applied to such problems. There are already AI and ML libraries available for it.
THE TOOL FOR THE JOB
It always boils down to what is suitable for the job. What is the quickest and best way to solve the problem you have. I am mostly faced with building web applications and PHP is a language whose primary context is the internet. It is therefore the most suitable – according to me – for any web application fathomable. Couple a PHP framework such as Laravel, YUI, CodeIgniter or Slim for your backend with front-end libraries and frameworks such as React, Angular, VueJs or even jQuery and you have the power to build modern web and mobile apps.
Any competent programmer will agree with these sentiments and can use any language, framework or tool to solve the problem at hand. You may need to optimize using caching or using 3rd party tools but isn’t this still done no matter what language you use?
In conclusion, a modern programmer should not be locked into the ‘my tool is best’ bubble. A modern programmer should be able to adapt to needs as they come up and be accommodating to other’s opinions. Everyone has their preference and choice that may completely defer with yours. I have a general competence in other languages, tools and frameworks because I have a low-level foundation understanding of how they work. The individuals who are mostly in this arguments are persons mostly self-taught and lack a low-level understanding of computer science and therefore tend to stick to what they know best.
I therefore urge every developer in 2017 and beyond to be a person who seeks knowledge and understanding in every interesting technology that comes your way. It may be difficult to keep up but build a culture of updating yourself. This will prevent you from becoming irrelevant in the future.