Learn another language. Not just because PHP isn't a particularly good one (IMHO), but because learning new languages inevitably teaches you new ways of thinking about programming.
Since nobody mentioned yet... lisp is a great language to learn just to expand your horizons. Don't expect to actually develop websites in it (though clojure might be a good bet for more complex web apps), but it _will_ make you a better programmer.
I just tried to develop a website with SBCL and Hunchentoot, and it works relatively well for small examples. There's pretty good MySQL support, and it's all pretty fast. I couldn't figure out how to get a long-running SBCL process to keep even on memory usage. I saw a talk from a guy who works at ITA software [1] where he said they blow away their SBCL instances and restart them on regular intervals, so maybe it's just not possible!
To anyone who is serious about developing a Lisp website, I'd spend a lot of time up-front evaluating different Lisps
It's about the tool for the job. Most websites just don't have that much server code to justify a bigger hammer. And lisps definitely take a stronger arm to swing.
Right now I'm re-learning PHP, and I'm shocked at both how prone to shortcuts it is, and how practical most of these shortcuts are. It's truly a tool for the job. I have yet to see if the cool toys like first order functions are actually usable, but I wouldn't be surprised at all if they were. All that's missing for most people is a feel of what can be done - and that's exactly what a couple of months of lisp can do.
Comments
Learn another language. Not just because PHP isn't a particularly good one (IMHO), but because learning new languages inevitably teaches you new ways of thinking about programming.
Ruby is good for OOP.
Since nobody mentioned yet... lisp is a great language to learn just to expand your horizons. Don't expect to actually develop websites in it (though clojure might be a good bet for more complex web apps), but it _will_ make you a better programmer.
"Don't expect to actually develop websites in it"
I just tried to develop a website with SBCL and Hunchentoot, and it works relatively well for small examples. There's pretty good MySQL support, and it's all pretty fast. I couldn't figure out how to get a long-running SBCL process to keep even on memory usage. I saw a talk from a guy who works at ITA software [1] where he said they blow away their SBCL instances and restart them on regular intervals, so maybe it's just not possible!
To anyone who is serious about developing a Lisp website, I'd spend a lot of time up-front evaluating different Lisps
[1] I can't find this talk anymore :<
It's about the tool for the job. Most websites just don't have that much server code to justify a bigger hammer. And lisps definitely take a stronger arm to swing.
Right now I'm re-learning PHP, and I'm shocked at both how prone to shortcuts it is, and how practical most of these shortcuts are. It's truly a tool for the job. I have yet to see if the cool toys like first order functions are actually usable, but I wouldn't be surprised at all if they were. All that's missing for most people is a feel of what can be done - and that's exactly what a couple of months of lisp can do.