Ask Matt: Question from Bobby

Bobby asks:

What is the best web language today?
What is the worst web language?
Does the practice of one vs another show the capabilities of the developer, or the limitations of the task?

Those are some tough questions to answer.  I’ve somewhat talked about this before.  I would probably say that the problem is the question is too broad.  I’d really need to ask back, “better in what way?”

My personal opinion, and I point out that it’s merely my opinion because I’ve been pulled into debates with folks that disagree on this, is that the visitor/end-user’s experience is what matters the most (you have to draw your line in the sand somewhere, that’s where mine is).  I feel that most of the currently popular web languages are capable of producing the same result to the end user, so the developer should use what they’re most comfortable with, whether that be .NET, PHP, Ruby, etc.  You’re going to be able to find clients that will let you develop in any of those languages, so that’s not a sticking point to me.  It’s difficult to go much further beyond that without more definition around the question.  For instance if you wanted to take it down to OOP, one language might start shining compared to another, or if it was an issue of smallest learning curve, another language might take the spotlight.

I know some other folks that argue it’s whoever the client is might dictate the language, and I see merit to the argument, however I’ve also found that you can lead a client towards a particular language under many circumstances, aside from them already having an internal environment setup that they want you to develop for (although I’ve also had clients willing to setup an environment just for what I’m building them).  So, all that to say, there’s a lot of exceptions/gray area.

I personally prefer PHP for web development.  It has a low learning curve, outstanding centralized/maintained documentation (seriously … it blows the rest out of the water when it comes to documentation in my opinion), and an amazingly strong community behind it.  It’s also a strongly proven language for web development.  All one has to do is look at Facebook, Wikipedia, Digg, WordPress, etc, and you can see it hard at work.  Yahoo! also has a strong presence in the PHP community which has led to some great API’s for search, geocoding, mapping, etc.  Most of their services have an API, and most of those API’s will return results in serialized PHP, making developing on top of them very easy.

As for the second question, which is worst, I’m not sure I can answer that for many of the reasons I outlined above.  There are some horrible ones out there, but they likely started to scratch an itch, you can’t necessarily blame the language if it got bent out of it’s original purpose.

The third question is an interesting one.  I think I would likely argue that it would show the capabilities of the developer.  Given that I view choosing the correct language as what the developer is most comfortable with, I’m not sure that I could answer any other way.  I’ve yet to see a webapp/website built on a language such as Ruby on Rails/.NET/etc that I couldn’t replicate in PHP.  I might not be able to replicate something made in .NET in Ruby/on Rails, however that is not a fault of Ruby, it’s a fault of my knowledge of the language.

Anyhow, sorry it took so long for me to write an answer, it’s been a busy week.  Hope that at least somewhat answers how I feel about the questions.

This post is part of Episode 6 of the weekly Ask Matt Series.

Picture of the Day



potd, originally uploaded by mwalters.

Snowing/sleeting … kind of.



This post is part of the Picture of the Day Series for 2009.

Ask Matt – Ep 6

Here’s your chance.  Ask me anything you want in the comments and I will give you an answer.  It can be anything from Technology to Photography to the best cure for hiccups.  There’s no question that is unacceptable.

This post is part of Episode 6 of the weekly Ask Matt Series.

PHP->User Released

I’ve released a generic open source User class for PHP.  It still has a ways to go before it’s everything I want it to be, but it is in a usable state now.  The general idea is that you can just drop it in place, then begin making use of it in your code.  This allows you to quickly jump over the hurdle of setting up your own user system in your web application or website.  It tries to be as flexible as possible by allowing the developer to add fields to the users table, then the class handles both retrieving those fields and saving to them for the developer (without having to modify the class).  It also supports groups to handle group based authentication (for instance, you could assign a user to an “Admin” group and test for it before allowing a user access to administrative functionality).

Anyhow, I’ve taken the time to setup a page for it on Google Code and there’s more detailed documentation there, so if you want to know more, visit the PHP->User page.

Note: At the moment, it’s only available via Subversion checkout.  Once things get cemented a little more I’ll start offering .zip downloads from the project page.

WordPress Filter v1.3.1 Released

WordPress Filter v1.3.1 has been released and contains a couple bug fixes dealing with categories and editing filters.  It is recommended that users upgrade to obtain these fixes.  The latest version can always be downloaded from the WordPress Filter page.

Picture of the Day



potd, originally uploaded by mwalters.



This post is part of the Picture of the Day Series for 2009.

Picture of the Day



potd, originally uploaded by mwalters.

And so it begins …

(yes, that’s me in a full on suit and tie)



This post is part of the Picture of the Day Series for 2009.

Ask Matt: Question from Brady

Brady Asks:

What causes business cycles?

Talk about a complex question uttered in four simple words.  I’m afraid I may have to take a cop-out on this one.  I don’t really see any way to pinpoint it to one, or even ten specific causes.  The number of variables would be so enormous that I could probably write about the subject all night and still never do the question justice.  And yes, I know I said the economy was fair game in this round, sorry for not having a better answer for you.

Although, I could turn around and say they’re not cycles at all, since a ‘cycle’ implies regularity between the upturns and downturns in the economy.  However there is no, to the best of my knowledge, schedule to the ‘cycles’ we see in the market.

Needless to say however, I wish we weren’t seeing the current downturn we’re all experiencing.

But if you’d like to discuss it further sometime Brady, let’s grab a beer :)

Note: This is part of the Ask Matt series where you, the reader, get to post a question and have me answer it.

Picture of the Day



potd, originally uploaded by mwalters.

Little known fact — I can wrap either of my arms completely around my head.



This post is part of the Picture of the Day Series for 2009.

Ask Matt: Question from Ezra

Ezra Asks:

Do you know if its possible to turn an email box into an RSS feed?

I’m sure it is.  Although how to go about doing it will depend largely on your email provider.  For instance, if you’re on GMail, there’s an Atom feed available of your mailbox already, although it requires a feed reader capable of authentication for privacy reasons.

For other providers, it might get a little more complex, but it wouldn’t be too bad.  I’m not aware of any services that will do this automatically off the top of my head.   But setting it up on your own wouldn’t be all that complex if you have some PHP knowledge (which I believe you do).  You could use something like this PHP POP3 Class to poll your mailbox then you could use something like SimplePie to create an RSS feed of the data.  I don’t have any experience with the PHP POP3 Class, but I’m sure if it didn’t work out there are likely many more, and probably even IMAP implementations as well.  SimplePie, I have used, and find it to be quite nice.

Note: This is part of the Ask Matt series where you, the reader, get to post a question and have me answer it.