Our virtual interviews are back! Join Elan as he talks with Vince Oostindie (creator of Eclipse - a PHP library) about his programming expertise, Eclipse, the future of programming and his thoughts on .NET.
Elan: We all know that you're a big fan of OOP. What would you say to a newbie programmer who doesn't understand what the big fuss is all about?
Vince: Firstly, OOP is not 'The Holy Grail of Programming'. It's just a different way of solving problems, one that happens to suit me very well. Secondly, if you want to learn OOP, read a lot books and write a lot of code. Java and Smalltalk are great languages to begin with.
OOP allows a more 'abstract' way of solving problems. To be able to use that, you must learn to think about problems in an abstract way. That takes years. (At least in my case it did...). Many people request articles on OOP. I think that's a bit silly. You can't learn OOP from a few articles. You need books, and lots of them.
Elan: Most PHP programmers are self-taught. Do you think that might hinder the language in the future or present?
Vince: It will certainly hinder the language, yes. Most PHP programmers think that PEAR is generally an okay library. It is not. It has many problems, but people don't see that because they don't know where to look. So in the future, if PEAR becomes even larger and more popular, the quality of the code written in PHP will drop. Or: less experienced programmers will be willing to work with PHP.
What will remain is a community of programmers who have little theoretical knowledge, writing code that's not very good. That's not a real problem (as long as the code works, right?), but it will place the PHP language itself in the wrong market.
Elan: We know you think template 'engines' are a waste of time. When do you think the people that use template 'engines' such as smarty will have this realization?
Vince: I think that in about a year from now, Smarty (for example) will have grown so big that it's almost another PHP. So you have a language in a language. Hopefully people will then realize that's a bit foolish, and you can just as well drop that second language (Smarty) altogether. But I guess time will tell...
But it's an interesting problem. We're still looking for efficient ways to make designers work with programmers. This problem has existed for many years: normal desktop application (e.g. for Microsoft Windows) are generally designed by the programmers themselves. They haven't solved that problem yet either...
Elan: PHP 4.3 will improve its OOP support significantly. There will still be some functionality missing. Will you be satisfied with 4.3?
Vince: From what I know of PHP 4.3 (the Zend Engine 2?), I will be pretty happy. For one, OO will be more efficient, using a Java-like object model. And already one can build powerful OOP applications in PHP, so it can only get better. At least I can forget about those awful references (&) all the time... :)
Elan: Have you used ASP.NET before? It has a lot of what PHP doesn't have. Assuming you program most of applications in PHP, what's stopping you from using ASP.NET?
Vince: From what I know about .NET, it's much better (technology-wise) than PHP. What's stopping me from using it is the company that's behind it. It's not that I *hate* Microsoft, but I don't like their tactics... Also, I can't understand why anybody would want to work with a technology that has that awful a EULA (End User Licence Agreement).
I'd rather use JSP. .NET is - in essence - just a rip off of JSP done better. JSP will get back on track, and then we'll have a good technology with good (or: less bad) companies behind it. The real war is between .NET and JSP. PHP will stand on the side, I think. The reason I use PHP is its high availability. Nothing more. I know very little ISPs that don't support it, so if I write an application in PHP, it will run almost anywhere. That's a big plus.