Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

One of php's main advantages is the availability of many options. You have the option to do web apps in plain php. You have the option to do web apps in many mature frameworks.

Languages like ruby and python lack this. Can you do a website in plain ruby as easily? How many mature ruby web frameworks are there in ruby? There are many in php. Zend Framework, Agavi, Kohana, CodeIgniter, Prado, Yii, Symfony and many others.

Of course some stuff in php suck hard. I would personally love an string-object to replace all the stupid str_*() functions, but php is in the right direction of adding features. (My last issues are fixed by 5.3's late static bindings)

And im surprised how php community quickly adopts changes. PHP 5.3 breaks compatibility but i see more people using it everyday.

I think despite all the negativity, PHP is going to stay for long-term.



> Can you do a website in plain ruby as easily?

Don't know about Ruby, but as for Python - yes, you can. There is Python Server Pages in mod_python, which are similiar to mod_php.

However, mod_python is ugly (in a same way mod_php is), so it's generally frowned upon and considered to be Bad Thing.


It's not just ugly, it's unmaintained.


There's always mod_wsgi and writing a raw wsgi app- which honestly, isn't particularly hard or bad.


I believe, this is a consequence of being ugly.


"Can you do a website in plain ruby as easily?"

I've written websites in plain Ruby, as CGI scripts running on Apache. I actually find this easier that PHP, as Ruby doesn't have nearly as many weird inconsistencies. I think I'm pretty unusual in being one of the few Ruby programmers who didn't immediately begin with learning Rails.


Ruby with Passenger can be used for a simple website. Throw in Sinatra with Datamapper or ActiveRecord and you've got a lightweight setup - with better options for string manipulation than PHP :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: