4 ms·
Hey author here, I Would love to know why :)
by sylvain_kerkour 6y ago
Hey author here,
I Would love to know why :)
- __s 6y agohttps://en.wikipedia.org/wiki/No_Silver_Bullet https://en.wikipedia.org/wiki/No_Silver_Bullet Praises are generally dismissed when they seem to contradict this principle
- sylvain_kerkour 6y agoNever heard about that before but I will dig the matter for sure. That being said I'm sure that rustaceans disagree about the "No Silver Bullet" part (when you can compile to WebAssembly, write HTTP / TCP servers, embedded development and much more).
- Jare 6y agoI love Rust, but I'm pretty sure it is not the best language for exploratory programming or quick prototyping.
- lostcolony 6y agoEven excluding network and org effects - For distributed problems I'd prefer something like Elixir. This may even be true for web dev (I admit I haven't explored it as much in Rust; just, a lot of what I've had in web services is IO bound, with strong process isolation expectations, and that's perfect for Elixir) For heavy math, Julia or maybe Python + libs. To build a DSL, a Lisp. For something largely integrative of other libraries, whatever language those libraries are built in. For certain types of problem solving and optimization problems, a logic language like Prolog. Etc.
- waiseristy 6y agoNo no no... You're just not using enough Rc<RefCell<>>'s /s
- nicoburns 6y ago> I'm sure that rustaceans disagree about the "No Silver Bullet" Rustaceans tend to be a pretty practical bunch, so I'd imagine most of them do agree with it. It was also the one part of your post I didn't agree with (if taken literally)
- akiselev 6y ago> That being said I'm sure that rustaceans disagree about the "No Silver Bullet" (when you can compile to WebAssembly, write HTTP / TCP servers, embedded development and much more). I'm certain they don't. For one, Rust can't even be used in a niche but important class of safety/mission critical software until a certain level of certifications (i.e. DO-178C) are reached so by that measure alone it is disqualified. For two, what targets the languages compile to are a necessary but far from sufficient measure of a language's practicality - the most important ones have nothing to do with the language and everything to do with ecosystem and tooling.
- blacktriangle 6y agoI feel like there should be a contradictory meme along the lines of "Don't need 100 wrenches, just a crescent." While it's doubtful there's a single programming language to rule them all, I seriously doubt the panoply of languages we are faced with is the optimal solution. At some point as a developer new languages stop bending your brain in new ways, they just become the same thing with all new baggage to deal with. I can certainly see where a person is legitimately in search of the last language they ever need to learn.
- frenchy 6y ago> "Don't need 100 wrenches, just a crescent." Is that contradictory? Non-adjustable wrenches still exist, and are still used on a regular basis. If you do a lot of work on at a single size they're nice because they weigh less, fit in smaller spaces, and you don't have to worry about then getting jostled and changing size on you.
- blacktriangle 6y agoYeah it's not the best analogy, but I think the rest of the idea still stands. I don't think a person looking at a language and thinking that it could be their silver bullet discredits their analysis, and Rust in particularly does seem well suited for that possibility with it's ability to address both low-level and high level programming.
- frenchy 6y agoFair point.
- NortySpock 6y ago"it's the last programming language I learned. Ever." This implies that you are going to stop learning, that you are not open to learning anything more, and that your ego is such that you think you are above having to learn anything else, having reached the peak of perfection upon which you can gaze down at everyone else as being not as enlightened as you. This is, of course, folly. Just as one who thinks himself the best to rule the kingdom is probably the worst choice for the job, so too the one who thinks himself 100% enlightened is the least likely to actually be considered enlightened by his peers.
- cy_hauser 6y agoDon't know your age and assuming "learned" is supposed to be "learn" but ... With all the languages that sprang up in the last 25 years, including Rust itself ... You really don't think there will be another language that's going to be worth learning in the next, say, 25 years?
- brundolf 6y agoIf I were only allowed to use one language ever again it would probably be Rust, partly because of how versatile it is. But nobody is imposing that limitation, and a willingness to continue learning is important as an engineer. Not only because there will always be languages better-suited to certain tasks than Rust is, but because you can learn things from other languages even if you don't end up using them directly. It's a big world out there.
- eldavido 6y agoI tried Rust this past weekend. It feels like a language that delivers on the promise of C++ -- fast, good "static" tooling, no VM, scalable to large projects -- but if C++ was designed today, with 40 years of hindsight and we could eliminate all the crazy legacy. Something I realized doing c++ professionally for the first time last year, it's nearly three different languages. There's an inner core of procedural C, the mid-90s new/delete/raw pointers OO business that got big during the heyday of COM/ATL/other Microsoft technologies, and then what's come to be known as "modern C++", with smart pointers and a lot more automatic stuff. What I most enjoyed about C++ is how, as someone put it, it feels like an armory with everything on offer from a pocketknife to a nuclear weapon. It integrates with everything, you can write code any way you want from embedded assembly up to functional, and it runs everywhere, on any platform, and can link with Android, Windows, Linux, .NET, Java, whatever. I'm starting to think garbage collected languages are headed for obsolescence. Like maybe, with better languages, we could ditch all the bullshit of pip, and gems, and all that, and get back to a time where you could just download something, run it, and not have to worry about some gigantic runtime environment that eats all your memory and requires a ton of configuration. It we could pull that off without making it incredibly hard to write simple code, that'd be cool.
- brundolf 6y agoGarbage collected languages are still better-suited for certain things. You can make most of those things work well enough in Rust by using Rc<>, but a) it's really clunky, and b) reference-counting has caveats, like the fact that it doesn't work for circular references. Swift solves (a), but not (b). On top of that, for programs where you need to constantly allocate/deallocate, I believe (could be wrong on this) that amortized over time, sweeping GC is quite a bit more efficient than reference counting. This is extra relevant once concurrency gets involved, because now your reference-counters have to use an atomic or locking mechanism. In short: I'm pretty sure GC isn't going anywhere, even if some of its usecases start to get covered by non-GC'd languages.