Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

An example: https://www.archlinux.org/packages/core/x86_64/dash/

Or look at bash:

https://www.archlinux.org/packages/core/x86_64/bash/

I would say many shells that are written in C will have an extremely short list of dependencies in contrast to Rust.



On my phone, but ldd bash? Also compare cost of maintaining your own custom secure functions Vs using well known ones.


You do not have to maintain your own, you can use a popular and audited one that many other projects depend on so it is typically installed. The point is not to not have any dependencies, just do not have in the hundreds, especially not if they are not shared; it would take up too much space!

As per your request:

        $ ldd /usr/bin/bash

        linux-vdso.so.1 (0x00007ffce8b8c000)
        libreadline.so.8 => /usr/lib/libreadline.so.8 (0x00007fd76a0dd000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fd76a0d8000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007fd769f15000)
        libncursesw.so.6 => /usr/lib/libncursesw.so.6 (0x00007fd769ea6000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fd76a266000)

Those files are generally installed on all major Linux distributions.

For completeness:

        $ ldd /usr/bin/dash

        linux-vdso.so.1 (0x00007ffdbadce000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f6f2cd28000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f6f2cf58000)
Note that these files are shared between projects, you do not have to download and compile them per project. Can you do the same using Cargo? According to my experience with it from two years ago, I had to download and build over 400 dependencies for all projects, separately. I do not know how many dependencies Rust projects have on average.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: