views:

1154

answers:

17

Did you ever have to choose between WISA or LAMP at the beginning of a web project?

While pros and cons are littered around the net, it would be helpful to know about your real experience in coming up w/ criteria, evaluating, deciding, and reflecting upon your decision to go w/ either platform.

A: 

I'm just curious...what is WIAS? Windows, IIS, ASP, and?

SQL server

SQLMenace
A: 

@SELMenace and @Michal Piaskowski - Thanks.

Thomas Owens
+9  A: 

@Thomas WISA is:

W=Windows
I=IIS
S=SQL (Microsoft SQL Server)
A=ASP (or ASP .NET)

As for choosing between them, I would think that the available resources and talent would be the deciding factor. If you can get great ASP .NET and MS SQL devs, go that route. If you've got a bunch of PHP/MySQL gurus on hand, go LAMP.

The reality is, regardless of the pros and cons of the platform, you'll struggle to get a great system on WISA out of a primarily PHP dev team, and vice versa.

Marc Reside
+5  A: 

Cost is our biggest thing pushing us towards the LAMP environment, no question about it. Trying to go through Corporate procurement for Windows and SQL server licenses is horrific.

ceejayoz
+3  A: 

WISA can be cheap, if your application doesn't need anything beyond shared hosting, there is little cost.

It can also be expensive, then again so can LAMP once you get to the same size.

Personally, I like the WISA stack, but its more out of familiarity than anything.

Two things that stand out:

  • SqlServer - Only oracle comes close to this, none of the free RDMBS can even hold a candle to it.
  • C# - Performance wise, its far better than either of the big three P's in lamp (Perl, PHP and Python). Of course, if you use Java its comparable.

There is no need to be religious about one or the other. Do what fits your needs best, and do what you prefer to work in.

FlySwat
A: 

My decision was based on two things. First and foremost I hated programming in ASP. I did it for an old job, and when given a choice I would choose PHP. I also tend to enjoy Linux over Windows.

When it came to actually picking though, the corporate heads chose LAMP due to cost. Because let's be honest as developers, language isn't that big of deal. One thing I didn't get into, but apparently MySQL isn't exactly free in business situations. I don't know the details, but you should look into it before getting sued.

icco
A: 

I think the team is the biggest issue. WISA isn't universally worse or better than LAMP for any particular job. My expertize is in LAMP. I have very little experience with WISA, so I would never pick it.

It's more along the lines of photography -- if all your lenses were Canon's, why would you buy a Nikon body for a big gig?

Gary Richardson
A: 

That is true MySQL is $599 (one license is required per database server) for commercial use

SQLMenace
+1  A: 

I've used PHP/MySQL for a while, and I've used Rails, and I'm getting into ASP.NET right now.

My incentive for switching to ASP.NET at the moment is similar to my incentive for digging into Rails--I find C# and Ruby to be much more enjoyable languages to code in. The object models are much more mature, and it feels like I'm fighting with the tool a lot less.

I can't really compare MySQL to SQL Server yet, because I haven't done too much with the latter yet.

Brian Warshaw
+3  A: 

@Gary Richardson:

Making blanket statements such as:

WISA universally worse of better than LAMP for any particular job.

And then following it up with:

My expertize is in LAMP. I have very little experience with WISA, so I would never pick it.

Does nothing for the question at hand, other than interjecting your own personal (and as you admit, ill informed) opinion.

That is not what StackOverflow is about.

FlySwat
Gary Richardson has clarified (edited) his post to "WISA isn't universally worse or better than LAMP...". He's not mindlessly backing one platform but saying that your team's skills and experience should strongly influence your choice of technology stack not vice versa, which is entirely reasonable.
Simon Forrest
A: 

My answer is let your developers choose the tools they are best with.

TonyLa
+9  A: 

I think the first part is your Application. If you decide to go PHP, you almost automatically end up with LAMP, as WIMP or WISP stacks are quite rare (I think blog.stackoverflow.com runs on WIMP), and with .net you definitely want to go WISA.

So normally, it boils down to .net vs. PHP. (Ignoring Ruby, Python and all the other stuff for a moment). When you made that decission, the rest comes naturally or adopts into your environment (i.e. if all your admins in the company are windows admins, maybe WAMP works better for you)

I switched from PHP to .net about a year ago and I never looked back at PHP, but I never had to look at the bill for Windows and SQL Server licenses to be fair. Deployment on WISA has a much higher initial cost due to the licenses involved, whereas a LAMP Stack is free (Yes, MySQL is also free for commercial use).

