TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Five Years of Rust

293 pointsby pietroalbiniabout 5 years ago

13 comments

ojnabieootabout 5 years ago
The progress on the error messages truly is worth highlighting, and kudos to the team for all the hard work there. It's one of the hardest things to get right in a programming language, particularly if that language has a fussy compiler.
评论 #23193360 未加载
评论 #23191244 未加载
评论 #23194542 未加载
jasodeabout 5 years ago
Now that there's been 5 years since v1.0, is there any consensus on design mistakes that Rust made? Any mistakes that people wish they could turn back time and do differently but can't because it would break compatibility with too much existing code out there? That's the more interesting list to me.
评论 #23193449 未加载
评论 #23191385 未加载
评论 #23191314 未加载
评论 #23193778 未加载
评论 #23192652 未加载
评论 #23191527 未加载
评论 #23191374 未加载
评论 #23193400 未加载
Multicompabout 5 years ago
Is now the time to start learning rust? In your estimation, are there going to be lots of job opportunities for people who have 15 years experience with rust?<p>I primarily live in the .Net world, but rust seems extremely close to f# in terms of compiler safety, and I&#x27;m trying to decide what programming language to learn next.
评论 #23191552 未加载
评论 #23194074 未加载
评论 #23194048 未加载
评论 #23191566 未加载
评论 #23197612 未加载
manaskarekarabout 5 years ago
Non-Lexical Lifetimes was huge. Impressive list.<p>I hope the next 5 years bring compiler speed ups.
评论 #23191346 未加载
评论 #23191414 未加载
lllr_fingerabout 5 years ago
One of my favorite things with Rust is how other things are starting to use it. Just yesterday I started playing with Deno and was anticipating a severe lack of database bindings. Some people used the built-in Typescript-&gt;Rust message passing to make a tiny shim around the Rust bindings for things like MongoDB: <a href="https:&#x2F;&#x2F;github.com&#x2F;manyuanrong&#x2F;deno_mongo" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;manyuanrong&#x2F;deno_mongo</a>
mindv0rtexabout 5 years ago
I hope Rust adds the major anticipated features (GATs, const generics, specialization) soon, or alternatively decides to not implement them altogether. I&#x27;m a rather new Rust developer, but still I very quickly ran into the issue of needing a nightly version of rustc because one of my dependencies (PyO3) relied on one of these features. It would be awesome to have some periodic updates from the compiler team on the progress thereof.
评论 #23195231 未加载
评论 #23191965 未加载
评论 #23191886 未加载
aeyabout 5 years ago
The killer feature of rust is rapid incremental improvement of the language. Every quarter something gets better.
评论 #23191398 未加载
ncmncmabout 5 years ago
Rust is on track to soon--within ten years--become an industrially important language. I see no other language on the horizon that could take Rust&#x27;s place alongside C++, in the places where they both excel.<p>That is not to say it <i>will certainly</i> become industrially important. It depends entirely on the numbers. Today, the total number of working Rust coders may be less than the number who start coding C++ in any given week. (This is a simple consequence of the difference between a base of thousands vs. millions.) But if it can sustain exponential growth long enough, and nothing else comes up in the meantime to take the wind from its sails, it should get there.
arcadeparadeabout 5 years ago
What’s the best resource to get started with Rust and make a desktop app?
评论 #23191675 未加载
评论 #23192472 未加载
评论 #23193200 未加载
评论 #23193403 未加载
jeffdavisabout 5 years ago
I&#x27;ve been working on postgres-extension.rs[1]. The idea is that, instead of writing a PostgreSQL extension in C (which is the only option for interesting extensions), you can also write one in pure rust.<p>I&#x27;ve eagerly awaited many features to make this work reasonably well, and I&#x27;ve been very pleased how much rust has helped my use case over the last few years.<p>Although lots of languages have a C FFI, that&#x27;s really not enough to extend a complex codebase. Postgres has it&#x27;s own setjmp&#x2F;longjmp-based error handling, it&#x27;s own system of allocators, it needs a way to find the right functions in an extension and call them the right way, its own way of dealing with signals, etc. There are zillions of internal structs, and the extension needs to be able to read&#x2F;modify them without copying&#x2F;translation. Oh, and also, postgres doesn&#x27;t like threads at all, so the extension better not make any (at least not ones that call back into postgres APIs).<p>The only language even close to getting all of this right is rust:<p>* it has no runtime that causes problems with threading, scheduling, signal handling, or garbage collection<p>* typically GC&#x27;d languages can&#x27;t operate very well on unmodified C structs; rust doesn&#x27;t have a GC so it can<p>* rust goes out of its way to support C-compatible structs without any copying&#x2F;translation, and can even treat some plain C representations as more interesting types in a binary-compatible way (like a nullable pointer in C could be treated as an Option&lt;&amp;MyStruct&gt; in rust)<p>* the tokio library allows nice concurrency without creating threads if you use the CurrentThread runtime<p>* it supports changing the global allocator to be the postgres allocator<p>* rust has good procedural macro support, which is important because a lot of postgres APIs heavily use macros, so making the rust version ergonomic requires similar macro magic<p>Areas rust could be more helpful, but which I&#x27;m trying to address on my own to the extent that I can:<p>* Support for setjmp&#x2F;longjmp. I know this is not easy, but important for interacting with C code that already uses it. I realize it would be unsafe, and that it can&#x27;t be wrapped up in a safe way directly, and it would be delicate to create safe APIs that use it at all. But I still want it. I made a crate[2] that adds support, but it has a few issues that can&#x27;t be resolved without compiler support.<p>* Better support for cdylib shared libraries that might call back into the host program that loads the library. Right now, you have to pass platform-specific flags to get it to link without complaining about undefined symbols (because they won&#x27;t be resolve until the library is loaded into the host program). Also, it&#x27;s difficult to test the shared library, because you have to guess at the location of the built library to be able to tell the host program where to find it before you can begin your test. I made a crate[3] to help with these things also, but it would be nice to have better support.<p>Oh, and one more thing on my wishlist not directly related to this project is that it would be nice to have support for datastructure-specific allocators (like a mini-allocator just for a hash table). Then, you&#x27;d be able to monitor and control memory usage by inspecting that allocator; and when you destroy or reset the hash table, you can know that the memory is freed&#x2F;cleared as well (without worrying about fragmentation). Maybe these mini-allocators could also be used in other contexts, too, but it would probably be easiest to get the lifetimes to work out if it was tied to a data structure.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;jeff-davis&#x2F;postgres-extension.rs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jeff-davis&#x2F;postgres-extension.rs</a> [2] <a href="https:&#x2F;&#x2F;github.com&#x2F;jeff-davis&#x2F;setjmp.rs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jeff-davis&#x2F;setjmp.rs</a> [3] <a href="https:&#x2F;&#x2F;github.com&#x2F;jeff-davis&#x2F;cdylib-plugin.rs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jeff-davis&#x2F;cdylib-plugin.rs</a>
joshlkabout 5 years ago
Is there a roadmap for the next 1&#x2F;2&#x2F;5 years?
评论 #23191409 未加载
评论 #23191390 未加载
评论 #23191225 未加载
easytigerabout 5 years ago
Rust mods have to stop listening to the elite language intelligentsia.<p>Successful eco systems are pragmatic and idiomatically straightforward.<p>Everything &amp; the kitchen sink in a language is not a recipe for success.<p>Every language that has a long lifespan spent a long time in feature minimal stasis too. The world won&#x27;t learn a moving target.
评论 #23191773 未加载
评论 #23191504 未加载
评论 #23191786 未加载
评论 #23191757 未加载
评论 #23191480 未加载
sandGorgonabout 5 years ago
Is the current status of Rust that it is slower than Go ? According to this previous post - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=23058147" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=23058147</a>
评论 #23191254 未加载
评论 #23191259 未加载
评论 #23191240 未加载
评论 #23191250 未加载
评论 #23191391 未加载
评论 #23192913 未加载
评论 #23191277 未加载