6 ms·
Ask HN: What's the Deal with HN and Rust?
Just curious, I see so much "pumping" around Rust, and as an engineer myself, I beg the question: why the hype here specifically?
- iExploder 5y agoinexperienced novices and disheartened veterans alike get infatuated with that new shiny thing ... the rest of just smirk at the pump articles, as we have achieved state of Zen and realize _all_code_is_garbage_ and that nobody, other than minuscule amount of people who ever had a git write access in their life, actually care or will ever care about code let alone a programing language the app was written in
- zppln 5y agoPretty much. People are gonna find ways to write atrocious Rust code just like they have with any other language, and no-one is gonna bother to check all the unsafe blocks. Severe bugs may be less prevalent, but life as a a developer will suck just as much. :)
- andrewzah 5y agoPeople do consistently audit unsafe usage. And I would rather have atrocious rust code that's memory safe, than atrocious C/C++ code that comes with a free package of CVEs. There are tools that explicitly exist for this use case, such as cargo-geiger [0]. There was some drama with a large framework called Actix a while ago due to the maintainer having a bit of a cavalier attitude towards unsafe usage. Etc. 0: https://github.com/rust-secure-code/cargo-geiger https://github.com/rust-secure-code/cargo-geiger
- zelphirkalt 5y agoHistory has shown though, that people do check all the unsafe blocks in some projects. I think that was Actix (web?) and probably others. So at least that part of the statement is already contradicted.
- zaphar 5y agoThere is a reason disheartened veterans gravitate toward a project like Rust. We've seen a lot in our career and much of what we do when it comes to our own tools is automate the detection and elimination of causes of bugs where we can. It is possible to recognize that "all code is garbage" and "it is a miracle anything works" while also still pushing our industry forward and improving lives for software engineers. A language like Rust is about a particular kind of ergonomic fix. It gives engineers tools to prevent certain kinds of bugs from the beginning if they properly utilize them. It gives you tools that other languages do not have built in so will require more work to use in a disciplined way. For some people they won't care. They aren't craftsmen they are factory floor assemblers. They glue stuff together and quality isn't the top concern. This is not meant to be a critique. There is a large market for that. IKEA serves an actual need for many people. By all means there is still a place for the Java, Node, Ruby, or Python developer out there. There is more of a market for factory floor assemblers than there are craftsmen. I personally though still prefer to be in the craftsmen category and for that reason Rust is exciting because it gives me tools that I would formerly have had to reach for OCaml, Haskell, or Lisp to use but makes them more ergonomic without introducing other issues at the some same time. It's a pragmatic application of concepts that we've been exploring since the 70's and finally get to see bearing fruit. Brushing it off as just the "next shiny thing" is doing it a disservice.
- PaulHoule 5y agoThe LISP comparison doesn’t ring true to me or even the ‘ergonomic ML’. There is nothing ergonomic about Rust at all compared to managed languages, but if you are willing to fight with the borrow checker you can get managed language safety with C speed. (I wonder though if we’d be better off with a closely integrated assembler and theorem prover if portability was not so important.)
- monocasa 5y agoYou don't really end up fighting the borrow checker after a while. At that point it approaches the ergonomics of managed languages, and particularly it's ML roots really shine.
- 5y ago
- chousuke 5y agoWhat's wonderful about rust is that by making ownership explicit and enforced, it enables less experienced people to learn those concepts and confidently use new approaches to write performant software without having to shoot off their own foot learning C or other languages where understanding ownership is necessary but not enforced. More experienced people will generally be happy to offload ownership tracking to the compiler and save some of their brainpower for other things.
- DerArzt 5y ago> More experienced people will generally be happy to offload ownership tracking to the compiler and save some of their brainpower for other things. For me, the great benefit here is we can explicitly mark down in the code if a parameter is mutable vs immutable. This is a gain since you know explicitly if what you pass in will be changed or not inside the function.
- andrewzah 5y agoRust was a shiny new thing back in like 2018. It gets talked about a lot because it has a lot of ergonomic and conceptual fixes that make life better. People like that. No, not every programming language is the same. "nobody, other than minuscule amount of people who ever had a git write access in their life, actually care or will ever care" So nobody, other than nearly every software engineer out there. Nobody, except the majority of people working in our field. Okay...
- gostsamo 5y agoIt solves a large class of problems that are not handled in C and C++. Some people are hyped that it can solve all problems under the son, while others don't like the hype talk or are deeply invested in C and C++ knowledge and don't like their belittlement.
- hcabral 5y agoWithout compare language/platform abilities, it looks like a major hype cycle like Node or even Java back in the 90s and early 2000s. I read HN and see a lot of stuff around Rust that I don't see elsewhere, so this is also kind of a "why here?" question too. =)
- gostsamo 5y agoI don't know where do you compare it to, but the advantages of rust are more technical and not so business oriented as Node or Java. Node and Java were "write once, use twice or more" and it was a major business saving of time and developer resources. Rust's advantage is correctness and lack of bugs which is harder to sell to execs whose horizon is the next quarter profits and not the long-term maintenance costs of the project.
- PaulHoule 5y agoI remember getting into a an argument about Java being overhyped in 1995 but you know Java is still here…. AWT is dead, Swing is dead, JavaFX is dead, applets are dead but Java is still heavily used.
- wing-_-nuts 5y agoJavaFx is dead?
- PaulHoule 5y agoThere isn’t anything you can do in Rust that somebody couldn’t do in C-Thulu, but the Rust version might be secure and the C-Thulu version won’t be.
- sgt 5y agoSometimes it feels that I'm being left behind since I don't use Rust yet. Better get crackin'
- dimgl 5y agoDon't feel too bad. I've been wrong plenty of times before, but my prediction is that the Rust hype will fizzle out outside of Hacker News. There's just a lot of use cases that simply don't need its guarantees, and I think developers sticking square pegs into round holes will cause some dissatisfaction in the future.
- mohanmcgeek 5y agoThat's how I felt in 2015. 7 years later, i still haven't learnt Rust and i don't see companies around here using Rust anyway
- leetrout 5y agoI know you are likely saying this in jest but I made this comment a couple years ago: > Also that the HN bubble will always make readers feel behind when in reality 90% of the industry hasn’t even begun to catch-up. I felt behind with K8S in 2016, for example, not realizing we were just seeing the wave form when I felt like it was cresting. [0] That being said I do have a goal of learning more Rust in 2022 :) I don't care for all the macro usage so I want to learn more about it so it feels less magical to me. 0 https://news.ycombinator.com/item?id=23448835 https://news.ycombinator.com/item?id=23448835
- notreallyserio 5y agoWhen you're done with Rust it'll be time to switch to working on Nix. Of course, if you're smart, you'll figure out a way to tackle both at once.
- ziml77 5y agoYou're not being left behind unless you're in the non-GC language space.
- PaulHoule 5y agoWell, many people don’t want to pay the factor of 2 performance cost of a managed language like Java and strcpy in C is Turing complete and most code has to portable to at least x86 and ARM (often both 32 and 64 bits) so assembly is out…
- bArray 5y ago> 2 performance cost of a managed language like Java It can be a lot worse too. Java lacks the ability to have really compact data structures and can not lean in too much into the hardware acceleration without becoming incompatible. You can't exactly set `--fast-math`. Shame GCJ got dropped. > strcpy in C is Turing complete Not something I've heard of - is this an abuse of Unicode? > most code has to portable to at least x86 and ARM (often both 32 and 64 bits) so assembly is out… (I've not looked into this deeply) - It should in theory be possible to offer translation from one architecture to another, but I guess it is much more effort than it is worth. Seems like if you could translate your assembly into LLVM equivalent assembly (or just use it directly), you could then build for the target architecture [1]. [1] https://stackoverflow.com/questions/7773194/is-it-possible-to-use-llvm-assembly-directly/7773347 https://stackoverflow.com/questions/7773194/is-it-possible-t...
- Jalad 5y ago> strcpy in C is Turing complete Maybe GP meant printf [0]? [0] https://www.ioccc.org/2020/carlini/index.html https://www.ioccc.org/2020/carlini/index.html
- chombier 5y ago> strcpy in C is Turing complete I was curious too, but my google-fu did not succeed. The closest I found is about printf being Turing-complete [1], which is also new to me. [1] https://www.ioccc.org/2020/carlini/index.html https://www.ioccc.org/2020/carlini/index.html
- PaulHoule 5y agoIt’s not the strcpy that’s Turing complete, it’s the return afterwards… this is not true about PASCAL and many other programming languages.
- _8j50 5y agoI haven't seen much pumping for Rust. It is a great language but I see Go and even Ada and Ocaml are mentioned a lot (relative to actual adaption) here. There are lots more esoteric languages getting hyped on HN. There was even a popular post about .NET the other day.
- skywal_l 5y agoBut .NET is still way more popular (by popular I mean used) than Ocaml, Haskell or even Rust no? (I could be completely wrong, just my impression).
- detaro 5y agoBut not necessarily by HNs audience, and it's perceived as "old and boring" and thus doesn't get as much attention, even if large changes happen (I notice this with C++, since that's what I primarily work with: There have been large changes in C++ over the past ~decade, but it takes a long time for people that have an established opinion based on older style to recognize that, a language thats obviously new sticks out more obviously) There's a cycle to these things, e.g. a few years back "XYZ in Go" was a lot on HN, because that was the new cool thing people were curious about. Now probably more people use Go, but it's not as interesting anymore as something people don't really know yet. And thus projects written in it don't highlight it as often, so even if they are discussed its not as obvious. OCaml and Haskell also aren't new, but haven't reached the saturation of "many people know them", so if something about them pops up its still interesting to more people.
- hyperman1 5y agoOne problem with new C++ is mainly that old C++ comes along for the ride. New C++ indeed is a lot better, but the chance that your codebase was created recently is quite low. You will have to deal with al the old C++ in there. The conflict between new and old C++ will cause some lavaflow architecture as a bonus. Even if you've got a greenfield C++ project, you're not going it alone. If you're a team of 10, it's almost guaranteed at least 1 of them will be programming like it's 1999 with no intention to change. Code samples by your vendor will not be up to date. A quick google will deliver a working answer from the good old days. It's like hydra. Every time you axe a block of old code, 5 new ones have sprouted up.
- softwaredoug 5y agoWhy do you think it's just Hacker News? I noticed on Manning (http://manning.com http://manning.com) "Rust in Action" was the top-selling book for over a month. I think Rust is just a hot topic right now.
- hcabral 5y agoBecause I use this as a technical source for many things on a daily basis. Other sites or communities still "balance" the conversation between all kinds of stuff, Python, Java, Node, C/C++, etc. Maybe startups have a stronger Rust following?
- rocgf 5y agoRust fixes some issues that haven been present in most mainstream languages for decades, while maintaining performance. There are many such languages or tools - Haskell (or other FP languages) or Erlang being among them - that have some vocal minorities that actually use them. The reality is that these language are highly unlikely to ever gain the traction they might arguable deserve.
- jstx1 5y agoAre you putting Haskell and Rust in the same category when it comes to likely future adoption? They seem very different to me - Haskell being unlikely to get much more traction, and the opposite for Rust.
- lucasyvas 5y agoSame take. I don't see Haskell / Erlang / Elixir and the like truly ever taking off. It's not because they aren't awesome (because they are) - it's because what they solve isn't as desperately needed as what Rust solves. I don't feel like this aspect is debatable. Our systems are miserably insecure and unwilling to trade off performance to become more secure. Without Rust or something like it, there's no chance - that's the difference. If those here are hoping for the hype to die down, they are going to be waiting a while.
- dimgl 5y ago> it's because what they solve isn't as desperately needed as what Rust solves. Undoubtedly, the issue of memory safety while remaining performant is a game-changer, but the word need is a bit strong here...
- danuker 5y ago> but the word need is a bit strong here... When 52% of curl's security vulnerabilities were due to it being written in C (mostly buffer overreads/overwrites), I say "need" is indeed adequate. https://daniel.haxx.se/blog/2021/03/09/half-of-curls-vulnerabilities-are-c-mistakes/ https://daniel.haxx.se/blog/2021/03/09/half-of-curls-vulnera...
- cp9 5y agopeople like it?
- rr808 5y agoI'd love a Rust job but there are even fewer around than golang and much less than C++. Any suggestions for a newbie?
- andrewzah 5y agoPersonally I'd take a job based on the pay & how much you like the company vs what specific tech stack they're currently looking for. When I'm getting paid to do it, I like just about any language; getting to use rust is just a bonus. You might also be able to select rust for a new project in the future. That said, I see postings from time to time in /r/rust. Maybe check the monthly HN hiring threads?
- stackbutterflow 5y agoMost rust jobs seems to require a few years of professional rust experience.
- jans23 5y agoWe at Nitrokey develop firmware in Rust and are looking for (also newbie) developers. You are welcome to send your application.
- dec0dedab0de 5y agoThere is a loud group of developers that want to get rid of C, because of it's lack of memory safety, and all the security issues that come with that. Also, there is still love for Mozilla, despite some of their annoying behavior lately. I don't think Rust is being promoted more than any other language people feel passionate about, but these things tend to go in clusters, so it may seem that way. I think if something specific to a language makes it to the front page, the discussion leads people into looking up things about that language, which then makes them discover, or remember something they think is worth sharing and repeat. The last few weeks I've noticed more Ruby than usual, I see clusters of Python and Go very often, and every year or so there are a few lisp stories in a row. Sometimes this also coincides with conferences. You don't generally see stuff advocating for bigger languages because they don't need advocates. Instead you might see particular libraries or techniques. I suspect the hype around Rust specifically is people that really like rust hoping that it catches on before it dies out like so many other technologies.
- rendall 5y agoYou're not wrong. HN Rust articles: 4 in the last 24 hours (not including this one) https://hn.algolia.com/?dateRange=all&page=0&prefix=false&query=Rust&sort=byDate&type=story https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu... HN Go articles: 0 in the last 24 hours https://hn.algolia.com/?dateRange=all&page=1&prefix=true&query=Go%20&sort=byDate&type=story https://hn.algolia.com/?dateRange=all&page=1&prefix=true&que... JavaScript: 5 in the last 24 hours - a much more popular language but none of these got to the front page https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=Javascript%20&sort=byDate&type=story https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que... Counting comments per article the difference is even more dramatic
- AnimalMuppet 5y agoWell, the Go 1.18 article dropped 3 hours after you wrote this, and has been on the front page ever since. 295 comments so far.
- lucozade 5y agoNot sure if this is interesting but only one of those Rust articles is about Rust or its usage. The rest are about programs written in Rust. For Javascript it's the opposite; only one is about something written in Javascript. The rest are about language or its usage. Not sure if one can say that that's an indication of pumping. Seems more an indication of usage.
- rendall 5y agoGood point. I don't know what "pumping" means in this context. Should we take this as an indication of community interest? Community members are using JavaScript, but interested in Rust and what it can do.
- holmium 5y ago"Pumping" in this context is a very thinly veiled pejorative. The original question is using it in the sense of a "pump and dump" [1]. They're implying that the amount of Rust content on HN is in some way artificial: it's the strike force[2] posting a bunch of articles, or its some startup throwing "made in Rust" in their title for attention, etc. As you might guess, it's hard to distinguish between a "pump" and general interest in something. And, of course, each probably does feedback into other. --------- [1] https://en.wikipedia.org/wiki/Pump_and_dump https://en.wikipedia.org/wiki/Pump_and_dump [2] https://enet4.github.io/rust-tropes/rust-evangelism-strike-force/ https://enet4.github.io/rust-tropes/rust-evangelism-strike-f...
- nivenkos 5y agoIt's pretty good and practical. The only real downsides are in the library availability and deployment vs. more established languages. I'd choose to use it if I could though, it has the least downsides of any language IMO.
- JonChesterfield 5y agoWasn't Amazon buying ownership of it recently? Seems a substantial disadvantage if that comes to pass
- bogeholm 5y agoAmazon is a member of the Rust Foundation, they haven’t “bought” the language. Edit to add: https://foundation.rust-lang.org/members/ https://foundation.rust-lang.org/members/
- JonChesterfield 5y agoHiring core devs and imposing control that way if I'm following the discussions successfully, e.g https://news.ycombinator.com/item?id=28513130 https://news.ycombinator.com/item?id=28513130. Interested in reasons to believe Amazon are not going to determine the future of the language, I'm at least six months out of date.
- zozbot234 5y agoLibrary availability is pretty much anything with a C FFI, that should cover a lot of ground. Deployment is also very simple, there are ways of making your app into a "portable", self-contained binary that will work essentially anywhere. Rust is also one of few languages that can seamlessly (e.g. with no need for an added runtime) target WASM.
- otikik 5y agoI do think the language offers some genuine advantages and strikes a difficult balance between features, practicality and speed. I think it has some problems as well (the learning curve is still steep, and I don't know if that's solvable). However I think the reason Rust gets attention here is because it is heavily used in crypto, which is regularly pumped in HN as well as in other places. (ducks)
- darksaints 5y agoNot sure if you meant cryptography or cryptocurrency, but assuming cryptocurrency...is it actually used that much? I can't think of any major cryptocurrencies that use it. All of the major ones are C/C++.
- conradludgate 5y agoI can only list Solana (from my experience in Rust spaces with people hoping to use Solana expecting us to be experts)
- ksec 5y agoThe unwritten rule of HN: You do not question or criticise The Rusted Holy Grail and the Riscy Silver Bullet.
- lumost 5y agoRust is really appealing for applications with native code. C/C++ is still responsible for somewhere between 20 and 50% of software depending on who you ask and how you count. These languages have a ton of legacy to deal with and persistent tedious memory leaks which introduce security issues etc. Rust doesn't have these issues owing to the "newness" of the language and the memory model. If you're are a C or C++ dev then this is very exciting. If you are an engineer who was always turned off of native coding due to C/C++, then this is very exciting. If you just like languages, then this is pretty exciting to.
- zozbot234 5y agoNot just native code either, Rust also makes WASM development practical in a way few other languages can.
- lumost 5y agoThat is one of the appeals of rust for me. I want one language that I can flip from - Native - Web - Distributed - ML - Service programming without having to switch toolchains. Rust is surprisingly close to achieving this.
- hcabral 5y agoThis is indeed an interesting point. I've worked with C/C++ and every single project or experience had some peculiarity: the platform, the compiler, some version limitation, etc.
- cyber_kinetist 5y agoFor that I see it as a matter of tooling more than the language design: wasm is nicely integrated into cargo and is maintained far better than other choices. You can also compile C/C++ to WASM if you want (and the language semantics definitely allows for it, since it doesn't have a garbage collector), but you just really don't want to deal with CMake while doing so.
- 5y ago
- Joeboy 5y agoMaybe to some extent it's a similar situation to git. Everybody knew CVS and SVN kinda sucked, there were lots of competitors, but they all remained esoteric until git, which a) had immediate "mainstream" adoption due to the linux kernel and b) was really good. Rust got early adoption due to Mozilla and.. is also really good.
- stephc_int13 5y agoRust might be a better C++. (Zig is the better C) The memory safety thing seems to be appealing to some people who believe it will dramatically reduce the security issues found in many software. (they usually know very little about actual security exploits) Rust is building a cult-like community around it, and I think it could be its demise, I personally hate it (the community)
- Gwypaas 5y ago> The Chromium project finds that around 70% of our serious security bugs are memory safety problems. Our next major project is to prevent such bugs at source. https://www.chromium.org/Home/chromium-security/memory-safety/ https://www.chromium.org/Home/chromium-security/memory-safet... > As was pointed out in our previous post, the root cause of approximately 70% of security vulnerabilities that Microsoft fixes and assigns a CVE (Common Vulnerabilities and Exposures) are due to memory safety issues. This is despite mitigations including intense code review, training, static analysis, and more. https://msrc-blog.microsoft.com/2019/07/18/we-need-a-safer-systems-programming-language/ https://msrc-blog.microsoft.com/2019/07/18/we-need-a-safer-s... Removing 70% of security exploits, especially those which can easily lead to arbitrary code execution compared to e.g. logic bugs or DoS issues right at the compiler seems like a huge win?
- stephc_int13 5y agoI took a look at the Chromium codebase a long time ago, out of curiosity. I am not surprised it is full of bugs and vulnerabilities, and yes modern C++ idioms are harmful in that regard. But I am not convinced that Rust is the solution.
- ohCh6zos 5y agoI might be part of the cult, so take this with a grain of salt. Rust is the first time a language had actually been exciting to me since the 2000’s.
- beepbooptheory 5y agoIt solves a lot problems, but mainly it solves problems in a kind of idiomatic way that makes it feel like a big paradigm shift, which contributes to genuine enthusiasm. This combined with the massive funding and community around it helps it feel like something you can give yourself to a be supported. Whether its the best solution or "deserves" its hype is not a real fruitful question you can ask, as there are many things you need a computer to do, and some of them aren't systems programming. Some things benefit from different kinds of ergonomics, thats ok. Is there a language that is more funded out there right now?
- skocznymroczny 5y agoAs someone who looks at Rust and other alternative languages every now and then. I think many C/C++ programmers are looking for an alternative. C/C++ accumulated a lot of legacy stuff over the years, and things like #includes, .h vs .cpp, non-trivial metaprogramming, limited IDE capabilities, no standarized package manager show how old these languages are. Compare it to Rust, which has one build tool/package manager. No more hunting down dependencies, arguing make vs cmake vs 20 other tools. 99% of projects just use cargo and building a project on every platform is just one cargo build run away. Compiler is smart and can show you many errors in your code that C++ never could. Old mechanisms like header files are replaced with a modern module mechanism. Also some interesting features like the traits system. All that with performance close to C/C++ and with increased safety. Also, there is a lot of hype behind the language making it reach critical mass. It's not surprising to see many people flock to it. Some people dumped C/C++ in the past for Java/C#, but these languages don't support the same usecases as C/C++ do. Rust does. Personally I dumped C/C++ for D years ago and don't regret it. It's not as popular as Rust is, and doesn't have the same ecosystem or big companies behind it, but it works for my needs. If Rust existed at the time I was looking for an alternative, I'd probably be using Rust now.
- bestouff 5y ago> 99% of projects I don't know where you got this figure from, but I highly doubt 1% of Rust projects use a different build/package system. More like 0.001% (this number is scientifically extracted from thin air).
- lumost 5y agoMost rust projects with special deps (libtorch) need another build manager. Regardless parent was implying that almost everyone everywhere uses cargo.
- spicyusername 5y ago99% in this context is an expression of speech. OP doesn't literally mean 99%, they mean "almost everyone". The actual numerical value is irrelevant.
- bArray 5y agoI know that Rust seems quite powerful, but after years spent invested into learning C-family languages (C, C++, Java, Javascript, etc) it's just a pain to learn. I've not personally spent much time in it, but I hear the biggest complaint is still the compiler support/performance being somewhat random. Can anybody here speak to that?
- Gwypaas 5y agoThe current issue is really to prevent rebuilding of entire compilation units. Incremental compilation helps somewhat but I haven't found it to be good enough when the size increases. My gut feeling is that it comes from linear or n^2 searches across the entire module due to e.g. parts of the trait system. There's no issue depending on huge crates, when they have been compiled. The first compilation can be painful though. This is especially a problem in CI environments where you need to be clever about the caching vs. clean builds. To solve this you can move to a workspace structure with internal crates, this makes local changes and tests very fast to compile. For the larger structure you only recompile what is needed starting at where the change originates in true DAG form. On the other hand you can't create dependency cycles. For a workspace setup look at for example Rust-Analyzer: https://github.com/rust-analyzer/rust-analyzer/blob/master/Cargo.toml https://github.com/rust-analyzer/rust-analyzer/blob/master/C...
- armchairhacker 5y agoIMO C++ was and is still the leading language for writing performance-intensive and memory-intensive applications (excluding Rust), and C++ is really flawed. Like, I know that Java and JavaScript and Python get criticism, but the fact is those languages are still usable compared to C++: - There are several different ways to do everything and half of them are wrong. For example, you can define an unsigned int type with "unsigned", "unsigned int", "uint32", "uint32_t", "unsigned long". Why are there 5 different types for unsigned integer? C++ also supports C-style arrays and pointers and casting, but most of the time you end up using std::shared_ptr and std::vector or std:array or static_cast or dynamic_cast instead. - Speaking of which, C++ is even more verbose than Java. Most classes will require 2 files, the .h and .cpp, and it's not exactly clear which code belongs in which. - The C++ compiler and parser is probably the most complicated compiler that ever existed. There is seriously no other language as complicated as C++. - C++ errors are very long, very verbose, and it's hard to even find where the error is. I literally had projects where I had a simple error (e.g. calling a standard library function with the wrong arguments), and I spent time trying to debug it because I couldn't even find the error location since the error messages were so long they went past the terminal buffer limit. - CMake is really bad. I can't speak much to how bad it is because I don't even really know how to use it despite working on multiple C++ projects. But I do know, trying to clone C++ projects with CMake they often fail, and that out of all the build systems I've worked with (including npm, Maven and Gradle), CMake is the one I still don't really understand. - The C compiler is also really slow. Static analysis is also not very good, even with the effort put towards it, because C++ is so complicated. - There is no easy way to declare a tagged union (excluding third-party libraries). There are also a few other features that Rust does which take a lot of boilerplate to implement in C++. - And on top of that, you have buffer overflows triggering security vulnerabilities. In conclusion, C++ is basically broken, which is why so much time and effort has been put into Rust. In fact, a lot of Rust design decisions (good error messages, simple package manager, tagged unions, the entire borrow checker) were put in precisely because of how badly they were handled in C++. Rust definitely has its own flaws, and is a lot newer and more unstable. But it's the best alternative that allows programmers to write performant and scalable applications which is not C++.
- tored 5y ago
- mamcx 5y agoHN is about interesting stuff. Rust is VERY interesting: Novel memory management, low-level, great tooling, can ACTUALLY compete against C/C++ across the board, have a lot of modern stuff: ML heritage, functional idioms (but you can do imperative code, not worry!), const/immutability promoted, NOT NULL thank you very much!, UTF-8 string "oh amazing", a lot of edge cases accounted for... And, with interesting tools you get people, interested, in build things. And things that before, you can't do without get the complain "but C". Now, there is NOT excuse to get into the bandwagon of Fast, Safe, yet ergonomic. -- And when something like this happens, it invigorate the "market" and other will try taking advantage of what this do good and what it not much (so, I see zig, Nim, odin, catapulted because Rust/Go/Elixir make people talk about programming languages)
- cb321 5y agoWhile Nim has of course evolved, it was first released publicly in 2008, and I believe began in private around 2003..2004. Nim is also safe [1] and competes fine with C/C++ across the board, IMO { as do many other PLs. }. [1] https://uploads.peterme.net/nimsafe.html https://uploads.peterme.net/nimsafe.html
- mamcx 5y agoI understand, and I don't say Rust was first, instead, that having high-profile new langs make people interested in new langs (like nim), because it draw attention to that...
- cb321 5y agoFair enough. I thought your text was only vaguely suggestive of an alternate timeline, and was just clarifying (and almost said so). :-)
- dang 5y agoIt's just at the peak of the hype cycle. Other languages/technologies have gone through this in their day - Node.js and Go come to mind. Eventually it settles. No doubt the advent of some new hotness would catalyze the process.
- pvg 5y agohttps://hn.algolia.com/?dateEnd=1262304000&dateRange=custom&dateStart=834192000&page=0&prefix=true&query=erlang%20day&sort=byPopularity&type=comment https://hn.algolia.com/?dateEnd=1262304000&dateRange=custom&... What are Erlang days for? Erlang days are where we live. They come, they wake us Time and time over. They are to be happy in: Where can we live but Erlang days? Ah, solving that question Brings the priest and the doctor In their long coats Running over the fields.
- nec4b 5y agoThere is also very bad moderation from HN moderators. Almost every thread discussing C/C++/Go is quickly spammed by Rust evangelist. Which makes it hard to discuss news about those languages.
- dang 5y agoIf you'd like to help with that, you could let us know at hn@ycombinator.com when you see offtopic or generic tangents. We downweight those when we see them, but we don't come close to reading everything that gets posted here. There's far too much.
- super_flanker 5y agoMy 2cents, I'm a software engineer and have been in industry for long time(~20 years). A new programming language doesn't excite me anymore as it used to do 5-10 years ago, then I encountered Rust and I really liked it. All my personal projects, small utilities are written in rust. I specifically look for Rust related HN posts. I think there are many people like me who appreciate rust as a programming language and they make such posts.
- pvtmert 5y agoI'd say rust is the *only* true open-source modern compiled language that can replace C/C++ Go: Too much Google influence and GC/allocation being constrained by it's authors. Swift: Same for Apple, see above Nim/Zig/Crystal/Elixir: Too behind in terms of widespread support and development. (At least not as good as rust)
- lamontcg 5y ago- learn to hate tuning Garbage Collectors - learn to hate memory safety issues once you master both of those bullet points, rust starts looking very attractive.