Hello, I wonder does Ada community need yet another web site? My idea is here: https://www.reddit.com/r/ada/comments/wx9zp1/yet_another_ada_web_site/
Maxim Reznik <reznikmm@gmail.com> writes:
> I wonder does Ada community need yet another web site?
Adahome.com is sort of like that, but it is run by some company and
hasn't been updated in forever. Maybe what you want is a wiki (like
forthfreak.net used to be), but you'd have to do a lot of work getting
it initially populated, before it became interesting enough to attract
more contributors. It's very easy to suggest work for other people to
do, but they all have their own projects already.
I don't have much trouble finding any information that I want about Ada,
e.g. with web searches. The challenge is in digesting and using the
information, not in finding it. I don't see the proposed new web site
as being much help. More helpful would be a systematic effort to
reproduce or at least supply Ada bindings for the main toolsets that
exist for other languages, to target popular microcontrollers, etc.
Maxim Reznik wrote:
> Hello,
>
> I wonder does Ada community need yet another web site?
>
> My idea is here:
>
> https://www.reddit.com/r/ada/comments/wx9zp1/yet_another_ada_web_site/
Maybe a web forum would be a good idea, because many people nowadays see
Usenet newgroups as an outdated thing. So the fact that the community
mostly relies on comp.lang.ada may turn them off.
(I Don't want to discuss wether Uset actually outdated or not, but I
guess many people feel this way)
On 8/27/2022 4:12 AM, Rene wrote: > Maxim Reznik wrote: >> Hello, >> >> I wonder does Ada community need yet another web site? >> >> My idea is here: >> >> https://www.reddit.com/r/ada/comments/wx9zp1/yet_another_ada_web_site/ > > Maybe a web forum would be a good idea, because many people nowadays see > Usenet newgroups as an outdated thing. So the fact that the community > mostly relies on comp.lang.ada may turn them off. > (I Don't want to discuss wether Uset actually outdated or not, but I > guess many people feel this way) > > fyi, Some are starting to use discord for such things. For example, the main Julia forum is at discord https://discourse.julialang.org/t/julialang-official-discord-server/45499 --Nasser
"Nasser M. Abbasi" <nma@12000.org> writes:
> Some are starting to use discord for such things.
Would be better than Telegram or Gitter - at any rate for actual
discussions.
On 2022-08-27 11:53, Nasser M. Abbasi wrote: > Some are starting to use discord for such things. For example, the main > Julia forum is at discord > > https://discourse.julialang.org/t/julialang-official-discord-server/45499 Indeed. It is quite uncomfortable I must say from my experience. (I participate there because I maintain Ada Julia bindings) P.S. They just killed Firefox support keeping it listed as a supported browser... P.P.S. Clearly, how anybody could implement a discussion board without making it dependent on pentabytes of browser-specific scripts. Right? (:-)) -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de
On 28/08/2022 08:50, Dmitry A. Kazakov wrote:
> P.S. They just killed Firefox support keeping it listed as a supported
> browser...
>
> P.P.S. Clearly, how anybody could implement a discussion board without
> making it dependent on pentabytes of browser-specific scripts. Right? (:-))
>
Monopolisation of Chrome has to stop, it's not even a decent browser.
Here, it can stop working, tabs stop rendering randomly here. But then
that could also be an issue here? :/
I'm happy to announce a new Ada web site: https://ada-lang.io/ Thank people who make it real! I'm asking the community to send their updates and make it even better. Here is the Paul Jarrett's original message: Hi folks, @onox and me have been working on something for a few weeks, and we need your help. We've been building an open source, Ada community site to share with everyone. The intent is an open source community hub that will persist for a long time. There's a Github organization set up for people to contribute to and my intent is to hand off the domain to some existing Ada group. Right now, I've migrated some of my old "programming with ada" content over, and I've built on Maxim's work to output a fancy version of the AARM for it. If you have content elsewhere you'd like to add, feel free to submit it. You can use plain Markdown (.md files) or Markdown with React (.mdx files). Some things which I haven't found time to write, which other people could help with, would be an Alire introduction, patterns for when binding to C, how to make a memory allocator, etc.
On 16/09/2022 16:25, Maxim Reznik wrote:
> I'm happy to announce a new Ada web site:
>
> https://ada-lang.io/
Looks decent, especially the non-yellow RM.
Maxim Reznik <reznikmm@gmail.com> writes:
> I'm happy to announce a new Ada web site:
>
> https://ada-lang.io/
It would be nice if comp.lang.ada was listed under "community"; this
newsgroup is far older than all those flash-in-the-pan wannabes :).
--
-- Stephe
On Friday, September 16, 2022 at 1:34:07 PM UTC-4, Stephen Leake wrote:
> Maxim Reznik <> writes:
>
> > I'm happy to announce a new Ada web site:
> >
> > https://ada-lang.io/
> It would be nice if comp.lang.ada was listed under "community"; this
> newsgroup is far older than all those flash-in-the-pan wannabes :).
>
> --
> -- Stephe
If you do add it, I would recommend NOT using a link to the google
groups interface given the porn spam problem. It would stink if
someone at a work computer followed it and got hammered by their
IT department (speaking from experience). Perhaps someone has a
tutorial webpage on how to setup a mail reader for comp.lang.ada
that could be linked to under the community section?
On Friday, September 16, 2022 at 11:25:42 AM UTC-4, Maxim Reznik wrote:
> I'm happy to announce a new Ada web site:
>
> https://ada-lang.io/
>
> Thank people who make it real!
>
> I'm asking the community to send their updates and make it even better.
>
> Here is the Paul Jarrett's original message:
>
> Hi folks, @onox and me have been working on something for a few weeks, and we need your help. We've been building an open source, Ada community site to share with everyone. The intent is an open source community hub that will persist for a long time. There's a Github organization set up for people to contribute to and my intent is to hand off the domain to some existing Ada group.
>
> Right now, I've migrated some of my old "programming with ada" content over, and I've built on Maxim's work to output a fancy version of the AARM for it. If you have content elsewhere you'd like to add, feel free to submit it. You can use plain Markdown (.md files) or Markdown with React (.mdx files). Some things which I haven't found time to write, which other people could help with, would be an Alire introduction, patterns for when binding to C, how to make a memory allocator, etc.
I haven't gone through all of it yet, but so far, it looks very nice
On 16/09/2022 19:45, Jere wrote: > On Friday, September 16, 2022 at 1:34:07 PM UTC-4, Stephen Leake wrote: >> Maxim Reznik <> writes: >> >>> I'm happy to announce a new Ada web site: >>> >>> https://ada-lang.io/ >> It would be nice if comp.lang.ada was listed under "community"; this >> newsgroup is far older than all those flash-in-the-pan wannabes :). >> >> -- >> -- Stephe > If you do add it, I would recommend NOT using a link to the google > groups interface given the porn spam problem. It would stink if > someone at a work computer followed it and got hammered by their > IT department (speaking from experience). Perhaps someone has a > tutorial webpage on how to setup a mail reader for comp.lang.ada > that could be linked to under the community section? The link would be news://comp.lang.ada
On 16.09.22 17:25, Maxim Reznik wrote:
> I'm happy to announce a new Ada web site:
>
> https://ada-lang.io/
>
> Thank people who make it real!
>
> I'm asking the community to send their updates and make it even better.
>
> Here is the Paul Jarrett's original message:
>
> Hi folks, @onox and me have been working on something for a few weeks, and we need your help. We've been building an open source, Ada community site to share with everyone. The intent is an open source community hub that will persist for a long time. There's a Github organization set up for people to contribute to and my intent is to hand off the domain to some existing Ada group.
>
> Right now, I've migrated some of my old "programming with ada" content over,
<q loc=".../why-ada">Ada is missing: (...) A concept of "move".</q>
Is it somewhat true, though, that the old limited return,
or its more recent replacement, i.e., in situ construction,
could at least cover some of the idea of "move"?
Hi, I am new to Ada and appreciate the new side for a package manager. What I wasn't able to identify is the packages available -- is there a list? I am very curious what else exists in the Ada ecosystem -- in particular in terms of messaging support such as websockets and others.
On 2022-09-18 10:47, grosdan wrote: > I am new to Ada and appreciate the new side for a package manager. I am not sure if package manager is a good idea if it does not refer the target system's packaging tools, e.g. DEB, RPM, MSI etc. The main problem with that stuff is usually architectural. Most of it is plain aggregation of source code, which is utterly wrong. The very idea to rebuild everything each time on each client is atrocious both with regard of wasting computing resources as well as testing, safety, consistency, interoperability inside the target. > What I wasn't able to identify is the packages available -- is there a list? https://www.adaic.com/ada-resources/tools-libraries/ > I am very curious what else exists in the Ada ecosystem -- in particular in terms of messaging support such as websockets and others. There exists multiple implementations of websockets in Ada as well as other network protocols. I cannot suggest searching the Web, because search engines deteriorated beyond any usability. Just ask what you need here. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de
On 18/09/2022 09:47, grosdan wrote: > Hi, > > I am new to Ada and appreciate the new side for a package manager. > > What I wasn't able to identify is the packages available -- is there a list? > > I am very curious what else exists in the Ada ecosystem -- in particular in terms of messaging support such as websockets and others. https://github.com/search?q=language%3AAda&type=Repositories&ref=advsearch&l=Ada&l=
On Friday, September 16, 2022 at 5:25:42 PM UTC+2, Maxim Reznik wrote:
> I'm happy to announce a new Ada web site:
> https://ada-lang.io/
Well done Maxim and Paul, the new site looks nice.
One area that could be nice is a blog aggregator, which would monitor various Ada-related blogs on the Internet and help people find those resources.
I am sure you guys already have plenty of ideas on what to add, so maybe not looking for more :-)
Emmanuel
grosdan <grossd@modalai.co> writes: > Hi, > > I am new to Ada and appreciate the new side for a package manager. I assume you are talking about Alire. > What I wasn't able to identify is the packages available -- is there a > list? In Alire, "packages" are called "crates"; there is a Crates menu item at the top of the page, which takes you to https://alire.ada.dev/crates.html, which gives a list of all crates currently in Alire, with a brief description of each. Clicking on one gives a more complete description. -- -- Stephe
"G.B." <bauhaus@notmyhomepage.invalid> writes:
> <q loc=".../why-ada">Ada is missing: (...) A concept of "move".</q>
>
> Is it somewhat true, though, that the old limited return,
> or its more recent replacement, i.e., in situ construction,
> could at least cover some of the idea of "move"?
What definition/semantics of "move" do you mean? Is it documented
somewhere?
--
-- Stephe
Stephen Leake <stephen_leake@stephe-leake.org> writes: > What definition/semantics of "move" do you mean? Is it documented > somewhere? I think it refers to the C++ notion. https://en.cppreference.com/w/cpp/utility/move
Paul Rubin schrieb am Montag, 19. September 2022 um 20:50:50 UTC+2: > I think it refers to the C++ notion. > https://en.cppreference.com/w/cpp/utility/move What I do not understand: Why should the move operation be less expensive than a copy? As I see it: First you have to do a copy, then delete the source. > but also means str might now be empty. I find this "may be empty" astonishing.
On 2022-09-20 14:44, AdaMagica wrote:
> Paul Rubin schrieb am Montag, 19. September 2022 um 20:50:50 UTC+2:
>> I think it refers to the C++ notion.
>> https://en.cppreference.com/w/cpp/utility/move
>
> What I do not understand: Why should the move operation be less expensive than a copy?
> As I see it: First you have to do a copy, then delete the source.
The standard Ada containers have Move operations.
Containers are of course often implemented with indirection, where the
container object contains accesses to the data held in the container, so
a Move operation only has to copy the access values from the source to
the target, and does not need to copy the data. The access values in the
source are then nulled, making the source container empty. This is often
less expensive than copying the data.
Eg. for Vectors, the Ada RM says "Move should not copy elements, and
should minimize copying of internal data structures."
For the bounded Ada containers, which are not meant to use indirection,
while there are Move operations the RM says that the implementation
advice "to minimize copying" does not apply.
AdaMagica <christ-usch.grein@t-online.de> writes:
> What I do not understand: Why should the move operation be less
> expensive than a copy?
Besides avoiding copying indirectly pointed-to data, it also can enforce
single ownership in things like std::unique_ptr.
Paul Rubin <no.email@nospam.invalid> writes: > Stephen Leake <stephen_leake@stephe-leake.org> writes: >> What definition/semantics of "move" do you mean? Is it documented >> somewhere? > > I think it refers to the C++ notion. > https://en.cppreference.com/w/cpp/utility/move This may be similar to "ownership" in SPARK: https://docs.adacore.com/live/wave/spark2014/html/spark2014_ug/en/source/language_restrictions.html#memory-ownership-policy -- -- Stephe
Am 27.08.22 um 11:12 schrieb Rene:
> Maxim Reznik wrote:
>> Hello,
>>
>> I wonder does Ada community need yet another web site?
>>
>> My idea is here:
>>
>> https://www.reddit.com/r/ada/comments/wx9zp1/yet_another_ada_web_site/
>
> Maybe a web forum would be a good idea, because many people nowadays see
> Usenet newgroups as an outdated thing. So the fact that the community
> mostly relies on comp.lang.ada may turn them off.
> (I Don't want to discuss wether Uset actually outdated or not, but I
> guess many people feel this way)
>
>
How about a web forum as a front end to comp.lang.ada? While accessing
Usenet through dedicated programs is considered old fashioned the
underlying protocol has stood the test of time and could be used
together with a fancy web interface (such as a forum).
On 2022-09-30 13:29, shtps wrote: > Am 27.08.22 um 11:12 schrieb Rene: >> Maxim Reznik wrote: >>> Hello, >>> >>> I wonder does Ada community need yet another web site? >>> >>> My idea is here: >>> >>> https://www.reddit.com/r/ada/comments/wx9zp1/yet_another_ada_web_site/ >> >> Maybe a web forum would be a good idea, because many people nowadays >> see Usenet newgroups as an outdated thing. So the fact that the >> community mostly relies on comp.lang.ada may turn them off. >> (I Don't want to discuss wether Uset actually outdated or not, but I >> guess many people feel this way) >> >> > > How about a web forum as a front end to comp.lang.ada? While accessing > Usenet through dedicated programs is considered old fashioned Some may consider it old fashioned, but I very much prefer Usenet to all the web forum systems I've seen and tried to avoid using. I suspect many on comp.lang.ada share this view. Some mail programs such as Thunderbird can also access Usenet, so you don't have to use a dedicated program. Well, unless you always use webmail for your mail. > the underlying protocol has stood the test of time and could be used > together with a fancy web interface (such as a forum). That's what Google Groups does for comp.lang.ada, and sucks at it (or so I have heard, I've never used it myself).
Niklas Holsti <niklas.holsti@tidorum.invalid> writes: > On 2022-09-30 13:29, shtps wrote: >> Am 27.08.22 um 11:12 schrieb Rene: >> How about a web forum as a front end to comp.lang.ada? While >> accessing Usenet through dedicated programs is considered old >> fashioned > > > Some may consider it old fashioned, but I very much prefer Usenet to > all the web forum systems I've seen and tried to avoid using. I > suspect many on comp.lang.ada share this view. +1 >> the underlying protocol has stood the test of time and could be used >> together with a fancy web interface (such as a forum). > > That's what Google Groups does for comp.lang.ada, and sucks at it (or > so I have heard, I've never used it myself). +2 -- -- Stephe
> Adahome.com is sort of like that, but it is run by some company and > hasn't been updated in forever. https://ada-lang.io/ is designed to be updateable for a long time and open to community contributions by being completely open source. There's already multiple people who have permissions to merge changes to help ensure longevity. > I don't have much trouble finding any information that I want about Ada, > e.g. with web searches. > I cannot suggest searching the Web, because search engines deteriorated > beyond any usability. Just ask what you need here. ada-lang.io is indexed using Algolia, so the entire site (including the Ada 2022 draft RM) is searchable. Someone else wrote a tool for searching through all code in Alire crates at https://search.synack.me/ > I am not sure if package manager is a good idea if it does not refer the > target system's packaging tools, e.g. DEB, RPM, MSI etc. > > The main problem with that stuff is usually architectural. Most of it is plain aggregation of source code, which is utterly wrong. > > The very idea to rebuild everything each time on each client is > atrocious both with regard of wasting computing resources as well as > testing, safety, consistency, interoperability inside the target. Alire can do additional build steps and other things. As an application developer, having the code available helps in auditing third-party software for security reasons, build it in a debug configuration for troubleshooting, and also provides the means to locally fix bugs or adapt the library if needed. Isolating libraries and including them with a package manager on a per project basis eases setup also by not making developers have to look up or use multiple installers. I've seen inconsistencies in builds when developers who rely on the system libraries (installed by things like apt) join the project at different times -- the earliest developers might be on libfoo-1.2 whereas newer developers are on libfoo-1.4. You don't run into this problem if the repo points to the applicable dependencies and everyone builds everything locally. It also avoid other problems such as if your system's package manager doesn't have a particular library version, and the project builds that library from source. It's not perfect and there's other problems that you run into, but it often does help understanding what is being built in the project more clear. Alire even takes this an entire step further by being able to install and manage the toolchain as well (gprbuild and GNAT). Package managers also simplify having multiple projects using the same library, but different and possibly incompatible versions on the same system. You get a snapshot in time and a more consistent path to get a build working for new developers, or on a new system. There are limitations due to what systems open source library writers have available to test on, so you shouldn't just blanket trust code you pull in though, and you should be careful how you use it. Overall, Alire makes the experience building and developing in Ada for me on Windows, Mac and Linux, considerably simpler and more efficient, by providing the same interface for use across all of these systems. With the beautiful site styling done by onox, someone pointed to ada-lang.io should be able to download Alire, install a toolchain, make a project and build in less than 15 minutes or so (depending on download and install time). The work done by Fabien and Alejandro, and everyone else who has contributed to Alire to make this happen within the last couple years is absolutely incredible. Combined with Maxim's fantastic work on the Ada language plugin for Visual Studio Code and it's a great experience for first-time users of the language. > What definition/semantics of "move" do you mean? Is it documented > somewhere? > > What I do not understand: Why should the move operation be less expensive than a copy? > As I see it: First you have to do a copy, then delete the source. > > Besides avoiding copying indirectly pointed-to data, it also can enforce > single ownership in things like std::unique_ptr. It's referring to the C++ and Rust notions of "move". Moves can be less expensive than copy since it's a transfer of ownership of resources, such has handing off a heap allocated resources instead of doing an allocation and then copying the data, or handing off a socket or file handle to a new object. It allows modelling different semantics. E.g. in C++ there are both copy constructors/copy assignment operators, but also move constructors/move assignment operators. Moves are the sense of "You can steal the resources if you want." > Maybe a web forum would be a good idea, because many people nowadays see > Usenet newgroups as an outdated thing. So the fact that the community > mostly relies on comp.lang.ada may turn them off. There's a dedicated forum now at https://forum.ada-lang.io/
Paul Jarrett <jarrett.paul.young@gmail.com> writes: >> I am not sure if package manager is a good idea if it does not refer the >> target system's packaging tools, e.g. DEB, RPM, MSI etc. Alire can define crates that import system libraries, using those tools. They are subject to the same version checks as other Alire crates. >> The main problem with that stuff is usually architectural. Most of it is > plain aggregation of source code, which is utterly wrong. >> >> The very idea to rebuild everything each time on each client is >> atrocious both with regard of wasting computing resources as well as >> testing, safety, consistency, interoperability inside the target. Actually, it's better for consistency; that's why Alire does it. I don't understand what you mean by "testing" here; how does compiling from source affect testing? Same for "interoperability". > I've seen inconsistencies in builds when developers who rely on the > system libraries (installed by things like apt) join the project at > different times -- the earliest developers might be on libfoo-1.2 > whereas newer developers are on libfoo-1.4. You don't run into this > problem if the repo points to the applicable dependencies and everyone > builds everything locally. More precisely, an Alire crate can specify precisely which version of each dependency it requires/is compatible with. -- -- Stephe
On 2022-10-13 02:06, Stephen Leake wrote: > Paul Jarrett <jarrett.paul.young@gmail.com> writes: > >>> The main problem with that stuff is usually architectural. Most of it is >> plain aggregation of source code, which is utterly wrong. >>> >>> The very idea to rebuild everything each time on each client is >>> atrocious both with regard of wasting computing resources as well as >>> testing, safety, consistency, interoperability inside the target. > > Actually, it's better for consistency; that's why Alire does it. Consistency is easier to enforce on pre-built deployments, obviously. Moreover libraries usually provide integrated checks and/or have some target platform policy, e.g. naming and placement conventions. > I don't understand what you mean by "testing" here; how does compiling > from source affect testing? Because one can run tests on pre-built packages impossible to run on the sources. For example, network/hardware protocols. In order to test a protocol implementation one needs complex mock setups the client simply does not have. Such tests may run for many hours etc. > Same for "interoperability". See above. You cannot run integration tests on the client, it is just silly. >> I've seen inconsistencies in builds when developers who rely on the >> system libraries (installed by things like apt) join the project at >> different times -- the earliest developers might be on libfoo-1.2 >> whereas newer developers are on libfoo-1.4. You don't run into this >> problem if the repo points to the applicable dependencies and everyone >> builds everything locally. No difference whether deployment is in source or pre-built. Dependencies must be enforced regardless. However is far easier to do with pre-built packages. > More precisely, an Alire crate can specify precisely which version of > each dependency it requires/is compatible with. It seems so. Multiple versions at once are not supported. E.g. when you are working on two projects both dependent on different versions of another project: B -> A.1 C -> A.2 Or even the same project, e.g. when doing some migration from one version to another. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de
On Thursday, October 13, 2022 at 8:58:20 AM UTC+2, Dmitry A. Kazakov wrote: > It seems so. Multiple versions at once are not supported. E.g. when you > are working on two projects both dependent on different versions of > another project: > > B -> A.1 > C -> A.2 Yes of course, different crates can depend on different version of the same crate. > Or even the same project, e.g. when doing some migration from one > version to another. Not sure how you would do that? Link two different version of the same library in an executable? That's not going to work.
On 2022-10-14 10:41, Fabien Chouteau wrote: > On Thursday, October 13, 2022 at 8:58:20 AM UTC+2, Dmitry A. Kazakov wrote: >> It seems so. Multiple versions at once are not supported. E.g. when you >> are working on two projects both dependent on different versions of >> another project: >> >> B -> A.1 >> C -> A.2 > > Yes of course, different crates can depend on different version of the same crate. It is about whether both A's can be installed and coexist on the same machine. >> Or even the same project, e.g. when doing some migration from one >> version to another. > > Not sure how you would do that? Link two different version of the same library in an executable? That's not going to work. Same as above. You have B.1 -> A.1 and B.* -> A.2. You want to install both A.1 and A.2 and work on B.* while checking on B.1. In the long gone time of common sense, a project code management system would use a virtual file system and map different parts of the projects graph onto a structure of folders arranged by versions. Today one would use something ugly like a virtual machine or incredibly ugly like a docker. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes: > On 2022-10-14 10:41, Fabien Chouteau wrote: >> On Thursday, October 13, 2022 at 8:58:20 AM UTC+2, Dmitry A. Kazakov wrote: >>> It seems so. Multiple versions at once are not supported. E.g. when you >>> are working on two projects both dependent on different versions of >>> another project: >>> >>> B -> A.1 >>> C -> A.2 >> Yes of course, different crates can depend on different version of >> the same crate. > > It is about whether both A's can be installed and coexist on the same > machine. In Alire, "installed" means "checked out the source code into a local directory". If A depends on a system library that is a shared object file, and those are different versions, then it depends on the OS; Debian can handle this nicely, Windows only via separate directories and search paths. >>> Or even the same project, e.g. when doing some migration from one >>> version to another. >> Not sure how you would do that? Link two different version of the >> same library in an executable? That's not going to work. > > Same as above. You have B.1 -> A.1 and B.* -> A.2. You want to install > both A.1 and A.2 and work on B.* while checking on B.1. And the solution is the same as well. > In the long gone time of common sense, a project code management > system would use a virtual file system and map different parts of the > projects graph onto a structure of folders arranged by versions. What prevents that now? -- -- Stephe
On 2022-10-14 13:19, Stephen Leake wrote: > "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes: > >> On 2022-10-14 10:41, Fabien Chouteau wrote: >>> On Thursday, October 13, 2022 at 8:58:20 AM UTC+2, Dmitry A. Kazakov wrote: >>>> It seems so. Multiple versions at once are not supported. E.g. when you >>>> are working on two projects both dependent on different versions of >>>> another project: >>>> >>>> B -> A.1 >>>> C -> A.2 >>> Yes of course, different crates can depend on different version of >>> the same crate. >> >> It is about whether both A's can be installed and coexist on the same >> machine. > > In Alire, "installed" means "checked out the source code into a local > directory". > > If A depends on a system library that is a shared object file, and those > are different versions, then it depends on the OS; Debian can handle > this nicely, Windows only via separate directories and search paths. > > >>>> Or even the same project, e.g. when doing some migration from one >>>> version to another. >>> Not sure how you would do that? Link two different version of the >>> same library in an executable? That's not going to work. >> >> Same as above. You have B.1 -> A.1 and B.* -> A.2. You want to install >> both A.1 and A.2 and work on B.* while checking on B.1. > > And the solution is the same as well. > >> In the long gone time of common sense, a project code management >> system would use a virtual file system and map different parts of the >> projects graph onto a structure of folders arranged by versions. > > What prevents that now? Nothing except that it is to be done manually. Why not download a source archive and bother with anything? It is Turing-complete, after all... (:-)) The advantage of a file system is that developing image will be automated and consistent. And you would not need to move any files physically. Alire is extremely slow because it must pull all files [and then compile them on top of that]. Furthermore, a virtual file system shares duplicates of the same version of same file. When you work with naked Git you must have as many copies as you have projects. Same applies to virtual machines and dockers. It is a huge overhead for nothing. Moreover, a virtual file system is instant so long you do not access a file for read or write. Which is the case for gprbuild, make and other tools which use timestamps and then never look into files. With a virtual file system you can automatically check in all files on closing if it was open for write and never worry about command-line mess or plug-ins. Any tool will work out of the box. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de
On 14.10.22 15:05, Dmitry A. Kazakov wrote: >>> Same as above. You have B.1 -> A.1 and B.* -> A.2. You want to install >>> both A.1 and A.2 and work on B.* while checking on B.1. > Furthermore, a virtual file system shares duplicates of the same version of same file. When you work with naked Git you must have as many copies as you have projects. Same applies to virtual machines and dockers. It is a huge overhead for nothing. Inasmuch as versions are subject to business, software configuration management is just work that requires resources for to get it done. Problem solved. (Well, not for the small shop on a budget, granted.) To what extent can static linking make B.1 and B.2 exist on the same system?
On 2022-10-16 10:54, G.B. wrote: > On 14.10.22 15:05, Dmitry A. Kazakov wrote: > >>>> Same as above. You have B.1 -> A.1 and B.* -> A.2. You want to install >>>> both A.1 and A.2 and work on B.* while checking on B.1. > >> Furthermore, a virtual file system shares duplicates of the same >> version of same file. When you work with naked Git you must have as >> many copies as you have projects. Same applies to virtual machines and >> dockers. It is a huge overhead for nothing. > > Inasmuch as versions are subject to business, software configuration > management is just work that requires resources for to get it done. Yes, human resources especially. It is a self-feeding system that exist in each organization. It creates problems in order to justify its continuous growth. Modern time tools excel wasting and perfect outright meaninglessness. > Problem solved. (Well, not for the small shop on a budget, granted.) I cannot say that ClearCase, which did things more or less right 20 years ago, was for small business either. (:-)) AFAIK it is still available and GNAT Studio supports it. However, IBM (Rational, actually) fulfills it existential end goal of wasting personal and hardware resources by other, no less efficient, techniques... (:-)) > To what extent can static linking make B.1 and B.2 exist on the > same system? To a full extent! (:-)) Sorry, I do not understand your question... -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de