Javascript

Introduction

Javascript first appeared in the Netscape web browser around 1995, allowing a certain amount of dynamic behaviour to be iplemented by the browser when displaying web pages. Prior to that time, web pages based were entirely static containing of only formatted text and images supplemented with forms for data entry. Javascript allowed for a modest amount of processing to occur in the user's browser; in the early stages this was restricted to limited animation of images and the ability to do preliminary checking of form contents prior to the data being submitted.

Despite the 'Java' part of the name, Javascript bears only a superficial resemblance to the Java programmng language and should considered to be completely unrelated to Java. The name is commonly thought to be a marketing gimmic conceived at a time when Java was receiving extensive publicity.

Javascript served to meet an important need for web developers. Its initial limited functionality showed that there was clear demand for increased user-side intelligence in web pages. Javascript showed some promise of meeting that demand, but for several years a lack of standardisation in the language and its interaction with the content of the pages held it back. The lack of standardisation was exacerbated by rivalry and inconsistency between browser suppliers. For a time there was also a popular and partly justified belief that any 'active' content in web pages could be a security problem. Security concerns led to many users choosing or being obliged to disable Javascript in their browsers and this rendered it unusable for 'must-have' features in the delivery of web content. Javascript developed a deserved reputation for needing extensive workarounds to deal with browser quirks, which varied from vendor to vendor and even across releases of a single vendor's product.

Web standards evolved with time. Javascript was officially standardised by ECMA in 1997 and has been revised a number of times since then. Formally the standardised language is known as ECMAscript but informally it remains almost universally referred to as Javascript. Subseqent to the standardisation of the language, implementations in mainstream web browsers followed suit and now allow much wider use by web developers with confidence that it will work as expected across a range of browswers.

At the same time as Javascript was stabilising, the standardisation of HTML and CSS was allowing web developers to be presented with a clear model for the structure of web data and, crucially, the ways that it could be accessed and modified by Javascript. Additional features came into Javascript which allowed pages to update dynamically either by requesting data from the server or in response to updates pushed out from the server. This led to the 'AJAX' (Asynchronous JavaScript and XML) style of pages which greatly increased the interactivity of web pages as perceived by users and is now commonplace on sophisticated sites.

The Language

Javascript is an interpreted language typically executed in a user's web browser. Other implementations of it exist and it can be found in use elsewhere (in particular in web server application areas) since the language is not exclusively tied to browser evironments.

Like many languages the syntax of Javascript is derived from C: Perl, PHP, Java are amongst some of the better-known similar examples. Javascript implements objects, functions and variables in ways which make it relatively easy to learn quickly if you have a background in those other languages, though it is also notably different in certain areas and effort is needed to learn the Javascript way of doing things. Application libraries (such as jQuery) although not yet formally standardised can greatly speed application development and are of increasing importance.

At one time Javascript had a reputation as a quick-to learn, lightweight and rather simple language for trivial(ish) jazzing-up of web pages. It has outgrown that and is now a serious proposition which takes time to learn well. The time taken to gain proficiency should not be underestimated.

Learning Javascript

Javascript has moved on since the days in which inexpert web developers could get away with copy-and-pasting fragments of the language that they didn't really understand - the tactic never worked well and is even less useful nowadays. It's true that there are some simple recipes which can be learned and which don't require deep programming skills, but it's not where Javascript is of the most use.

Javascript is a mature and substantial programming language. As well as knowing the basics of the language a skilled practitioner also needs to be able to program well and to have a full understanding of the way in which XML objects can be manipulated either directly through Javascript or via one of the application framework libraries.

Gaining competence in any programming language involves two separate skills. The first is knowing how to program, a skill which is relatively language-independent. The second is knowing the language and its application in depth. Learning to program well is a skill that takes years of study and practice to acquire which cannot easily be compressed, but if you are new, then you only learn by getting started. Learning a particular language and its environment is usually a much shorter process and Javascript can be acquired by a skilled programmer without much difficulty, the basics in a matter of weeks.

GBdirect offers the following courses, availability varying by location and date