A Brief History of Time
We've always talked about our hardware upgrades and how well they perform. Our hardware architecture is, no doubt, critical to the success of the site, but the software that actually runs AnandTech.com is equally important. Recently, we performed a major architecture shift from a ColdFusion based back-end to Microsoft.NET. We thought that this would be an interesting article, to highlight the history of AnandTech.com from a software perspective.
In this article, we will discuss background information on the following platforms:
ColdFusion
Macromedia ColdFusion is a web-based language that focuses on the RAD development of dynamic web content. ColdFusion started off based on a C++ runtime that interpreted code within HTML templates and compiled it into PCODE, which was then interpreted by the ColdFusion runtime and delivered to the web server and, in turn, to the end user requesting the page. ColdFusion back then was similar to PHP and ASP. Recently, Macromedia decided to take the ColdFusion language to a standards based platform, JAVA. ColdFusion runs on top of almost any J2EE server; we used the ColdFusion standalone version, which uses Macromedia JRUN as the J2EE server. ColdFusion templates are written in CFML (ColdFusion Markup Language) and then compiled down to JAVA byte code and executed by the J2EE server. Macromedia used to be the only game in town, in terms of ColdFusion. Now, a company named
New Atlanta makes a ColdFusion server that also runs on .NET.
Microsoft .NET
The .NET platform is the new framework for building Windows based and web-based applications from Microsoft. It not only replaces the older ASP platform, but introduces some up-to-date languages that run on the Common Language Runtime, which is the backbone of .NET. The three main languages used with .NET are: C# (similar to C++), VB.NET (somewhat similar to VB) and J# (fairly close to JAVA). The beauty of this architecture is that it brings different developers together on a single platform. Those who wrote mostly in C++ or JAVA will probably choose C#; and those who are familiar with VB or more verbose languages will probably choose VB.NET. J# is there for the JAVA developer. Whatever language in which you write your code, it is compiled into an intermediate language, CIL (Common Intermediate Language), which is then managed and executed by the CLR. ASP.NET is simply another .NET based environment that allows you to write in any of the languages that run on the CLR. Its syntax is similar to ASP.
67 Comments
View All Comments
Brickster - Wednesday, July 28, 2004 - link
Great article!!! Thank you so much for publishing this, as it is a testament to Anandtech's drive to help the community understand and appreciate hardware AND software technology for all that it can help us in our personal and business ventures.Personally, I am starting a database driven website, and have been looking for advice on what approach to take. This insight has helped me TREMENDOUSLY, and I thank you for the article!
Keep up the good work and do let us know how things go!
Cheers,
Brickster
JasonClark - Wednesday, July 28, 2004 - link
Geesh jason, spell. Use what best fits your business.JasonClark - Wednesday, July 28, 2004 - link
AutomaticErik, and .NET has a lot of advantages over PHP, PHP is most certainly no better than .NET. They both have their uses, and their different target markets. Use what your best fits your business, thats the bottom line. PHP does not fit our system infrastructure, so we use .NET.washboard - Wednesday, July 28, 2004 - link
Maybe this is not the place, BUTUsing Mozilla 1.7 with "enable Java Script on" site loads very slow. With it off the site is snappy. Don't have the problem with IE. Have a very fast DSL connection. Love this site, keep up the good work.
Thanks
John Coleman
AutomaticErik - Wednesday, July 28, 2004 - link
I've been doing web design and database management for years and I've never once run across a project that wouldn't be able to use PHP/MySQL. I think most don't realize the true power you have with a PHP/MySQL setup. Its certainly every bit as powerful as any of the other soultions out there and in most tests and benchmarks, its faster and more efficient. I've even run personal benchmarks and found this to be true.All in all, people use what they are comfortable with and in that respect, PHP isn't for everyone. But it does hold many advantages over .NET. Most just don't mess around with it enough to find that out.
JasonClark - Wednesday, July 28, 2004 - link
Sling, we actually should run whatever we want to..., or whatever we feel works well in our environment. PHP isn't for everyone and holds no advantage over .NET. .NET is free, granted the OS is not but neither are commercial linux solutions like redhat or suse?. Again, we like windows, it works just as well as linux and fits our needs just fine.L8r.
SlingXShot - Wednesday, July 28, 2004 - link
Btw Jason, you have a bug. You should write some kind of script to warn the user when clicking Post Comment when this form box is empty.SlingXShot - Wednesday, July 28, 2004 - link
So many updates, you guys should have started with php, no costs running that. With PHP when there is an update, and you are using old code, there is always a easy very around it, with quick fixes. I can't wait to play around with PHP 5.SlingXShot - Wednesday, July 28, 2004 - link
sonicDivx - Wednesday, July 28, 2004 - link
Jason,Thx for the reply, yeah I was wondering would make a great case study. Also be a good lesson for developers. Glad its all worked for ya, and my interest is peaked in looking at VS 2003.
That's cool. I'll tell my co-worker who is Alpha testing Blackstone (next version of CF) that they really need to keep these things in mind.