Addendum: All the funny acronyms stand for the combination of technologies: (L)inux or (W)indows, (A)pache or (I)IS, (M)ySQL or (S)QL Server, (P)hp or (A)SP.net.

Michael Stum
+2  A: 

Something that people don't tend to figure in his the time savings in Developer Hours between platforms.

Take for example, a WISA app vrs a LAMP app, The initial cost of the enviroment may be a $2000 difference, but that is made up in just 20 developer hours.

So, if by using .NET, you are able to trim 20 hours from development or maintenance of the project you have already made up the difference.

There is never more apparent than when you need to scale the platform out and you suddenly realize you need to sink mountains of developer time into making a scripting language as fast as a compiled one.

FlySwat
+2  A: 

This is basically ASP.NET vs PHP.. If you (or the developers) have lots of experience with PHP, you use LAMP, or if they have used ASP.NET a lot, you chose WISA..

That said, while not strictly LAMP, Apache/MySQL/PHP will run on pretty much any platform you can name, which I would consider a big plus.

There is never more apparent than when you need to scale the platform out and you suddenly realize you need to sink mountains of developer time into making a scripting language as fast as a compiled one.

Arguing the benefits of a compiled language for web-applications is a bit silly, really. The language itself shouldn't ever limit the application, if it's designed sensibly.. Many big sites are coded in PHP for example. Again, that said, if the developers are familiar with ASP.Net, they are going to code better in that, so it will scale better.. Same with PHP.

Basically, choose a reasonable language that the developer(s) know, and then the appropriate server...

dbr
+3  A: 

I am not that experienced in Web programming, but I do not consider WISA powerful as a platform.

Because of your vast experience?

The developers basically cling to Microsoft for whatever they give.

Right, because Alt.Net is all about Microsoft? Or using the multitude of non Microsoft languages that happen to run on windows? What about OCaml, F#, Visual Haskell, IronPython, and IronRuby...Where do you people come from?

You have about 4 programming languages (C#, VB, C++, and ASP) which are pretty much the same thing with different syntaxes.

Aside from the fact that there is a mountian of languages for windows (see above), C# and VB are similar, both being managed code that compiles down to the IL for the CLR. C++ (not counting that horrid managed C++ thing), is entirely different, and is the C++ everyone knows and loves...

ASP is not a language, it is a technology stack written C#, a bunch of framework libraries...

People who say ASP is a language are like people who say Rails is a language...they look dumb.

Linking between programs are not that easy (yes, I am aware of COM and those stuffs, but do you really want to get into THAT just for a website? It is simply an overkill!).

COM is actually the old pre .NET way to communicate between programs. It can still be used, but its a pain to manage because you have to marshal your calls and manually manage reference counting.

That said, there are a multitude of ways to communicate between .NET applications. WCF, .NET Remoting, Web Services, COM+, the list goes on and on.

You are talking out of your ass. You have probably never written one line of a windows program.

On Linux (or Unix for that matter), piping is but elementary, and streaming between different programs are common stuffs. For the current project I am working on, I plan to process text by Icon, accessing database by Python, and still working on what should handle HTTP (Python, I guess, but anything would do). You have many choices, and each choice has something unique about it! Icon is extraordinary powerful in text processing, while Python (or Perl) has large libraries and communities.

Are you saying you can't pipe with Windows? Another ignorant statement. Beyond that, powershell (Another CLR based environment) can pipe entire objects, not just streams. Imagine that, piping an object from application to another without any form of serialization code.

Linux can also run without GUI altogether, which can save a few CPU cycles.

So does Windows 2008 Server Core.

I won't start about the (supposedly) superiority of open-source here, but LAM is surely stable (hey, my name :D). And you have freedom of the last component. Is that not nice?

The source of .NET is just a reflection away...but you wouldn't know that, because you've never worked with it.

I don't go out on a limb to trash on LAMP, despite having built several applications for that platform, what I really can't tolerance is ignorance, and your post was full of it.

FlySwat
+2  A: 

I personally use both stacks and the reason really depends on the client. If a client can support LAMP, it is certainly cheaper but it is important what the client or company can support.

As an independent developer I would not recommend LAMP when all of the client's assets exist on Windows. It is really a comfort level as either platform works equally well to solve any problem.

Rob Bazinet
A: 

FYI

MySQL $599/year/server for basic up to $4999/year/server for everything

MsSQL $212/processor/month for server web apps.

If you have a dual processor machine that's just over $5k for either MySQL or MsSQL, however, if you have more that two processors or only need MySQL basic the cost is cheaper than MS.

Pricing as of July 2010

mmcconnell1618