3 ms·
I think the idea is that these fundamentals could/should be supplied by the standard library Ironically, despite all their differences, Rust actually has a sim
by brundolf 6y ago
I think the idea is that these fundamentals could/should be supplied by the standard library
Ironically, despite all their differences, Rust actually has a similar situation: it's really hard to write the fundamental data-structures in Rust, so they've put a focus on having really good standard-library implementations and people are generally content using those (in Rust's case it's because the borrow-checker makes pointer twiddling hard, but the outcome is similar)
- coddle-hark 6y agoThey kind of did this with maps and slices except that they baked them right into the language instead of the standard library. Like, map is a keyword. The standard library doesn't have many data structures at all because, well, without generics they're not very useful. There's a few things like a linked list and a thread-safe map that accept interface{} types but then you're basically throwing the type system out the window.
- random5634 6y agoI wish they just did a bunch more data structures in the language and called it good.
- masklinn 6y ago> I think the idea is that these fundamentals could/should be supplied by the standard library There is basically no limit to the number of data structures possible, nor to the possible implementation details of most of them, all of which can be relevant to the situation at hand. The stdlib can hardly be expected to implement them all.
- brundolf 6y agoIf they're very specific to the situation at hand, they're much less likely to need to be generic. The GP explicitly mentioned "Linked Lists" and "Trees". You don't need to be writing your own linked-list or (basic) tree from scratch.
- masklinn 6y ago> The GP explicitly mentioned "Linked Lists" and "Trees". And graphs. > You don't need to be writing your own linked-list or (basic) tree from scratch. Trees are rarely useful in and of themselves, what's useful is the data structures you're building out of them. And that, in turns, informs a significant number of properties of the tree you'll be using as well as the operations to perform. The stdlib providing "a basic tree" and essentially telling users to get bent would be worse than useless, it would be actively insulting. Even for the humble "linked list" there are half a dozen possibilities: singly linked? Immutable? Doubly-linked? Circular? Array-of-nodes?
- dragonwriter 6y ago> I think the idea is that these fundamentals could/should be supplied by the standard library Data structures generally need to be parameterized on the contained types of you don't want to waste the effort of even having a static type system, which makes it impossible to do this right without generics