by Leon Rosenshein

Programming In The Dark

We all know about serverless programming in general, and AWS Lambda in particular, but have you ever heard of Dark Dark is a holistic programming language, editor, and backend all in one. It sounds pretty intriguing. Everything is boiled down to http endpoints, datastores, background workers and scheduled jobs. Everything else is handled by the backend. It autoscales. it's highly available. Deploys in 50ms. Built in version control. Built in feature flags. See live traffic in your IDE. Of course, to get those benefits you need to learn a new language and IDE, and you give up all knowledge and control of how and where things actually happen.

I'm not part of the closed Beta, so I have no idea how well it actually works, but there are a lot of good ideas there. It might not be the right answer for something that needs to support starting hundreds of new trips/second and hundreds of thousands of concurrent trips, but there are lots of use cases that don't require that kind of scale. Think about being able to focus on the problem you're trying to solve and not needing to worry about all those pesky things that distributed systems bring to the table like consistency issues, race conditions, latencies, and SPOFs.

The value isn't really in the things that you can do, but in the things you don't have to do. Imagine a world where you don't need to set up databases, servers, routers, repos, hosts, CI/CD pipelines, or test environments. Complexity and cognitive load slow us down, and easing that burden makes us more productive.

Dark isn't ready for PrimeTime yet, and may never scale to our needs, but reducing complexity and cycle time is a good thing. That's what those of us down here in the engine room are trying to do. Our value-add is making it easier for others to focus on their value-add.