4 ms·
Well, I guess the response to Rust just means people are still waiting for a language that: - has a very expressive and sound type system - provides a good mi
by prmph 3y ago
Well, I guess the response to Rust just means people are still waiting for a language that:
- has a very expressive and sound type system
- provides a good mix of paradigms (functional, imperative, object oriented, etc.)
- uses modern techniques to address the warts of many existing languages (nulls, exceptions, optionality, unsafe memory access, async, etc.)
- is (reasonably) fast
- comes with great tooling and docs
- is mainstream, general, open, and not tied to any particular vendor
Whether they are right to pin these hopes on Rust is one thing, but there's no denying there is still an un-addressed hunger for a next-gen open language that generally addresses many pain points with modern software development.
- yogorenapan 3y agoI think Zig is a step in the right direction. The simple syntax feels as pleasant as Go and the manual management allows for very performant software. It makes it easier to write safe programs but definitely isn’t as memory safe as Rust. The day we have a language as simple as Go/Zig and as safe as Rust will be the day we have a perfect language.
- dagmx 3y agoIMHO, if you stick to just unsafe rust, it’s got similar ergonomics to Zig. And the lack of safety in Zig to me is a move in the wrong direction for a language created so recently. The safety is the added complexity because so much of what we regularly do can fail in ways we don’t think about. The alternative so far has been to introduce some kind of automated memory management like reference counting or a GC. Rust in fact gets much simpler (but slightly verbose) if you wrap everything in an Arc. That’s why I say in another comment that Swift is the closest to a more accessible Rust. Granted, until Swift 6, it won’t go as far as Rust for thread safety. But for everything else, it is Rust without having to think about as much while writing.
- deleted 3y ago[deleted]
- dagmx 3y agoNow that Swift is on other platforms, I think it’s a good fit, especially as Foundation is being rewritten in pure Swift . Really good ergonomics, safe by default for many cases and getting more of rusts safety for others. Easy interop with C/ObjC/C++, which is a big deal for me because it’s what’s caused me to write less Rust/C++/Zig at all lately and focus on Swift.
- jwells89 3y agoI really, really hope that the energy cross platform Swift has been seeing lately continues and accelerates. It’s not perfect, but I find it productive and enjoyable to write. It strikes a nice balance between being strict and getting out of your way and doesn’t come off as pedantic as some languages with similar syntax.
- dagmx 3y agoI think the new C++ interop might help the momentum. Swift is now the easiest language IMHO to bind C++ automatically with. I really feel like easy interop in languages is the missing key to moving people into more safe languages.
- jwells89 3y agoTooling is also a factor I think. Last time I was playing with writing Swift on Linux, the official LSP with VS Code was alright (surprisingly even supporting debugging) but I found myself wanting a proper IDE.
- pjmlp 3y agoI doubt it, what makes Swift, just like Objective-C, it is the frameworks and IDE tooling. GNUStep went nowhere.
- jwells89 3y agoSwift on its own is already much more usable than Obj-C is and will only become moreso with the Foundation rewrite. It has a way to go but it’s possible to write useful software with it without Cocoa/GNUStep (especially if one is willing to lean on C or C++ libraries via interop), which was never true of Obj-C.
- The_Colonel 3y agoJVM and CLR tick all the boxes. Historically, there were performance complaints, but a lot of these were mitigated (AOT, heavily improved GC..., faster hardware). They are fast enough for a large majority of apps.
- pjmlp 3y agoAnd if one feels like using a Rust like type system, there is enough to chose from between Kotlin, Scala, F#, and even Haskell dialects.
- prmph 3y agoThere are many people, like me, who dislike anything Java: the language, the runtime/SDK, and anything built on top of these. I even refuse to install anything that requires the JRE. Might be an irrational stance, but my early experience of JRE hogging my machine turned off it forever. The CLR is supposed to be open now, but in practice, the ecosystem around it is still basically Microsoft.
- pjmlp 3y agoSo more confortable with Apple practices, or happy PinePhone user?
- satvikpendem 3y agoLooks like they're looking for OCaml, but sadly it's not as popular as most languages. Dart might fit as well.