• 2 Posts
  • 94 Comments
Joined 1 year ago
cake
Cake day: June 1st, 2023

help-circle

  • Understand what tradeoffs different solutions make, then inform your decision on that. A fairly general principle for example is that the more cross-platform compatible a solution is, the less well-suited it will be for any given platform in terms of looks/behavior/performance. This may or may not matter for what you’re building.

    There are inherent qualities to some solutions (for example, a particular library may make for good solutions on a certain platform), and some qualities will be situational (a particular library is good for you because you happen to know the language/patterns/framework/whatever).

    I personally like to build things in Kotlin and Jetpack Compose, but that’s because I primarily build mobile apps for Android and I like the reactive UI paradigm that underpins this library along with the language that it’s written in. I would perhaps reconsider if I were building a desktop app (not as well supported), and definitely reconsider if I were building a web app (definitely a poor fit).

    So yeah, start with what you’re building and what its requirements are. Then think about what you already know, and finally put those together when evaluating a UI solution.







  • While Rust would probably have been a good choice for implementing a new browser, I don’t think Swift deserves the criticism it’s getting in this thread:

    • Swift was created by the same person who created Rust, and has many of the same nice traits
    • Swift is a modern language that is easy for plenty of developers to pick up; I’d place it in the same family as Rust and Kotlin
    • Swift grants access to a large pool of native iOS/Mac developers










  • Go is in a good position, yeah. JavaScript has prettier, which is nice. Java has google-java-format. Python has ruff, which is quite good. Kotlin has ktfmt, which I believe made a mistake with their standards by not following the standard formatting guidelines for the language, but whatever. Uniform and deterministic for the win.




  • Those things sound super great… but they’re of course all meant to keep you working around the clock, meeting deadlines.

    This is not going to be universally true at all big tech-companies. There are places with perfectly reasonable WLB on top of huge salaries and fantastic perks.

    These places are usually big enough that you’re going to see extremes on both ends within the same company - some departments with huge deadline pressure cultures, and some with highly relaxed work settings. It can be a bit of a gamble.