I thought I’ll make this thread for all of you out there who have questions but are afraid to ask them. This is your chance!

I’ll try my best to answer any questions here, but I hope others in the community will contribute too!

  • @PlexSheep@infosec.pub
    link
    fedilink
    151 year ago

    Software changes. Version 0.5 will not have the same features as Version 0.9 most of the time. Features get added over time, features get removed over time and the interface of a library might change over time too.

    As a software dev, the only thing you can do is keep the same API for ever, but that is not always feasible.

    • sag
      link
      fedilink
      51 year ago

      Hey, Thanks I have one more question. Is it possible to ship all required library with software?

      • @Nibodhika@lemmy.world
        link
        fedilink
        111 year ago

        It is, that’s what Windows does. It’s also possible to compile programs to not need external libraries and instead embed all they need. But both of these are bad ideas.

        Imagine you install dolphin (the KDE file manager) It will need lots of KDE libraries, then you install Okular (KDE PDF reader) it will require lots of the same library. Extend that to the hundreds of programs that are installed on your computer and you’ll easily doubled the space used with no particular benefit since the package manager already takes care of updating the programs and libraries together. Not just that, but if every program came with it’s own libraries, if a bug/security flaw was found in one of the libraries each program would need to upgrade, and if one didn’t you might be susceptible to bugs/attacks through that program.

        • sag
          link
          fedilink
          21 year ago

          Thanks you so much for explanation.

      • @PlexSheep@infosec.pub
        link
        fedilink
        41 year ago

        Absolutely! That’s called static linking, as in the library is included in the executable. Most Rust programs are compiled that way.

        • sag
          link
          fedilink
          21 year ago

          Yea, That’s why I am learning Rust but I didn’t know it called Static Linking I think it just how Rust works LMAO. And Thanks again

    • @beeng@discuss.tchncs.de
      link
      fedilink
      2
      edit-2
      1 year ago

      To add some nuance, all features in v0.5.0 should still exist in v0.9.0 in the modern software landscape.

      If v0.5.0 has features ABC and then one was then changed, under semantic versioning which most software follows these days then it should get a breaking change and would therefore get promoted to v1.0.0.

      If ABC got a new feature D but ABC didn’t change, it would have been v0.6.0 instead. This system, when stuck to,helps immensely when upgrading packages.

      • @PlexSheep@infosec.pub
        link
        fedilink
        21 year ago

        When having a breaking change pre 1.0.0, I’d expect a minor version bump instead, as 1.0.0 signals that the project is stable or at least finished enough for use.