• 0 Posts
  • 19 Comments
Joined 2 years ago
cake
Cake day: June 19th, 2023

help-circle


  • Skipping React hydration… so, only rendering on the server? BBC just re-invented server-side rendering, bravo 👏😆

    I say this as an 8-year React developer. Damn, our industry really drank the kool-aid on on this one. Of course, plenty of people have been saying that React for static content like this has always been a misapplication of the tool, I’ve been reading opinions like that the entire time I’ve been working with it.

    I’m glad BBC is doing this, though. Legitimate kudos to them for recognizing the issue and working towards fixing it. I actually think there are some great benefits that React has given us:

    • A universal component interface for all JavaScript-targeting languages
    • An enormous ecosystem of components
    • Popularization of the “component model”, which has spread to basically every other language that is used to render user interfaces (the mental model is just that much better)
    • A quickly-evolving (React is arguably on its third major paradigm shift) testbed for what works best for UI development

    I would be happy if React was supplanted in the near future, but I also have some fondness for it. I know I’m way off topic on this post, just felt like talking about React.



  • 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.