4 ms·
The quote that the GP is talking about is included below, which copy/pasted from the project page, and the Mumble mumble line is the heading for a paragraph: ‘
by throwaway17_17 7y ago
The quote that the GP is talking about is included below, which copy/pasted from the project page, and the Mumble mumble line is the heading for a paragraph:
‘’’Mumble mumble kernel embedded something something intrusive.
It's niche. You're talking about a situation where you're not even using your language's runtime. Is that not a red flag that you're doing something strange?
It's also wildly unsafe.’’’
Also, prior to this author claims the following, where the first line also a section heading:
‘’’ I can't afford amortization
You've already entered a pretty niche space’’’
These fiat rulings based on one an authors generalization of what is ‘niche’ are what I assume GP was commenting on. These are the kinds of dismissals that some developers take issue with, as GP states.
- saagarjha 7y agoKernel development is niche. Most of the time you don’t need linked lists.
- varjag 7y agoWhen all you have is Rust everything starts to look like adjustable array.
- saagarjha 7y agoWhat’s an adjustable array? A vector?
- varjag 7y agoA vector is a one-dimensional array. Adjustable arrays can have arbitrary number of dimensions, although am not sure if it's a thing in Rust.
- staticassertion 7y agoThat just sounds like a graph.
- varjag 7y agoHow in the heaven an array can sound like a graph?
- staticassertion 7y agoSounds like one to me.
- dpbriggs 7y agoI've spent years programming rust and I'm not sure what you mean. Do you mean arrays of tuples, or nested arrays?
- varjag 7y agoI mean a multi-dimensional array.
- dpbriggs 7y agoThanks! Why does everything look like a multi-dimensional array for you in rust?
- varjag 7y agoAn array (an ADT) can be arbitrary dimensional, with one-dimensional case often called vector (and two-dimensional called matrix). An array can also be adjustable, both in one and multi-dimension variants. So a vector can be both adjustable and non adjustable, and some language do have both versions. Some language have adjustable one-dimensional array/vector as the only dynamic aggregate/ordered datatype. And to answer the post I replied to originally, a vector in rust is a one-dimensional adjustable array. To answer your question above, no that's not what I meant, sorry for not being clear enough from the beginning.
- dpbriggs 7y agoThanks for clarifying. I think we're just using different definitions. The only real definition of an array I've encountered in work and school is that it's just a one dimensional collection of elements, usually of static size. A vector depending on context is usually the same thing as an array but you conveniently change the size dynamically. Lists can whatever you need it to be given the context, just needs to be sequential. Of course you can represent higher dimension structures by linearizing indices (x + row_size * y, etc). I think people are getting confused as most don't consider arrays to be arbitrarily dimensional without some scheme. Completely off topic but you've reminded me of this great article: https://hypirion.com/musings/understanding-persistent-vector-pt-1 https://hypirion.com/musings/understanding-persistent-vector...
- fluffy87 7y agoRust has singly linked, double linked ( in its minimal std library) and intrusive linked lists - all with APIs that guarantee a lack of memory errors and data races at compiler. I don’t know any good kernel developer that wouldn’t like those guarantees and I work in the Linux kernel professionally full time.
- imtringued 7y agoIf you can't tell when to break or not break rules then maybe you are not a kernel developer? It's almost like a King only following his own laws instead of being the one making them. Why are you a King again?