Creating a new programming language for the web
What if web programming were reimagined from the ground up?
I’ve wanted to create a new programming language for years now. As someone who’s worked in web technologies for many years, at jobs and for fun, across multiple frameworks and paradigms, it’s always felt like something was off. Creating content for the web is an act of cobbling together pieces from different languages — HTML, CSS, and JavaScript — and giving the end result the guise of something polished and coherent.
I believe there must be a better way to create content on the web. A programming language that understands the web’s different technologies and unifies them in an elegant fashion. Making a new programming language is a daunting endeavor that may or may not pan out, but I’m steadfast that this kind of language should exist. I’ve even come up with a name for the language I hope to create: Poly — short for polyglot.
This publication is a way to document the challenge: creating a new programming language from scratch. I aim to make this write-up easy and accessible, as understandable as possible. Even if you don’t know any programming languages, I hope it can be valuable. And the end product I hope is much simpler to learn than the existing web stack, even if you have no experience as a web developer.
Writing about my process is also an exercise in accountability. I’ve tried creating Poly as a side project since at least 2016. I have a full-time job that I love working for in journalism technology, but I think this is the most valuable use of my time outside of work. Creating a language isn’t so straightforward nor is there any universally agreed upon approach. I can’t guarantee things will move quickly or go smoothly. This is not my first iteration trying to create Poly, and may not be my last. But I’ve learned a lot since I’ve started — about programming languages, design, project management, user experience, and so on — that I hope to share as I go. And all the code I produce will be made open source.
If this sounds interesting to you, feel free to subscribe below so you don’t miss the next issue. And I want to emphasize that throughout this process, I welcome any comments, criticisms, concerns, or collaborations.