21 replies
by cmorrow
by diwen
It's tricky one, choosing between development environments and tools. I'm going to boring and not answer Your question! There isn't a this/that answer. It all depends on what what You want, what You already have, and what You know. The Ideal scenario would be to build the site with ALL possible combinations and then compare the ease of use, updatibility and performance etc.
I think this is one those eternal question that no-one will be able to answer objectively.
I do "it" with IIS/ASP and Access/SQL Server. Other possibilities would be much better for some, if not all cases, but hey, that's what I have to work with, and so far it's been ok.
by noel
ASP.Net would be the answer I would recommend. First, ASP.Net will run on any server that has the CLR installed.
Second, ASP.Net is a vastly improved technology, combining new, easy-to-use web controls, code reusability, a simple IDE, and great online support.
by sirvictor
You know that: ASP.NET doesn't have IDE by itself. IDE may eventually come from Visual Studio.NET. Am I right?
// Just messing with words ;-)
by pbell
I love ASP.NET - it brings many "real" programming concepts to a field dominated by scripting tools. If you buy the IDE (VisualStudio.NET) there are also cute tools for dynamically generating queries (although anyone using .NET that can't write SQL queries by hand has a LONG way to go!) and great controls such as the data grid that simplify much of the work required to create your forms.
That said, because it's Object Oriented (to some degree - not fully), it also ends up being verbose and slower. I still code all my day to day solutions in Cold Fusion (similar to PHP, Tcl and a million other scripting languages) as I can implement a solution much more quickly and the added power .NET brings in not relevant to many day to day proejcts.
I think you could code (almost) as quickly in .NET over time, but the learning curve is much more substantial.
by sirvictor
// continuation of part 1
ASP.NET works atop of .NET Framework. Now this is more interesting. Developer who wants to use this platform has to learn one of the languages supported there (e.g. C# or VB.NET) or can download/buy apropriate compiler fpr his/her language of choice (quite a bit of them are free).
This .NET platform contains a huge library of ready to use things, is fully object-oriented (where PHP has some limitations ont thiS), and allows to mix different languages - e.g. you canextend in VB.NET a class built in C#, Perl.NET or Pascal.NET.
ASP.NET has also other unique abilities, like separation of HTML presentation code and logic code (so-called Code Behind). This way you can have almost all HTML/ASP code in one file and rest of code with event handlers in another file. It's elegant and it works. Plus, there are HTML controls (as you may know them already) and server controls (which can, but don't have to have a corresponding HTML controls), automatic page state management, state persistence in MS-SQLServer. There's even more: you can easily use other .NET / your own objects and classes, connect to databases through fine ADO.NET classes, work with XML and build XML Web Services. Shortly speaking, .NET is huge. But driving this beast can be quite nice. Sometimes.
But if your option is only ASP (and not ASP.NET) - then go straight to PHP. You will get cleaner language than old VBScript and you will not tear off your hair when COM objects you really need touse just ignore your prayers ;-)
So in my opinion it just depends. Depends on your preferences, size of wallet, and already done investments (hardware/software/languages).
If you want other more specific answers, please ask more specific questions.
I hope this helped you a bit.
Sir Victor
by willeus
I've coded websites in ASP, PHP, ColdFusion, Perl, and most recently ASP.NET. Hands-down, in my experience, I code the fastest with ASP.NET using the Microsoft Visual Studio.NET product.
The downside is that you are (temporarily) stuck with a Windows-based server running IIS. Still, Apache has signed an agreement with Microsoft to allow ASP.NET to run on Apache servers too. When they will get to the implementation stage is another matter entirely.
Bottomline, I encourage you to try out ASP.NET. You'll be surprised by how fast you can churn out a complex page.
by sirvictor
More details would be helpful if you really want accurate answer. Some hints of mine:
* If you have installed Linux + Apache base, then go for PHP. It has the opinion of being easy to learn (to which I agree) but has some drawbacks too (see later).
* If you have Windows installation(s) and you may eventually invest some $$$ then go for ASP.NET - and don't think about old ASP (trust me :)
Now, some more details:
PHP is similar in syntax (to some point) to the C language - if you look only at the syntax. More, some library functions even have similar names to those in C :-)
PHP is an OpenSource project and costs virtually no money. It's portable and works on most flavors of Linux and other OS'es. There is a historical (and good too) integration with MySQL database, it's also possible to connect to other databases On the other hand if you're not careful, you end up with tons of "spaghetti code" - HTML mixed here and there with PHP code for database access, HTTP headers, cookies, sessions, etc. Working with PHP at this low level is possible but it's better to use some already boiled solutions (sometimes they are free, sometimes not).
// to be continued in part 2
by mrghemp
Here are a few reasons I like PHP. First off it's Open Source and not controlled by a single company.
With PHP you can run on Windows, Linux, Mac, or Unix servers. This allows you to be more flexable when it comes time to expand and grow... or if your needs change.
With ASP you are confined to Microsoft IIS servers, arguably the most insecure servers on the net.
Also PHP works great with some of the best web servers and databases around... namely Apache and MySQL, both are often considered the fasted combo for web sites... All three are open source, so they're free!
by herrhic
This should not be an argument : IIS can be unsecure if you leave it running "out of the box".
Surfing the Web, I more often find defaced Web Site running on Apache...
First, as said in another reply if the question is truly ASP vs PHP, then there's no question: PHP !!
If the question may be ASP.NET vs PHP then I'll consider two different point of views:
- the 'Free your mind' view: I want to keep my mind freeof any constraints because I believe that what's key in creativity and creativity is, for me, key in development activities. For that reason, I want a language and an environment that is not binded to any supplier or technology. I choose PHP, as I chose JAVA 7 years ago and this also because both are coming with an incredibly huge numbers of pre-defined functions/objects. I also have no money to give, especially to a vendor that applies a 85% margin on its OS software.
- the "want to make a career in software development" view: At least in Belgium, on the job market, PHP is mainly mentionned as a language to develop advanced website and some services but not more. On the contrary, you find quite a big amount of offers related to the .NET platform, not always especially ASP.NET but this can be an entry point. The PHP community and ZEND still have some work to do to bring visibility to the PHP technology.
Up to you to see what is the view you're more relating to but it will for sure not be a 100% match.
In any case, PHP is easy and affordable and software development is always software development so if have time to work at home and you want to improve your general developer skills, design techniques and coding, PHP will provide you plenty of opportunities at almost no cost.
by ge.goodman
I find it hilariously funny when people say "don't tie yourself to one vendor/technology/OS/whatever" i.e. MS, then they go and tie themselves to something else.
In my experience PHP/Apache rocks performance-wise and is more secure out of the box. Comparing it to normal ASP is like comparing a Ferrari to a 3 legged donkey with arthritis.
ASP pages can get incredibly messy with a spaghetti-like mixture of HTML, client-side Javascript and server-side ASP/VBScript. That's without creating server-side COM objects. Just try debugging someone else's ASP pages - not for the faint hearted. IIS is also not very secure out of the box and it only runs on Windows.
Most of these problems are solved with ASP.NET, apart from the running on Windows bit (until MONO finish their Linux implementation). I now prefer .NET for development, it's cleaner and properly object-oriented, and I know my way around its vast class libraries so I can get it do pretty much what I want. But that's just my opinion - don't take it as gospel, ok ?
If you can't afford VS.NET, try WebMatrix - a very good, free IDE for building .NET apps. It's got less features than VS.NET but it also costs a lot less :o)
However if you're already skilled in PHP then.. why not use PHP ?
by mathias2004
I face the same question on a daily basis for the projects our company does. Most oftenly the decision comes down to what they have today, who is going to admin it (and what skillset do they have or how much do they cost if you need to hire someone new), how is it hosted etc. The answer to those questions most oftenly gives the route to go. Budget is a factor as well of course. Also, the amount of estimated traffic is a good thing to know (realistic figures that is, not "everyone will be able to see this site and so they will").
Regarding databases: MySQL for PHP (in my case). MS SQL .NET and ASP (unless it's a small scale project with no budget, which narrows the options down to Access, which often is more capable than people think). Ialso tried to find subjective test results regarding speed etc and this was my (rough) conclusion: MySQL is faster on SELECTs but slower on inserts than MS SQL, which is fairly good on all of it. I have yet to NOTICE those speed differencies though (now I'm talking as a user of the site, not the creator).
I have never ever touched Oracle, can't answer for it either.
Just my 2 cents.
by carl.i
Budget and skill set play a part for us. My entire department focuses on Microsoft technologies as there are other people in the company that have other skill sets.
As for the data layer, MySQL, SQL, MSDE, even Access. The reason for my reply on this is just to add insight from a MS dev on Oracle ... frankly speaking, argh!! We're busy trying to convert an in-house content management tool (based on ASP 3.0) to .NET, and a potential client wants to know if we can make it happen on an Oracle backend. IMHO, if you're only using Oracle for the database engine, it's not the way to go, reason - price and complexity (learning curve)
by johnzoet
Your question should be stated more generic: "Which web application platform is best".
The first choice to make is: Windows versus Linux.
If money is not an issue and being stuck with a proprietary provider is not an issue, I still recommend Linux as you have the advantage of choice of development environments, databases, ease of development and deployment.
Second comes ASP versus PHP
ASP is VBA + COM
If you like to write a lot of COM components and don't mind mucking around with the registry and MTS, I still recommend PHP, because you can probably handle anything you like with PHP natively.
Third comes the question: PHP versus JSP/Struts
If you have a small webapp, go for PHP
If you have to develop a full blown web application with lots of pages, internationalization and want a clean separation between business logic and view, go for JSP and Struts.
Struts solves 99% of all problems you will ever encounter while developing webapps. When you ever had to maintain web pages with thousands of lines of scripting in a single page with ASP or PHP you can appreciate the solution that JSP/Struts offers.
There is a steaper learning curve for Struts than for PHP, but it definitely pays off during maintenance of the system.
If you expect many users simutaneously accessing your web site JSP is very fast because it stays in memory and is multi-threaded.
by hfuecks
FYI - there's a port of struts to PHP here: http://phrame.itsd.ttu.edu/ (free of course). Obviously it's not as rich as the origional but makes a great framework to build the core of your PHP app around.
Also there's a port of the Maverick project (as descendant of struts) to PHP: http://amb.sourceforge.net
For me though an excellent framework for building apps in PHP is eZ publish: http://developer.ez.no . If you'll excuse the cheesy self link, wrote an article for designers and devlepers on eZ publish here: http://www.webmasterbase.com/article/917
by dboeke
I suggest using PHP as you have a choice of platform, you can easily run the same codebase on Windows / Linux / Solaris / HP-UX / Yada / Yada / Yada.
Performance with some of the code caching tools is better with PHP as well. Check out the reasons that Yahoo decided to run on PHP:
by felipe
by rainersax
Hi, i would suggest you use php - just out of personal preference.
I'd like to mention a few things off-puuting things about ASP:
* it is coded in VBScript most of the time.
VBScript is ugly and cumbersome. Consider
having to use "ELSEIF" on the one hand and
"END IF" on the other. I have seen not a
single developer who didn't loose valuable
time over this. Furthermore VBScript is line-
oriented not command-oriented, which, excuse me,
just ugly.
* ASP does not have the wealth of php. Think of
all the libraries available for php.
I'm getting tired of it now. it is only sentiment. i just think php addresses developers' needs better: sending email, retrieving variables from the http-request, accessing databases etc. Everthing is just *easier*.
Have you ever thought about using other scripting languages like zope (www.zope.org) or Ruby (http://www.ruby-lang.org/en/)? I haven't worked with either but I know people who like them a lot.
Is there anyone out there who has any experience with zope or Ruby?
greets,
Rainer
by brent_d
by bigdog
This discussion is closed to new replies.
Trending Web Development posts
Sort by Trending