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:
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.
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.