Forum Moderators: open
http://www.google.com/search?q=asp+vs+php [google.com]
I've been thinking more about it as well.
To me, ASP and PHP are like Honda and Toyota. Both are excellent products, both will get you there, both are priced similarly, they have different suspensions so the "ride" feels different.
Both ASP and PHP will get you there. It "seems" to me that PHP is a little less Verbose than ASP, but I've been using ASP so long (with JScript) that it doesn't bother me.
I like IIS because I like the graphical interface of Windows. I've never used Apache, and I'd rather spend my time coding new projects than learning a new server. Both are excellent, people will argue until they are blue about which is "better".
I like the suspension of the Honda than the Toyota, so I drove a Honda. Both are excellent.
The unfortunate thing, is that there are a lot of people that don't understand what ASP.
Usually, people who say that PHP is better than ASP actually mean that PHP is better than VBScript.
I agree with that, but ASP is not VBScript.
ASP is a far more powerful development tool than even most ASP developers understand.
Because most ASP developers don't fully understand ASP, they don't utilise its full power. In fact quite often they blame ASP because of its lack of power when really it's their lack of knowledge that is at fault.
There's a general misconception that ASP is slow and not very powerful.
While it is true that there are a lot of sites that are badly written (In fact, I'd go so far as to say that most ASP sites are badly written), it's unfair to say that the ASP platform itself isn't very good.
In all, I'd say the average developer would be better off using PHP rather than ASP because the average developer won't be capable of using ASP to its strengths.
However, when used properly, ASP is the best scripting based development platform around.
On the scripting side, there's
JScript
Perl
Python
VBScript
I think there are a few others as well.
You can use multiple languages in the same page, so you can always use the best tool for the job.
i.e Pull some data from a database in JScript then pass it to a Perl function for some string manipulation and then use VBScript to pass the data to the web browser, all from within the same page.
And on top of your scripting languages you have support for COM components
Fast pre-compiled code for heavy duty processing. You've just added C++, VB, J++ (and probably a few others) to your toolkit of available languages at your disposal.
That all makes PHP look a bit sparse doesn't it ;-)
I've only ever used VBScript with ASP, I did know you could use JavaScript but I didn't know about Perl & Python.
Whats the difference then between ASP and ASP.net and ASPX?
It's a pity ASP isnt a more open platform available for a wider range of webservers. I dont like using IIS/Windows Server because of security, relaiblity and cost, but if ASP is so powerful it would be good to run it under Apache.
There are a couple of third party products to do this but they're not perfect due to their age.
Its also now owned by Sun, which is enough to put anyone off ;)
The other one I know of is by halcyonsoft.com but their website hasnt been working for weeks so I dont know whats happening there.
But with all this talk of asp.net it would be better to have something more upto date. Maybe the Mono project covers this? I dont know I'll have to look into it.
Why is it then that my impression from studying Netcraft over the years is that most big companies who run their own servers use IIS/ASP whereas most professional hosting companies choose Unix/Apache?
Most big companies use IIS because everything else they use is Microsoft. Microsoft also provides support, and Microsoft has the "corporate feel".
Don't think I agree with your "most professional hosting companies" comment. Most professional hosts offer BOTH solutions. Everyone else uses *Nix because it's way cheaper, and they can get more bang for their buck.
Don't think I agree with your "most professional hosting companies" comment. Most professional hosts offer BOTH solutions. Everyone else uses *Nix because it's way cheaper, and they can get more bang for their buck.
I think by professional hosting companies, he meant virtual hosts and shared hosts.
UNIX servers are very quick and cheap to administrate when you're sharing one machine with lots of users, so it's an obvious choice.
I dont like using IIS/Windows Server because of security, relaiblity and cost
This is flat out bias based on bad press.
To rehash in defense of MS: If you maintain the patches and are cognizent of what needs to be done for security, IIS can be secured as good as any other platform.
Real Unix is not cheap. When you refer to the cost of Microsoft Servers vs. Unix, you are most likely looking at a Linux installation.
As for Reliability, I've never had a problem with my Windows Server installations. Yes, the consumer products have difficulties, but how many true consumer desktops use a Linux or Unix implementation? Very few compared to MS.
So, don't discount the IIS solution based on faulty research and bad press.
However, I have once tried installing RedHat but the installation failed so many times I gave up. I then tried Knopix but I had to restart too many times just to get it to boot up properly.
Yes I use MS products but im always on the lookout for a reliable alternative because I hate MS. For instance I am at the moment using an Apache web server as opposed to the IIS one because the IIS one limits you to 10 sites, people keep telling me its not a good idea to use IIS and Apache is just as easy to use. I also use Spybot and Adaware in conjunction with Norton and PCcilin's house call because I dont want to rely on MS to keep the bad things away.
Now I have a question, which server technology or language if you will is better for login scripts with respect to speed and stability because im using asp with VBScript at the moment and it errors out with a lost MySQL database connection half the time.
IIS one limits you to 10 sites
people keep telling me its not a good idea to use IIS.
I also use Spybot and Adaware in conjunction with Norton and PCcilin's house call because I dont want to rely on MS to keep the bad things away.
im using asp with VBScript at the moment and it errors out with a lost MySQL database connection half the time.
I don't mean to be offensive in responding to your post, however, I see way to many threads bash Microsoft products "for the fun of it" without a solid knowledge of the issues. As fast as technology changes, if their products weren't good (not perfect, but good) a competitor would indeed come along and beat them.
However, nowadays with Windows Server 2003 and SQL Server 2000 those reliablity problems don't exist. I've never had to reboot a Windows 2003 machine for any reason other than a software installation.
I agree with txbakers that security has never been a problem with Windows when you patch the system regularly. Most of the attacks that I've seen have been on machines left running and wide open to the Internet on a default install.
However, nowadays you don't even have to apply the patches any more. It does it automatically. The default settings are more secure now. The server is no longer set up with powerful unsecure example sites that people used to forget to unistall before moving in to production. Even a freshly installed Windows Server 2003 box is a lot more secure than a similar NT4 machine.
Most of the flack that Windows receives in Stability & Security arena is directed at old NT4 installations. Things have moved on a lot since then.
I can't help but notice that in the last 6 months or so, by far the majority of attack attempts on servers have been targetted at popular UNIX forum software and AGStats, both prevailent on UNIX systems.
Personally I use ASP, ASP.NET and PHP regularly. Assuming we're just talking about ASP "classic" vs PHP, here's my take.
PHP is much more powerful "out of the box" - you can simply do a lot more with it. Yes, you can create (or buy) COM objects that'll replicate some of this extra functionality for ASP, but why bother?
ASP can have multiple languages, it's true. But for most people ASP means VBScript. I've seen a couple of small utils written in server-side JavaScript, but I've never seen anyone use Perl or Python in ASP. Using more than one language on one page is adding pointless complexity and can only make a script harder to maintain.
ASP can use COM objects. But, so can PHP! And if you're not using Windows, then you can create your own PHP extensions in C or C++, or you can even use Java objects.
PHP has a wider variety of free applications, tools and code libraries than ASP. There are many commercial products out there for ASP, but chances are that what you can get for free in PHP, you'll have to pay for with ASP.
I can't think of a single advantage that ASP has over PHP, other than familiarity if you come from a windows background.
For these reasons I think PHP is a superior web development tool to ASP. It's important to note that these are *just tools*, though. Most people (including me!) spend too much time worrying about the technology, and not enough time actually using it to make money!
ASP can have multiple languages, it's true. But for most people ASP means VBScript.
This is the crux of your argument. You are saying that most people use ASP badly, so therefore ASP isn't very powerful.
This is the same as saying "Most people use Land Rovers to navigate the tarmac of Kensington, therefore the Land Rover isn't very good off-road.
You then go on to confuse the issue by comparing PHP to VBScript, but continue to use the term ASP...
eg.
PHP has a wider variety of free applications, tools and code libraries than [VBScript].
Correct, but ASP has more free applications, tools and code libraries available for it than PHP.
For these reasons I think PHP is a superior web development tool to [VBScript].
The question was whether ASP (not VBScript) was better than PHP.
i use asp/vbscript mostly because its what i first learned and i'm better at using it, understand it more and have to look less things up, i use php sometimes because i also have a very cheap shared hosting account for a couple of sites that are on linux servers using php.
i'm running a business and i write the code for my websites (rather than being a programmer/coder who has a business), so getting a good enough job done as quickly as possible is the main criteria for me.
the sites i run are simple - database inserts & retrieval, text and file manipulation, file uploads, that kind of stuff.
... for that both php and asp work equally as well, i haven't benchmark tested the speed of doing similiar tasks (and note this hasn't even been mentioned yet in this thread), but i'm sure the bottlenecks are internet packet routing issues not processor delay.
but, i have 100's of asp code snippets which i've built into my text editor over time, which would take countless hours to duplicate with php! so for me personally, using asp is a no brainer in terms of time saved compared to php.
...
however i would add to the original question by bluedalmatian:
also in the equation is mySQl vs SQL Server! in my view prior to mySQL 4 there was no contest, for several reasons SQL Server was better. Now with mySQL 4+ they are closer ...
both work absolutely fine but i still feel SQL Server is much more powerful, although in truth for most database driven websites it doesn't make any difference.
[i do notice that nowdays mySQL seems to be offered as a cheap alternative (eg free) to sql server by hosting companies in their windows packages]
...
the other hidden factor that informs people's views on this matter is cost - in the shared hosting environment, linux packages tend to be cheaper than windows, this used to annoy me in the early days once i discovered it (i was well down the route before i even heard of linux!)
however should you get lucky enough to develop a website that gets really busy, then this is less of a factor as bandwidth begins to become the major cost consideration rather than server technology)
Also as per my question about which language is better, over the years I have learned a multitude of languages and I have found that a lot of the time a language has been developed with a purpose, to be able to do something better than the others. Admirable as it is, in the process they often end up doing other things worse. I would like to know which language is better for making login scripts, wether they loose connection to a database is immaterial, it was just an example.
As has been said...many corporate environments use Microsoft. Not all by any means, but I work in a corporate environment and I run a Microsoft network and for those of us who do....
Our client machines are windows and we chose to implement a microsoft client/server architecture. So I run a windows 2003 server environment with Active Directory...and there are many advantages for using IIS (in general). IIS is REQUIRED if you are going to run SUS (or now WSUS) to manage windows updates to your clients. Also other Microsoft products such as SharePoint utilize IIS.
So for us...IIS vs. Apache....there are clear reasons why we would run IIS in our corporate environment...yes, microsoft imposed reasons, but none the less ;)
I'm not saying one is better than the other with apache vs. IIS or asp vs. php....I just wanted to say that in a corporate environment where there is already a microsoft network...there is often times a required need to use IIS and a stronger desire to use IIS than apache.
everytime we get into these conversations there are 2 things that make all of these copmparisons useless
MrMister, great touch here which is the crux
>> ASP is a far more powerful development tool than even most ASP developers understand.
PHP is a far more powerful development tool than even most PHP developers understand.
this is also true about most languages, get 2 coders of equal levels of expertise and you will see little difference aside from their own personal dev habits.
I use Solaris and PHP, that works for me and is best for my choices and particular environment.
The main problem with these 'discussions', everyone is limited by their level of understanding of the things being compared and are all influenced by their own biases. That is why these threads never get anywhere.
Look at your options, understand every aspect of what you are trying to design and build. Then you will have enough information to make the appropriate choice for your environment and decide what is 'better' for you.