Part of what makes Elixir such a joy to write programs in is how different the experience of debugging is from other languages I've worked with.

More often than not, debugging in other languages involves encountering an error, puzzling over that error, trying some things to figure out what caused that error, puzzling some more when that doesn't work, examining source files again and again, rinse, repeat, pull hair, only to eventually discover an hour later some stupid and trivial mistake.

By comparison, debugging in Elixir has mostly involved fixing trivial mistakes as soon as they're flagged without having to guess at them, and once those are resolved, thinking deeply about the abstraction one's dealing with and working out how one has gotten slightly off base about the canonical approach to using that abstraction, and then it just works.


The best comparison I can make is that programming in other languages is akin to day after day making oneself unfashionably late for an appointment desperately hunting for one's eyeglasses, only to find those eyeglasses have been tucked up above your hairline all that time.

Where programming in Elixir more closely resembles engaging with a compelling academic paper or work of philosophy, and finding the deep satisfaction that comes in that moment that the subject at hand just clicks into place.

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!