UPDATE: This post is not longer true. Things have changed.
I am probably going to get some heat for making the decision to run Skooppa “mainly” on PHP from certain programmers and even knowledgeable business people out there in the web application programming world. So, I am formulating my answer to them, with the expectation that at one point in our business life, I am going to have a very heated discussion with these critics of PHP. This is my attempt to be ready for them (or even bring on the arguments right now).
Before I begin, I’d like to make it a very clear point. I am not a fantastic programmer. Actually, I don’t consider myself a real programmer at all. I am just a guy with a huge dream, which WILL be built on PHP.
So here goes.
The number one top level gripe most dislikers have about PHP is, it doesn’t really follow what is considered to be a “good programming language”.
A good programming language must be:
At first I asked myself who made these aspects up and how did it get to be the “rule of thumb” for programming languages? But, I guess it doesn’t matter. They do make sense as an overall mantra for a programming language and if any language follows them, it should be good. I also know, PHP CAN be all of these things, if used properly. However, these aspects lead to an even higher level argument against using PHP as our preferred language, which I’d like to actually take on, instead of arguing about how PHP can fulfill these aspects singularly. That argument is…..
….to program in PHP you MUST be knowledgeable about it AND you must be very well disciplined at coding, to create smart and powerful web applications.
So, let’s dissect this argument. There are 4 important key words here for me as a business person and how I see them all actually as advantages or put simply, the way things must be with any language.
Knowledgeable – we certainly wouldn’t want to hire beginners at PHP programming and we aren’t about too either. So that means we must have knowledgeable programmers and I argue, that is the same for any language.
At any rate, again, being knowledgeable about the programming language of choice is good and a must, no matter what language we would choose to use.
Smart and powerful applications – In a way, this part of the argumentation is my weakest to point out as an advantage, I know. But I won’t prove myself right here as a business person. I’d rather like to ask the question, can anyone really deny a smart and powerful application CAN’T be made with PHP? Does it not give us the ability to create basically anything we would like to do on the server side of a web application?
Hmm……I didn’t think so.
I am not going to provide a list of applications to prove I am right, which show PHP can do practically anything. I don’t want to be henpecked about why they aren’t good examples or actually have issues with or because of PHP. Anyone can rip any application apart for its weaknesses, even if they think they come from the language itself. The fact remains, they are there, the web apps built on PHP, which are still growing in leaps and bounds with PHP.
I really want someone to prove me wrong here. Show me why PHP can’t build smart and powerful applications and I bet you I can find the solutions to prove you are wrong, in some way.
You might say, we could build smart and powerful web applications with other languages easier. That might be true and probably is. To be honest, I am not sure. But ease of programming is only one side of a multifaceted business decision. So I’ll leave it at that and leave myself much more open for this argument too. Please also remember, the cool thing about Skooppa being a platform is, where we can’t use PHP, we can use other languages and systems. So again, it is a mute point for Skooppa overall.
I will add one more note. There is an army of people out there wanting PHP to be even better, by improving its weaknesses in one area, which is performance. To me performance is definitely part of the word powerful. We are very, very aware of this. And these great people are making fantastic progress. This kind of momentum is fantastic. Please don’t come back with, “but other languages don’t really need it”. It isn’t just the work at making it perform well I am really interested in. It is the passion behind that work! More on that later….
Well disciplined (coding) – and now I am at my favorite word, discipline. Oh gee, how I love to take on this point.
I’ve heard it time and again,
To program well in PHP you must have a very well disciplined team of coders.
And my pragmatic answer to that is,
Damn straight!!!! I wouldn’t have it any other friggin way!!!!
Ehem…getting emotional here. Sorry.
But really. What is the flip side of this argument? That a language that keeps you within certain boundaries and has no caveats allows programmers to be less disciplined? Huh? Say woot? I certainly hope not!
Oooookkkkk! I definitely don’t want that. I don’t want undisciplined programmers working on Skooppa. Does using PHP as our main language mean a bit more extra effort is required to program something fantastic in PHP? Yes, it sure does. It that really a bad thing? I say to that an emphatic, “Nope!”
Some people say, a really good programmer is actually quite lazy, because he or she will always try to find the most convenient solutions to any problem. It is what I call “the pizza delivery paradigm”. I don’t want laziness or convenience (but I do like pizza delivery!).
I want passion and intelligence.
I say the right way to say it is, a really good programmer is quite passionate and intelligent about his or her work, and THUS, will find the best and smartest solution to any problem (with any language of choice!). And I certainly CAN find passion and intelligence in the PHP programming community all over the world. Especially those who go beyond just the language itself.
PHP isn’t just a language, it is still a movement.
It still has a lot of passionate momentum going for it and that is such a good thing. To me, this alone blows away all of the crappy nit-picky arguments as to why PHP may suck.
Discipline is needed to program well with PHP? You bet! I really like disciplined coding and actually demand it for Skooppa! It is a very good thing and is a necessity for a professional working environment with any programming language!
And here it comes, the last argument of arguments against PHP….
But PHP is a language of loop holes and caveats.
It is also one of the languages with the most frameworks available to build web applications on and the #1 language, which web applications have been built with. Over 250 million websites are powered with PHP – #1 in the world by far with an over 80% market share! It is economical and relatively simple for SME’s to use and build their web applications on a LAMP stack (which is an advantage for us too!) and it is exactly the SME area of the market Skooppa wants to target. So PHP is a very good match in this respect and is a main reason for us taking it as our language of choice.
And No! I too don’t want a convoluted language
Also, please don’t get me wrong. I don’t really want a convoluted language to work with either, which I know PHP can be. And I do believe, this is actually where a good number of frameworks are taking some of this pain away from the language. They work around or take away the “convolutedness”. I know that. Our chief engineer knows that. Our own engineers know it and we will do our best to make every one else who helps with Skooppa aware of it too. And if they all know it? What happens? The convolutedness isn’t a problem anymore. Why? Because it then simply becomes a non-issue AND, let’s be honest, none of the convolutedness of PHP really causes any real progress to stop, does it? I have yet to hear anyone not get their jobs done because of PHP’s convolutedness.
AND!!! there have been a good number of solutions created to get around a lot of the issues too. I come back again to the passion for PHP. If there were no passion for the language, all of this wouldn’t be true and the convolutedness would have meant PHP’s death a long time ago.
This living passion for PHP is so important at a much higher level! One so important to me and I believe one everyone else shouldn’t forget.
I hope every programmer out there who dislikes PHP also realizes, I am all for making it a better language, if and when possible. PHP does need work. Its years and years of coding, reworked code and additions has caused it to be, as some people put it, Frankenstein’s monster. As was the monster, many misunderstood him, but in the end, even the monster was loved.
Should Skooppa ever get off the ground, gain enough momentum and can afford the resources, one thing is certain, we too will put forward effort to help make PHP an even better language for everyone. We will help keep the passion for it healthy and alive and support the industry it also supports, because we are a part of it. This giving back is what makes OSS great.
One thing I’d like to say on a visionary front for PHP. I think the makers are going to have to bite the bullet and loosen their want for backwards compatibility for PHP6. In order for PHP to stay mainstream and modern, its going to have to drop a ton of old bulk and even old concepts. I’d even say, almost start from scratch. This wouldn’t be really feasible in a business arena, but it definitely is in an OSS arena. Other languages like Python are taking a good hold of the market. There are reasons for that and PHP can’t deny them. They have to go with these needs.
If anything, I really believe more companies should be also supporting PHP core development with full time developers, because we do need to make PHP even more popular and exciting to work with for ourselves, than it already is. I say, those who can, should stop standing on the sidelines and get involved in the PHP movement. Be an integral part of it. Make it an even greater web application programming language, than it already is! Help keep the passion and love for it alive and growing, because, I truly believe, as long as love and passion are both involved and put to good work, any problem can be solved.
And that is why we are going with PHP!
If you’d like to make a comment or discuss this very important decision, please join our forum and discuss away!
Edit: After reading this post for a second and third time and talking with my team, I’d just like to also say we are very confident going with PHP is the right choice. PHP is a great language and can do a mega lot of stuff and it is going to be fun making Skooppa a reality with PHP!