PHP5 Vs. CakePHP Vs. RubyOnRails?
OldJavaHack writes "If you could start a website (with MySQL for persistence) from scratch and you had a choice of PHP5, CakePHP, or RubyOnRails — which would you choose and why? Things to consider in your decision: 1. Maturity of solution; 2. Features; 3. Size of community of skilled users (to build a team); 4. Complexity/ease of use (for neophytes to master); 5. Greatest strength of your choice, and the greatest weaknesses of the other two. Here is a comparison of capabilities."
Really folks, in any environment where ACID compliance matters (or don't you value your data?), or stored procedures, or decent autocompletion, or easier upgrades to Oracle later, or performance for complex queries - why in the world aren't you looking at PostgreSQL? "LAMP", my ass, I'll take the "LAPP" environment - Linux, Apache, PostgreSQL, and PHP.
MySQL and PostgreSQL each have their advantages - but what I find is that in production environments with mission-critical data, PostgreSQL is often the more questionable choice. Not evaluating both options before making an more informed choice - even if it does turn out to be MySQL - is a mistake.
pShitheads. *BsD they want you to CREEK, ABYSMAL since then. More
PHP doesn't have any strengths. It's a horrible language pretty much any way you look at it.
Everybody knows that these are just cheap imitations of dot-net.
Why do I never see a post moderated "(Score:-1, Blatant Ass-Kissing)"?
To me, PHP is BASIC for the web. It was written for (and I suspect, initially at least, by) people who really have no grasp of programming. It's not _useless_, but I'm going to avoid it for what I consider "real" apps. I'd use it for prototyping and one-offs except I wouldn't save much time over Perl.
Among the other common web languages, I'm going to pick Perl. It's the only one that lets me do what I want without putting me through a philosophical lecture. It recognizes itself as a practical tool rather than a political instrument, and allows me to get useful work done without chiding me because my solution is not in communion with the orthodoxy. Python, Ruby, etc. all try to preach to me in some way (wildly differing ways, I'll grant you, but they're still preachy), Perl just says "here are your choices, pick the one that works for you". Also, I consider Java a no-no as a standard "language of choice" for the web unless you already have a large Java skillset in-house or particularly specialized requirements.
I'm also going to avoid mod_perl on technical grounds. It hurts portability and introduces security and administrative issues if it's running on shared or multi-purpose servers. I'll go with FastCGI if performance is an issue.
ASP remains absolutely terrible. It's very much like raw PHP, with no framework, but without access to the huge array of third-party components and code that make PHP actually worth using. Unless you want to use COM components, which means that you need to go shopping before you can do something as simple as sending an email. There are absolutely zero advantages to using ASP over PHP.
JSP isn't much better. It's basically the same model as PHP and ASP (web page with server-side language embedded in it), but Java is an absolutely terrible language for writing the typical web page. It's much better suited to writing the back-end model, and doing all the heavy work.
There are instances where Java would be preferable to something like PHP. PHP is not likely to be a performance bottleneck in most web applications - the database is, and you can access that just as well from any language. Type safety may be pretty good for reliability, but reliability can only be achieved using a good development process and lots of testing.
You can write fast, scalable, reliable web applications in PHP. It's just not any easier than doing it in Java. And unfortunately, most PHP programmers are either amateurs who can barely write useful code, or are just useless.
ASP.Net is another matter entirely. Better language (C# is a clone of Java, and you can use other languages if they're more appropriate), and it actually has a built-in framework, along with a reasonable quantity of third-party code you can use.