The State of JavaScript in Montreal

by NextMontreal on September 20, 2010

JavaScript Montreal group

This is the second article in a series on different technologies and the people who use them in Montreal. The first post in the series was about Python. This post, by Bruno Carriere, focuses on JavaScript. Bruno Carriere is the front-end development lead at Silanis Technologies. Prior to this he has been a freelance hacker, an electronic musician and a database specialist. He is not a JavaScript Ninja, preferring the title Tai Chi Master.

JavaScript: The black sheep of programming

For a language hastily put together over the course of a few months circa 1995, JavaScript has surprised a lot of people by its refusal to die and the continued insistence of its proponents that it is in fact a powerful, modern programming language with a solid place in software development.

JavaScript is somewhat of a black sheep amongst programmers. It is widely misunderstood. But if you do any kind of web development, you will have to use it whether you enjoy it or not.

Surprisingly, a lot of people will never get beyond the very basics of a third party library and copy-and-paste. You’d be hard pressed to find someone describing themselves a “JavaScript programmer” the way a C# or Java programmer would.

Things change

All this has changed a lot in the last few years. Ajax is absolutely pervasive; JSON is used in most web 2.0 APIs as a data interchange format. Open source successes such as jQuery and large scale efforts at Google and Yahoo have brought JavaScript into the limelight. The language now has a few high profile evangelists, most notably Douglas Crockford, JavaScript Architect at Yahoo. His Crockford On JavaScript video series is essential viewing for anyone wishing to learn more on the subject.

As the web move forwards, the complexity and sophistication of web applications is growing immensely. Creating highly interactive applications requires a deeper level of understanding of the language and its idiosyncrasies.

Javascript is no longer a marginal skill: it is now the most important programming language for front-end development.

What’s next

Today we are in the midst of another phase in Javascript’s evolution in which it can be seriously considered an option as a server-side language.

It is now possible to create high performance web services and applications using JavaScript everywhere in the stack: in the browser, on the web and application servers and in the database (CouchDB).

The ecosystem is still young and as a developer, it is a great opportunity to contribute to the shape of things to come in web development.

Montreal’s Javascript Community

In January of this year, Laurent and I were in the midst of writing our third large rich internet application (in Javascript). Having had the chance to work on such applications over the last few years, we had experimented with the language quite a bit and were craving feedback from other developers.

With the help of our friends we put together JS-MONTREAL, a user group dedicated to promote the use and learning of the language.

What we discovered is an eclectic community of developers: Web development / jQuery folks, designers, computer science and software engineering students, computer languages geeks. We see a definite overlap between the Ruby and JavaScript communities, as well.

Our group is growing fast and this month we have hosted our 6th meeting. Our new meeting space at the CRIM was filled to the brim with JS enthusiasts and we were treated to two fantastic presentations:

  • Jacob Beard, who is doing research at the Modelling, Simulation and Design Lab at McGill demonstrated his SCXML-JS project. This tool compiles Harel statecharts, a type of model which can be used to describe the behaviour of a web graphical user interface using standard UML tools, into JavaScript code.
  • Alexis Sellier took us through the basics of CouchDB and exposed the inner workings of his latest project, Thingler. An open-source real-time collaborative todo list built on CouchDB and Node.js, it highlights the power and simplicity of using a single language across the entire web development stack. Judging by the amount of discussion that followed, CouchDB is a hot topic at JS-MTL and it will surely be revisited in greater detail.

In the future JS-MTL plans to cater to more entry-level and intermediate programmers with core JavaScript language workshops and introductory level presentations of popular frameworks. So far our presentations have been quite technical and we want to make sure to attract novice programmers as well!

JavaScript jobs and notable projects

It’s no surprise that with the amount of web development happening in the city, JavaScript jobs are plenty. Most of the time this is coupled with the usual set of front-end skills (HTML / CSS) but as companies invest more energy into rich internet applications, the amount and quality of JavaScript code required increases.

Here are a few Montreal-based folks doing interesting things with JavaScript; past and present contributors at JS-MTL:

Montreal’s JS Scene: It’s only the beginning

It’s a great time to get involved in this burgeoning community. For better or worse, JavaScript is likely the most important computer language for the foreseeable future of the web.

Browsers are evolving, offering more and more options (Canvas, HTML5, Local databases, Web Sockets, etc) to create richer experiences.

Get involved, share what you know and keep hacking.