|
|
Log in / Subscribe / Register

Rust 1.0 alpha released

Rust 1.0 alpha released

Posted Jan 12, 2015 21:17 UTC (Mon) by roc (subscriber, #30627)
In reply to: Rust 1.0 alpha released by Cyberax
Parent article: Rust 1.0 alpha released

They're still available in a library.


to post comments

Rust 1.0 alpha released

Posted Jan 13, 2015 8:25 UTC (Tue) by ms (subscriber, #41272) [Link] (11 responses)

Interesting. I've just been trying to do some googling for libgreen and pretty much failing to find anything. So if there are URLs for the following, please do say.

To do green threads as a library, that would mean you'd need some way to interrupt a thread, suspend the computation and then allocate some other work to the thread. The very fact there's no API to do this on the JVM is the reason why Akka is not an real actor framework. An alternative implementation is using something like call/cc. In many languages, the RTS is an interpreter of some sort, and so building it into the interpreter is quite straight-forward.

But for libgreen to be able to do this (and is libgreen itself written in Rust?), presumably there must be one of these mechanisms available.

Rust 1.0 alpha released

Posted Jan 13, 2015 10:26 UTC (Tue) by riccieri (guest, #94794) [Link] (10 responses)

> So if there are URLs for the following, please do say.

libgreen is hosted at https://github.com/alexcrichton/green-rs since it was removed from the main rust repo.

AFAIK it's broken now, though. The hooks it needed were removed recently, thanks to the runtime removal work. From what I've read, it wouldn't be trivial to get it up to speed again.

> But for libgreen to be able to do this (and is libgreen itself written in Rust?), presumably there must be one of these mechanisms available.

The fact that there isn't is one of the reasons it was removed. It was trivial for a green thread to block the whole native thread by loop/recursion.

The Rust community uses a RFC process to discuss big changes like this before they land. If you are interested in reading up on the motivations that led to libgreen's demise, take a look at https://github.com/rust-lang/rfcs/blob/091e5fabbbbd0419b8... (discussion: https://github.com/rust-lang/rfcs/pull/230).

Rust 1.0 alpha released

Posted Jan 13, 2015 10:48 UTC (Tue) by ms (subscriber, #41272) [Link]

Thank you very much for the links and pointers.

Rust 1.0 alpha released

Posted Jan 14, 2015 6:04 UTC (Wed) by b7j0c (guest, #27559) [Link] (8 responses)

This is understandable given the rapid rate of change in the Rust world, but there's a real danger here of repeating the problems we see in Perl's CPAN and Haskell's Hackage - third party libs that bitrot, get opinionated (in a bad way), or are just orphaned. With Go, I never worry that my HTTP library will go off the reservation or just splinter...its given the same attention as the compiler itself.

Rust 1.0 alpha released

Posted Jan 14, 2015 12:52 UTC (Wed) by mathstuf (subscriber, #69389) [Link] (7 responses)

But then you get the Python problem where the stdlib exists but is woefully inadequate (urllib, urllib2, xml) for certain use cases anyways.

Rust 1.0 alpha released

Posted Jan 14, 2015 19:09 UTC (Wed) by b7j0c (guest, #27559) [Link] (6 responses)

This keeps coming up from Rust people...Python library rot.

Its a Python problem, not a software problem. Why do people keep leaning on it like a crutch?

Java, C#, Go, even C++ among many others seem to be getting along just fine shouldering the responsibility of managing a standard library...

Rust 1.0 alpha released

Posted Jan 14, 2015 19:26 UTC (Wed) by mathstuf (subscriber, #69389) [Link]

To be fair, I haven't done much Rust programming myself so my personal experience with it isn't very extensive. I have however been bitten by Python multiple times :/ . I also wouldn't call it "rot" so much as "batteries included, but I need 9V batteries and all you have are AA batteries".

Java, C#, and Go all have quite large companies shouldering a *lot* of the development of those standard libraries as well. C++ has multiple, but then you have the problem that it only contains the intersection of all their interests and agreements (which is, thankfully, getting larger). Mozilla isn't a weakling, but it also isn't a billion-dollar multinational.

Rust 1.0 alpha released

Posted Jan 14, 2015 19:36 UTC (Wed) by bronson (subscriber, #4806) [Link] (4 responses)

The megabytes of Java and C++ stdlibs that are now deprecated and considered antipatterns indicate "just stick it in the stdlib" is not as easy as it sounds. What went wrong with Python? How can Rust avoid being another "Python problem?"

The entire Rust project has a tiny fraction of the manpower that wrote Java's first stdlib. I applaud them for treading a little more carefully.

Rust 1.0 alpha released

Posted Jan 14, 2015 22:38 UTC (Wed) by b7j0c (guest, #27559) [Link] (1 responses)

> The megabytes of Java and C++ stdlibs that are now deprecated and considered antipatterns indicate "just stick it in the stdlib" is not as easy as it sounds.

Do you really think the situation will be better with third party libs?

Rust 1.0 alpha released

Posted Jan 14, 2015 23:02 UTC (Wed) by bronson (subscriber, #4806) [Link]

I do! Absolutely. Especially if the language has a good package manager.

Ruby is a good example. Years ago, a lot of functionality was rolled into its stdlib: rexml, drb, webrick, json, etc. Since then, far FAR better implementations have been produced: nokogiri, rabbitmq, puma/unicorn/..., json-native, etc. These are drastic improvements to API and internals -- incremental, backward compatible tweaks weren't possible (or, more accurately, would have required so much work that it's just not realistic).

Now nobody uses the stdlib versions anymore. They're completely dead, but they need to be shipped Ruby forever. (Huh, just like a lot of Java and C++ calls)

So, to avoid this, Ruby 2.0 gemified some of its other libs and things got much better: http://www.rubyinside.com/the-ruby-standard-library-to-be...

Node did this too. Lots of functionality from Java's stdlib is not shipped with Node, but found in common NPM packages. Nobody seems to mind and, in fact, improvements seem to come much faster.

Few things ossify code quite as much as including it in the stdlib.

Rust 1.0 alpha released

Posted Jan 15, 2015 23:03 UTC (Thu) by pboddie (guest, #50784) [Link] (1 responses)

What went wrong with Python? How can Rust avoid being another "Python problem?

By insisting that people cannot merely declare their mission accomplished, throw their code over the wall into the standard library, and then walk away leaving others to maintain it forever.

Underestimating the role that the standard library plays in attracting and retaining users, and believing that language-polishing is more useful than library maintenance, is another trap that the Rust maintainers might also want to avoid when Rust becomes mature enough for most people to be happy with what the language itself offers.

Rust 1.0 alpha released

Posted Feb 3, 2015 22:10 UTC (Tue) by nix (subscriber, #2304) [Link]

By insisting that people cannot merely declare their mission accomplished, throw their code over the wall into the standard library, and then walk away leaving others to maintain it forever.
So you mean they don't want the Rust standard library to rust?

(sorry)


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds