From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-65-14.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.0 required=3.0 tests=BAYES_40,FREEMAIL_FROM, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Received: by 2002:a0c:ab8b:0:b0:4b3:d857:de62 with SMTP id j11-20020a0cab8b000000b004b3d857de62mr16722121qvb.75.1665548502594; Tue, 11 Oct 2022 21:21:42 -0700 (PDT) X-Received: by 2002:a05:6214:c4e:b0:4b1:aa37:f4c1 with SMTP id r14-20020a0562140c4e00b004b1aa37f4c1mr21483015qvj.107.1665548491411; Tue, 11 Oct 2022 21:21:31 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 11 Oct 2022 21:21:31 -0700 (PDT) In-Reply-To: <8635bxht60.fsf@stephe-leake.org> Injection-Info: google-groups.googlegroups.com; posting-host=73.180.123.157; posting-account=XKz1nAoAAAASgQ6nzF5U4Yplbqphzjgf NNTP-Posting-Host: 73.180.123.157 References: <8635bxht60.fsf@stephe-leake.org> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <12faec32-1572-4df5-af28-be1c41083b9cn@googlegroups.com> Subject: Re: yet another Ada web site? From: Paul Jarrett Injection-Date: Wed, 12 Oct 2022 04:21:42 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:64490 List-Id: > Adahome.com is sort of like that, but it is run by some company and=20 > 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 alread= y multiple people who have permissions to merge changes to help ensure long= evity. > 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. >=20 > 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 th= ird-party software for security reasons, build it in a debug configuration = for troubleshooting, and also provides the means to locally fix bugs or ada= pt the library if needed. Isolating libraries and including them with a pa= ckage manager on a per project basis eases setup also by not making develop= ers 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 time= s -- the earliest developers might be on libfoo-1.2 whereas newer developer= s 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 al= so avoid other problems such as if your system's package manager doesn't ha= ve a particular library version, and the project builds that library from s= ource. 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 cl= ear. 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 libr= ary, 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 workin= g for new developers, or on a new system. There are limitations due to wha= t systems open source library writers have available to test on, so you sho= uldn't just blanket trust code you pull in though, and you should be carefu= l how you use it. Overall, Alire makes the experience building and developing in Ada for me o= n Windows, Mac and Linux, considerably simpler and more efficient, by provi= ding the same interface for use across all of these systems. With the beautiful site styling done by onox, someone pointed to ada-lang.i= o 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 tim= e). The work done by Fabien and Alejandro, and everyone else who has contr= ibuted to Alire to make this happen within the last couple years is absolut= ely incredible. Combined with Maxim's fantastic work on the Ada language p= lugin for Visual Studio Code and it's a great experience for first-time use= rs of the language. > What definition/semantics of "move" do you mean? Is it documented > somewhere? >=20 > 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 doin= g 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 mo= ve 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/