Yahoo.com. Microsoft.com. Google.com. Phoenix.edu. All of these are web sites that are used by millions of people every day. These sites help inform us, teach us, spend our money, and find better jobs. To the untrained eye, they are useful, functional, and pleasing to look at. Behind these scenes, however, is a group of programmers, designers and engineers that fall under a single name – web developers. They help to create the sites that web users view every day using such terms at HTML, ASP, Cold Fusion*, JavaScript and others. These web programming languages help define the modern website as well as enable users to accomplish their daily tasks in a more efficient manner. In addition, some of these developers are using their knowledge to assist users in places that are being restricted break free and experience the full Internet. Finally, they are helping to define the future of computing by combining traditional software with web-based initiatives in order to make portable computing a true reality.
The Internet began in 1957 with the launch of Sputnik by the USSR. In response to this launch, the US formed the Advanced Research Projects Agency. This agency was responsible for establishing US lead in science in technology applicable to the military. Over the next 10 years, top scientists from around the country worked to develop the protocols that led to the first transmission of packets over ARPANET on October 29th, 1969. This led to the creation of email (1972), computer to computer chat (1972), and the first international connection (1973). By the mid 1990s there were over 100,000 hosts online, and the first commercial dial-up company had been created.
During this time period, an interesting protocol was developed. Known as the hypertext transfer protocol (HTTP), it defined a method for letting users choose a link and be transferred to that information. That information could be in any format, though the most common is hypertext markup language (HTML). With this technology, developers could create documents that interacted with the user, rather than documents that the user just read. For example, a developer in California could write a document that linked directly to another document in Korea without having to copy all of the information into his own paper. He could simply create an HTTP link that would take the user to the Korean document.
The advantages to this were readily apparent. Scientists could now link to and access documents from around the world, without having to have them sent to them via mail. Messages could be exchanged almost instantaneously, allowing for communication from around the globe. Then, more information was added. Pictures could be sent with the documents. The software was developed that allowed audio to be transferred over the Internet. Eventually video was also added to the list of items that could be transferred with data from anywhere to anywhere.
Businesses and organizations realized that the Internet would be vital to their success as a company. They started hiring programmers to learn the new HTML language and develop web pages for their company. The first web pages were very basic, only displaying bits of information about the company, and possibly the company’s logo. At this time, most users were connecting over modems ranging from 300 – 2400 baud (.3k – 2.4k modems). Home users were excited by the simple action of receiving text information from somewhere other than their computer, so the company’s site did not have to have a lot of flashy graphics to catch their attention. It just had to be there.
Over the next 6 years, the developers and engineers grew unhappy with the Internet. While it was performing tasks thought unaccomplishable just 50 years before, it was starting to lag behind in functionality. Users wanted to use it to perform business, not just click around a brochure web site. One of the first languages introduced to the web was Perl. This language was used to process forms, allowing a user to fill out information on a web page and submit it to the web server. This server would then parse through the information, and perform some action. These actions ranged from capturing the information into a text file, to emailing the contents out to another person. However, Perl was a rather cryptic language to work with. Functions like "my $strVariable = shift" worked well, but were not easy to understand or learn.
In addition to these challenges, developers had a new concern – browser wars. To view the content written with HTML a user needed to have a piece of software that could convert it into meaningful text and pictures. The two most popular types of software were Microsoft's Internet Explorer browser and Netscape's Navigator browser. While both browsers made attempts to adhere to a standard, developers creating web pages found that there were many differences between the two. Eventually, developers started using a language called JavaScript to determine which browser was being used, and then redirected the user to the appropriate page. JavaScript differed from Perl in that it was a client-side language, or, it resided and ran on the users machine instead of the web server. This allowed the web page to have additional interactivity features without having to transfer information to and from the web server.
Today, the web language programming field is full of contenders. Along side Perl are Microsoft's Active Server Pages (ASP), Macromedia's Cold Fusion* (CF) as well as the open-source Hypertext Preprocessor (PHP) and J2EE/JSP technologies. These languages allow developers to create full-fledged web applications that can process credit cards, send out email messages, display web pages to mobile phones, even read and write information to a database. In addition, some of these companies have attempted to make the development easier to understand. For example, the Perl function "my $strVariable = shift" could be written as "<CFSET strVariable = Form.variable>." While still not fully intuitive, these languages help to speed up the learning process and lower the learning curve while producing a powerful application that is dynamic and interactive.
As the future of web development and the Internet progresses, we will see even more intriguing applications that extend the power of our computers (and other devices). It is hard for one to imagine that in just the past 50 years we have gone from a USSR satellite launch to a method and technology that has reshaped almost every aspect of our society. So while most users will see just a web page, that web page is the result of the implementation of scientists, developers, designers, engineers, and programmers. Each day brings the technologies of the web closer, produces standards that eases the jobs of developers, and opens new doors to the future.
* - Macromedia's product is formally known as ColdFusion so as not to confuse it with the much more impressive scientific theory. I write it as Cold Fusion because I am unimpressed that ColdFusion is truly worthy of being treated as a Real Word(c). (ManyThanks to Lennon for nit-picking that out.) :)
Node your homework!