As a web developer who has worked with open source technologies like PHP and closed source technologies like C#, I have found that both kind of technologies have their place and their suitability to projects. I have learnt that as a developer the tool you use is not the problem but its suitability to the project you are working on.
I once worked for a web agency that built web applications with a .NET based CMS called Sitefinity and the extended features for each project were built on the CMS framework using C#. Before I started working for this agency, I had spent most of my time using PHP to develop freelance website projects. I used PHP because there was no cost of purchasing any tool in order to use PHP.
So while working in this web agency, I was having a chat with a colleague about PHP and somethings I liked about it and this colleague clearly said “PHP is shit”. Fast forward to my leaving party at this same web agency. I was having a chat with one of the Directors of the company when I told him i may consider PHP roles if anything comes, his reply was surprising to me. He said forget about PHP go for .NET roles. Honestly, i didn’t understand why he said that without any technical reason.
Have you ever wondered why people in the software development community have certain prejudice or hate towards certain programming languages or technologies without any valid technical reason?
Why the hate?
I have learnt in the industry that the tool most times is not the problem but the person using the tool and how he is using the tool. Some people in the software industry hate or resent PHP for no apparent technical reason other than sentimental reasons that hold no weight. Two reasons that come to my mind are;
- Arrogance : some people reject PHP because they consider PHP less superior to other programming languages like C#. You find people in this category hating PHP without any technical reason.
- Religion: some people hold on tight to an idea without any valid evidence to support their ideas. These ones cling tightly to their preferred language or technology of choice religiously and will see no reason why any other language or technology should be mentioned in place of their preferred choices.
I am programming language agnostic. That doesn’t mean I don’t have any preferred language or languages I enjoy more than others however, I will not defend any programming language purely based on sentimental reasons. If you have a strong reason to dislike PHP, for the good of the entire software development community let it be a technically valid reason.
This hate is not only limited to PHP. For instance in mobile development circles you may come across PhoneGap developers who despise Native development and vice versa without any concrete technical reason.
Which way forward ?
I think the only way out of this is for developers and all in the software industry to become humble enough to realize that 2+2 = 4 in the same way 6 – 2 = 4. In other words, there are many ways to solve a problem and your way though correct many not be the only way to solve a problem. We must get off our high horses as developers no matter how long you have been in the industry. We must all be willing to realize that there is a vast amount of knowledge we still do not possess and recognize our need for continuous learning.
This post is in no way suggesting that the entire software development community is entirely wrong when trends sometimes go against a certain programming language or technologies. However, it intends to convince every developer that your preference of a certain programming language/technology over another should not just be guided by what the trends say but should be based on good strong reasons. We will continue to have misguided developers in our community which can pose problems if we do not find out from a technical point of view why we prefer a certain programming language/technology over another.
Have you experienced any such prejudice towards any programming language, framework or technology? Feel free to share with us.