6 ms·
The file specifying the dependencies is over 1000 lines long (https://github.com/sayanarijit/xplr/blob/main/Cargo.lock https://github.com/sayanarijit/xplr/blob/
by fulafel 6y ago
The file specifying the dependencies is over 1000 lines long (https://github.com/sayanarijit/xplr/blob/main/Cargo.lock https://github.com/sayanarijit/xplr/blob/main/Cargo.lock) - there are different types of minimal of course, and a small amount of code leveraging a lot of deps is valid, but is does make one think.
OTOH the highest voted comment as of this writing is comparing it to dired, so it's no worse than the competition I guess :)
- sayanarijit 6y agoThanks for your comment. I realized that I missed clarifying the type of "minimal" I want to pursue. I have updated the wiki accordingly. https://github.com/sayanarijit/xplr/wiki/Features#minimalist https://github.com/sayanarijit/xplr/wiki/Features#minimalist.
- __jem 6y agoThis is a lockfile, not the manifest for dependencies, so it includes all the translative dependencies as well. The list of direct dependencies is significantly smaller: https://github.com/sayanarijit/xplr/blob/main/Cargo.toml#L15-L24 https://github.com/sayanarijit/xplr/blob/main/Cargo.toml#L15....
- fulafel 6y agoYep, it's true that there's a shorter list of the direct dependencies. But surely the transitive dependency set is the better signal about the actual amount of 3rd party code pulled in.
- shakow 6y ago> But surely the transitive dependency set is the better signal Oh man, I do have some bad news for you if you start counting the lines in the libc or the libc++.
- fulafel 6y agoSure, we can extend this so that we consider the functionality provided by the base language as well. But third party code pulled in is qualitatively different.
- thethirdone 6y ago1000 lines of Cargo.lock is 100-200 total dependencies. Importantly, a "dependency" in Rust is a little more granular than in some other languages. A single dependency might have ~4 sub-crates which are there own "dependency". I would guess the 1000 lines of Cargo.lock represent ~32K of Rust code. That is probably no longer minimal by most definitions, but having a dependency on libc is like 200K of C so an additional 30K seems not so bad (assuming the dependencies are well known).
- sayanarijit 6y agoAlso, I don't think `Cargo.lock` is a valid measure of bulk as it contains both dev and prod dependency tree. For compiled languages, the binary size probably can be a better measurement, but that's also debatable since c and c++ use shared libraries while rust uses self-contained ones.
- deleted 6y ago[deleted]
- dathinab 6y agoIgnoring benchmarking only deps, this crate has 10 direct dependencies and 60 in total. Through some of them are just internally split's of the same dependency, e.g.: pest, pest_derive, pest_generator, pest_meta. And some are build dependencies only. So why is the lock file so big? 1. It also locks the test dependencies, i.e. the criterion benchmarking suite which is big and it's transitive dependencies (without it's ~750 lines in the lock file). 2. The lock file is human-readable formatted, because of this every "entry" takes at least 6 lines. 3. Each entry has one additional line per dependency, but dependencies are often shared internally (e.g. libc) so this can "bloat" the lock file without adding any additional dependency.
- vonwoodson 6y agoThis “minimal” refers to minimalism according to the first line of the README: “Though xplr strives to be fast and minimalist, its speciality is its hackability.” Minimalism refers to UI/UX and not LOC.
- apabepa 6y agoMinimalist as in the README does not specify that it refers to the UI though.. If I read minimalist software I would assume a more holistic interpretation unless otherwise specified. Maybe replace minimalist with modern for a more correct description of software with 100s of dependencies? (Joke!) Nitpicking aside, The app looks good and I do like this TUI trend!
- gpm 6y agoLinking to a computer generated file and saying "it's long" with no understanding of what is in it is just low effort trolling. Please don't do this.
- fulafel 6y agoIt seems quite human readable, but please be more specific if there are aspects you think I misunderstood. I feel you mischaracterise my GP comment though, it talked about different kinds of minimalism and said this is one valid kind.
- gpm 6y agoI probably should have said discussion instead of understanding, but as someone else said it specifies a total of 60 dependencies (I didn't check their work), if you knew that just saying "1000 line" instead is downright misleading... If you didn't I don't buy buy that you really understood it.