Web 2.0 .NET vs. LAMP Part 1: Blurring the Line

Web 2.0 .NET vs. LAMP - Part IIt wasn’t that long ago that the line was drawn dark and thick and no techies dared cross sides. On one side of this line was LAMP, the Open Source way to produce web applications. On the other side was .NET, the Microsoft method to do the same. The cool kids have traditionally lounged on the LAMP side while the enterprise professionals, i.e., stogie old adults, have sat prim and proper on the .NET side. But these days, the line is not so clear.

LAMP is an acronym for Linux, Apache, MySQL, and any one of the 3 P’s of Open Source development environments: Perl, PHP, and Python. The cool thing about LAMP is that it’s free, there is plenty of example code, and it’s easy to install and use. A novice developer can throw together a LAMP web application in an afternoon of cut and paste, debug and test.

When I joined DoubleClick back in 2000 they put me through a test: Could I write a dynamic banner web application prototype? This server-side app would render text and graphics on the fly based on the geo-targeting of an ad. An instantly customized creative. So I did it the easy way—I grabbed a Linux server, installed Apache and MySQL and wrote the code in Perl. (OK, I patched the code together like Frankenstein’s Monster from CPAN)

But it worked and got me the job. Best of all I had never worked with LAMP before.

I have to admit web development was simpler then. This was way before the Web 2.0 revolution where richly interactive applications are asynchronously mashed together from various web services.

Now if I had to do the same prototype all over again I would eschew LAMP for .NET.

Just for fun I recently installed the express version of Microsoft’s Visual Studio Web Development environment on my home system (A Mac running Windows). I got the .NET version of LAMP in a couple of installs: Windows OS, IIS web server, SQL Server database, and C# programming language. I also got a great integrated development environment (IDE)–Visual Studio. Before Web 2.0 a young programmer really didn’t need something like Visual Studio. I did all of my early web work with a humble text editor. I still have a soft spot for TextPad (Windows) and BBEdit (Mac).

But Visual Studio does something really cool. It conserves complexity. It makes database-driven Web 2.0 development really simple. When I was at Apple we would have called something like Visual Studio Skis for the Mind. Sure there are excellent Open Source IDEs like Eclipse. But Microsoft has done a great job integrating Visual Studio into .NET’s components. Visual Studio is the standard other IDEs are measured against.

“Ah ha!” you say, what about the free part? Microsoft isn’t a bunch of hackers volunteering on their own time to gift the world with source code. This Visual Studio Express must be expensive! Nope. Its free. Anyone can download it and start coding like a respectable leet haxor. Sure, you’ll have to buy the professional edition if you are doing more than prototyping but the actual cost of production quality .NET web development is about the same as LAMP web development. (We’ll talk about that in Part 2.)

ADSDAQ is 90% Microsoft .NET. (The not .NET parts are a couple of third party tools.) We built it quickly and it runs quickly and smoothly. Usually when we have production problems it’s 10% not written in .NET that isgiving us trouble. (In Part 3 I’ll talk about why that is.)

John Pavley is the Chief Technical Officer at ContextWeb.

Read Part II: Web 2.0 .NET vs. LAMP Part 2: Development Costs

Related links on LAMP and Web 2.0 .NET: SocialText, Blogging Developer, Don Dodge, Geeks With Blogs, SQLBlog.com, PHP blog

Read the series:

-- John Pavley



Sphere It



Tags: ,

2 Responses to “Web 2.0 .NET vs. LAMP Part 1: Blurring the Line”

  1. KlangenFarben Says:

    Mr Pavley:

    Thanks for the job-application war story, it really held the piece together.

    Could you kindly expand on the last line… that is, what facilities does the .NET platform offer that compels you to prefer it to LAMP?

    cheers
    klang

  2. John Pavley Says:

    For quick and dirty prototypes LAMP is fine. So it .NET. It has become a matter of preference not judgement. ASP .NET is just as good as PHP or Ruby and the tight integration of Visual Studio with C# tips the balance for me. Large, complex, systems with many integration points are another matter. One great reason to choose .NET (or J2EE) over LAMP is Managed Code. 90% of ADSDAQ is code executed by .NET’s CLR (virtual machine). It’s the unmanaged code where programmers have to spend copious amounts of time looking for security holes, memory leaks, thread deadlocks, and other annoying little problems that can easily turn into major issues for a large system. Because quick and dirty projects can quickly turn into large and complex systems it makes sense to start with .NET now that there is no substantial advantage to LAMP development environments.

Leave a Reply

 

Additional Related Posts: Categories to explore: