---------- Forwarded message ---------- From: Josh Charles [email protected] Date: Jul 14, 2005 3:14 PM Subject: Re: Ruby On Rails / Web Technologies To: Bill Cavalieri [email protected]
Whats something asp.net does over php? I have yet to find something I can't do in php.
Generics Operator Overloading Strongly Typed Data Types Function Overloading URL Rewriting without resorting to writing C modules for the webserver (there might be a way to do this with PHP, but I've not found it) Databinding to either business objects or datasets Number of controls (Gridview, Details View) Personalization with custom objects Automatic Membership / Subscription functionality with the Provider Design Pattern for customization Multiple Languages possibilities inside projects or applications
Hmm, that all I can come up with now, but that's a big list.
Josh
On Thu, 2005-07-14 at 15:14 -0500, Josh Charles wrote:
Whats something asp.net does over php? I have yet to find something I can't do in php.
Generics
...
Here's some more fuel for the fire:
http://shootout.alioth.debian.org/benchmark.php?test=all&lang=php&la...
Which is essentially that PHP is 50 to 250 times slower than the open-source ASP.NET/Mono. Of course, disclaimers associated with benchmarks go here. :)
Any caching that might be implemented by mod_php in C isn't show here, of course.
On Thu, 2005-07-14 at 15:34 -0500, Jason Clinton wrote:
Here's some more fuel for the fire:
http://shootout.alioth.debian.org/benchmark.php?test=all%E2%8C%A9=php&la...
Which is essentially that PHP is 50 to 250 times slower than the open-source ASP.NET/Mono. Of course, disclaimers associated with benchmarks go here. :)
Any caching that might be implemented by mod_php in C isn't show here, of course.
Well I'm not curious enough to repeat the tests myself, but plenty of free php accelerators out there.
I always load one (usually zends), and see significant performance increase.
On 5:38:12 pm 07/14/05 Bill Cavalieri [email protected] wrote:
On Thu, 2005-07-14 at 15:34 -0500, Jason Clinton wrote:
Here's some more fuel for the fire:
http://shootout.alioth.debian.org/benchmark.php?test=all%E2%8C%A9=php&la...
g2=csharp&sort=fullcpu
Which is essentially that PHP is 50 to 250 times slower than the open-source ASP.NET/Mono. Of course, disclaimers associated with benchmarks go here. :)
Any caching that might be implemented by mod_php in C isn't show here, of course.
Like any language PHP code can be written in such a way to be slow or fast. There is some interesting information here about how to speed up PHP code:
http://phplens.com/lens/php-book/optimizing-debugging-php.php
As a long time PHP coder for both my employer and OS projectws I believe it to be fast, flexible as hell, powerful to the point where you can do yourself damage if you are not careful, and overall ideal for web based apps.
__ Jason Munro __ [email protected] __ http://hastymail.sourceforge.net/
On Thu, 2005-07-14 at 15:14 -0500, Josh Charles wrote:
---------- Forwarded message ---------- From: Josh Charles [email protected] Date: Jul 14, 2005 3:14 PM Subject: Re: Ruby On Rails / Web Technologies To: Bill Cavalieri [email protected]
Whats something asp.net does over php? I have yet to find something I can't do in php.
Generics
Its not difficult to emulate generics with php callbacks. Many documented examples of this, just google, c++ has had generics for eons, and not surprising that people would come up with ways in php either.
Operator Overloading
I'm no fan of operator overloading. Lots of talk about it in php lists, but I have to agree with the core php developers on rejecting it thus far (people have written patches to provide it). Imho, operator overloading really makes debugging difficult.
Strongly Typed Data Types
Thats a religious battle thats been around since types themselves. You can argue the merits of dynamically vs static types all day, If its important to know the type, php has several methods to determine what the type can be (its dynamic after all).
Function Overloading
Not sure of the merit of function overloading, when php types are dynamic anyways (although I could see if number of arguments vary). But easy enough to emulate with func_get_args(), and some type checking code in the function.
URL Rewriting without resorting to writing C modules for the webserver (there might be a way to do this with PHP, but I've not found it)
I'm not clear what your wanting to do here, but there is no shortage in methods of url rewriting.
Databinding to either business objects or datasets Number of controls (Gridview, Details View)
No shortage of php classes to do grids, tables, graphs, etc.....
Personalization with custom objects Automatic Membership / Subscription functionality with the Provider
A zillion ways to do this, lots and lots of pre-written classes as well.
Wouldn't this just be methods of whatever class you use? You don't have to use the asp.net "Advanced Personalization Services" either to do this, not like this didn't exist before ms wrote the provider class themselves :)
Design Pattern for customization
Now this is just plain silly, plenty of ways, even several php centric books available on the subject.
Multiple Languages possibilities inside projects or applications
I use perl, php, and even soap calls back to a realbasic daemon in projects/applications. I know asp.net does it differently, but definitely ways to do it with php.
Hmm, that all I can come up with now, but that's a big list.
There was some interesting points brought up, and I can see that on some things, I was not able to quite communicate what I meant.
On 7/14/05, Bill Cavalieri [email protected] wrote:
Generics
Its not difficult to emulate generics with php callbacks. Many documented examples of this, just google, c++ has had generics for eons, and not surprising that people would come up with ways in php either.
This was not a c++ vs .NET, this was php vs. .Net. The fact of the matter is that C# has this built in and it's quite easy to use. No looking for third party software. This is going to be a theme. Yes, you have many solutions to problems in php, but for the most part, they are third party.
Strongly Typed Data Types
Thats a religious battle thats been around since types themselves. You can argue the merits of dynamically vs static types all day, If its important to know the type, php has several methods to determine what the type can be (its dynamic after all).
Ok, we can agree to disagree on this. I can't stand the thought of the compiler trying to figure out what I meant when I wrote the code. I always want it to be explicit.
Function Overloading
Not sure of the merit of function overloading, when php types are dynamic anyways (although I could see if number of arguments vary). But easy enough to emulate with func_get_args(), and some type checking code in the function.
This is an extremely helpful feature. Once again, you are talking about emulation, which only makes the code more complex.
URL Rewriting without resorting to writing C modules for the webserver (there might be a way to do this with PHP, but I've not found it)
I'm not clear what your wanting to do here, but there is no shortage in methods of url rewriting.
Can you do URL rewriting in pure PHP? I don't know, but if you can, no arguements from me.
Databinding to either business objects or datasets Number of controls (Gridview, Details View)
No shortage of php classes to do grids, tables, graphs, etc.....
I agree, but there are all third party, and do not have the features that are contained in the .Net framework. I know, because I've spent many hours looking for a php datagrid like control, and found nothing that would work. In .NET 2.0, you can have a fully function CRUD datagrid without writing a single line of code. I'd like to see that in PHP.
Personalization with custom objects Automatic Membership / Subscription functionality with the Provider
A zillion ways to do this, lots and lots of pre-written classes as well.
Yes, I know that there are a zillion ways to do this, but show me one that is as easy to use as .NET's version? Or one that is shipped with the distribution. It doesn't exist. Once again, I can implement all this in .NET without writing a single line of code.
Multiple Languages possibilities inside projects or applications
I use perl, php, and even soap calls back to a realbasic daemon in projects/applications. I know asp.net does it differently, but definitely ways to do it with php.
I understand that, but do you have ways to pass objects around between all those languages without serialization, or share libraries? Once again, I might be ignorant in this area, but it didn't take me but about 30 seconds to grasp this concept in .NET.
Ok, seems as though we've gone a little OT, so I'll quickly summarize my points. Sorry about that. I'm off to code some Ruby!