• 0 Posts
  • 15 Comments
Joined 1 year ago
cake
Cake day: June 19th, 2023

help-circle

  • I used to feel this way. Over the course of building out 2 calendar systems in my career (so far) and having to learn the intricacies of date and time-related data types and how they interact with time zones, I don’t have much disdain for time zones. I’d suggest for anyone who feels the same way as this meme read So You Want To Abolish Time Zones.

    Also, programmers tend to get frustrated with time zones when they run into bugs around time zone conversion. This is almost always due to the code being written in a way that disregards the existence of times zones until it’s needed and then tacks on the time zone handling as an afterthought.

    If any code that deals with time takes the full complexities of time zones into account from the get-go (which isn’t that hard to do), then it’s pretty straightforward to manage.



  • This is why many languages have errors and warnings as separate things. Errors for things that for sure prevent the program from working, and warnings for things that are probably wrong but don’t prevent things from working. If you have a setting to then treat warnings as errors (like for CI checks), then you get all the guarantees and none of the frustration.







  • I’ve gotta go with Elixir. I’ve been using it professionally for about 7 years now, and it’s been amazing to see it grow in the way it has. It’s very well-designed, based on a rock-solid foundation (Erlang/OTP), has an amazing standard library with fantastic documentation, and has a strong culture of pragmatism and developer friendliness.

    I personally work in web dev, and Phoenix has consistently shown itself to be an extremely capable web framework. LiveView has kicked off a new paradigm for making web applications that most major languages are copying.

    There’s a solid embedded story with Nerves, and serious foray into ML/AI with Nx. It’s obviously not suited for the lower level stuff, but that’s when Rust integration with Rustler comes in. Many wouldn’t be interested in Elixir because of it’s dynamic typing, but there’s serious effort by the creator and a research team into developing a gradual type system for the language.

    Just an overall solid language that’s extremely pleasant to use with a really healthy and (slowly but surely) growing community.


  • I really love Elm, and it challenges the common notion of what it means to be a “healthy” language/ecosystem. It’s a beautiful passion project that can really only be used if you adhere to the vision of its creator, but it’s a really admirable and utopian vision.

    The reasons for it not being very popular are pretty clear (slow language evolution, “one way to do anything”, perfectionist design), but it’s an extremely cohesive and friendly language. I’ve never used it for anything serious, but I hope it stays around. Clearly the creator isn’t aiming for widespread adoption, but I hope that the niche it’s created grows nonetheless, because it’s a lovely ecosystem and community.





  • Keybindings really can make a huge difference, whether they’re existing ones you discover or ones that you create.

    I remember discovering VS Code’s default key binding for “going back” to the previous cursor position (going across files), which is Ctrl±. That really reduced the mental load of keeping track of which functions/files I was visiting and made me feel more at ease jumping around, knowing I could easily get back to where I was. If you need more context on some code you’re writing/reading, you can more easily go off on little tangents to gather whatever context you need, and that speeds the whole process up.