Adam Ralph

Software, tea, and snowboarding

NDC Diary - Pre-Conference Workshop Day 1

The NDC London pre-conference workshops kicked off today. After being recognised as NDC’s first ever London delegate, I headed over to ‘JavaScript: Getting your feet wet’ with Venkat Subramaniam.

Although I’ve necessarily tinkered with JavaScript over the years, my focus has been on .NET and C# for a while and I’ve let my JS fundamentals get rusty, to put it mildly. Venkat’s workshop was exactly what I needed to give my JS knowledge a badly needed refresher and teach me a few things I’d never known. We covered everything from syntax basics and quirks through to functions, functional composition, classes and prototypal inheritance. The assumed level of knowledge and pace of learning was just right.

The Red Pill

After a long JS drought, I recently had my first adventure using AngularJS. The application was rather simple and I found little need to write any bare metal JS. I was quite amazed how much AngularJS did for me and I knew it was protecting me from a lot of complexity but little did I know just how much.

Today the curtain was lifted. At times it certainly felt like Venkat was guiding us down the rabbit hole and after one day I’m sure I still have no idea how deep that rabbit hole goes. JS is in some ways incredibly clever, powerful and elegant, but in other ways it’s horribly ugly, dangerous and mind bending.

The first parts of the workshop were largely re-treading old ground for me with few surprises along the way (except a few minor shocks regarding scoping!) but the latter content surrounding classes and prototypes was mostly news to me. I had no idea JS held so much power (and danger!) in it’s prototypal inheritance system. Coming from C# I was quite astonished to discover what can be done at runtime in JS and my high regard for testing was solidly re-enforced!

I’m glad I attended the workshop and I now feel far more confident and enthusiastic about using JS in anger. I feel myself itching to implement an application using NodeJS, which we used for the workshop exercises.

Tommorrow: ‘Continuous Delivery’ with Jez Humble

Names to faces checklist

@mat_mcloughlin @venkat_s