The educational side of uilang

Or how to de-dramatize getting into programming

I started learning JavaScript a few years ago. I heard jQuery was a good entry point, so I went to the site and tried to figure out how to use this “easy-to-use” library. It was, to say the least, everything but “easy” for me to get started. I remember being completely lost, not only because of the foreign syntax, but also—and especially—because I had no idea how to conceptually approach things.

I created uilang as a way to have designers get their hands (not so) dirty, providing clear guidance on how they should think about event handling. The language is extremely limited on purpose. It puts front and center the idea of selecting elements, listen for an event, and react to that event by manipulating classes on the same or other elements. That workflow may seem obvious to experienced developers, but it’s not something a designer with no programming experience can suddenly think of out of the blue. Part of my goal with uilang is to help designers grasp that concept, and realize how many interactions they can code with it. As a side-effect, it also promotes best practices by making clear CSS is the way to go for manipulating elements.

While this extreme simplification of JavaScript is good to remove the barrier to entry to programming, designers will presumably feel the need to do more than the possibilities uilang provides them with. That’s good. If using uilang for just a few days gets designers excited about code and helps them switch to JavaScript, I’ll be very happy. Mission accomplished. I don’t need people to use uilang forever. It’s a starting point, an appetizer that addresses your first needs and get you excited about the rest.

Now, the transition from the plain English, 1-line syntax of uilang to actual JavaScript isn’t straightforward, to say the least. In order to mitigate that issue, I built a transpiler. Enter a few lines of uilang, hit Convert and you get real JavaScript code you can copy/paste into your document. It’s arguably not perfect, but it’s a first step into their JavaScript-learning journey.

It is, of course, also completely fine to stick with uilang. It’s fast, future-proof, and the possibilities are endless. It even makes sense to use it when you do know JavaScript, for example to speed up your prototyping process. Whatever you choose though—uilang, JavaScript, or anything else really—choose to code. I bet you will like it.

Happy coding!