4 ms·
> 'Vec' is a bit awkward from that POV, but then again 'Vector' would be a lot worse They should just have called it a List, and stopped the propagation of the
by twic 6y ago
> 'Vec' is a bit awkward from that POV, but then again 'Vector' would be a lot worse
They should just have called it a List, and stopped the propagation of the erroneous belief that a variable-length sequence of things is a vector.
- ImprobableTruth 6y agoOr - since lists call to mind a very specific data structure (linked lists) - they could have just called it Sequence.
- remram 6y ago`List` usually refers to a linked list or similar. Vec has the important feature that it encapsulate a contiguous array, which matters in a languages like Rust.
- xscott 6y agoPython is a very popular language where the list type is implemented as an array, and named a list. Calling these things vectors (C++, Rust) is unfortunate because you eventually want real vectors for working with matrices, and the behavior is different in that context. As for linked lists, given modern processors and cache behavior, there are very few places where you ever want to chase pointers for a 1D data structure. It seems like a shame to lose a good name to a data structure that should now be avoided most of the time.
- remram 6y agoAn array of references. Plus, Python has no way to consume a contiguous array directly. If you do interoperate through FFI with code in C or similar, you will have to reach for numpy arrays, which are the typed, contiguous arrays of Python.
- twic 6y ago> `List` usually refers to a linked list or similar. No, it doesn't. There are a handful of languages where this is true, and no reason other than language-specific practice to think that a list is implicitly a linked list. People always make this objection and it's honestly just bizarre.