From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!news.glorb.com!peer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!post02.iad.highwinds-media.com!fx07.iad.POSTED!not-for-mail From: Shark8 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:36.0) Gecko/20100101 Thunderbird/36.0a1 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: GNAT GPL is not shareware References: <87bnmetex4.fsf@ludovic-brenta.org> <4ae7f0d5-d681-4be9-95bc-b5e789b3ad40@googlegroups.com> <87tx06rve6.fsf@ludovic-brenta.org> <87lhlirpk0.fsf@ludovic-brenta.org> <79f3eff7-2b45-40ae-af94-fa9a17426d82@googlegroups.com> <87bnmd8mg2.fsf@ixod.org> <19cf9bc2-f8b9-4735-b427-7b070dda59da@googlegroups.com> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Message-ID: <1rfrw.561039$ZT5.125723@fx07.iad> X-Complaints-To: abuse@teranews.com NNTP-Posting-Date: Wed, 07 Jan 2015 19:04:29 UTC Organization: TeraNews.com Date: Wed, 07 Jan 2015 12:04:27 -0700 X-Received-Bytes: 5310 X-Received-Body-CRC: 38289610 Xref: news.eternal-september.org comp.lang.ada:24455 Date: 2015-01-07T12:04:27-07:00 List-Id: >> Why would you have the fully-qualified name stored as text? >> It makes far more sense to break the name into an actual structure >> itself, in order to show its "lineage"; and once you do that your >> example simply doesn't work. > > It does not matter HOW you represent it. > A db can be manipulated, get corrupt, just as a file system. I never said that a database couldn't "go bad" -- but how easy is it to back up a single [proper] DB? Unless it's got its own FS, it's just as easy as SVN on the source directory, or zipping the dir-structure, or whatever your backup of text-files is. >> Again, you're showing that you're thinking of everything in terms of >> text, not in terms of meaningful structure. > > No, but since I don't know your model, I > visualized with something simple. If we're talking about storing a structured meaningful program as a meaningful structure, what sense would it make to store the fully-qualified name (something rife with meaningful structure) without regard to that structure? >> Showing that you could easily recover from accidentally entering an >> inconsistent state is *not* the same as preventing the state-change to >> inconsistency in the first place. -- Here is an example of early >> development using databases as a form of both version-control and >> project-management: >> https://drive.google.com/file/d/0BwQVNNshW39cTXVOdWxQaVJ5WjA/edit > > I see nothing in there to _prove_ that a code-base cannot be > inconsistent in a db - regardless of the db model. That is your claim. I never said it would be independent of the DB model. Proper modeling of the structure would obviously be required -- there's almost zero advantage of a DB whose schema is (ID, compilation_unit_name, compilation_unit_text)... the only advantage there is that by using the DB you create the possibility of using less physical-space on-disk than you would using the FS. *Especially* if the block-size for files is much larger than the modulo-X size of the source. > I guess this did not happen with Gnat. See below No, it was with either a GCC or G++ that I had to use at the time. (Remember; we're talking about handling programming in-general -- not Ada specifically and not GNAT in particular.) >>> and exactly _how_ is this more preventable with a db solution? >> Because with a DB-system you can guarantee that the "system" is not >> inconsistent or out-of date; and you can associate generated objects >> with exactly the state that generates them. > > Gnat calls that state ali-files... > > > That is gnat user guide , chapter 6.5 > ยง4 > > "The ability of GNAT to compile in any order is critical in allowing an > order of compilation to be chosen that guarantees that gnatmake will > recompute a correct set of new dependencies if necessary. " > > Seems to me that ACT already can guarantee this with files. > Yes, they use the word guarantee. Because they're essentially augmenting the file-structure with a database. -- IOW they're adding more complex work-arounds while presenting to you the same "environment" that you've always known (text-files)... instead of tailoring the environment to the actual problems, they're tailoring their tools to the existing workflow. -- This would be like when they were developing the electric train, instead of training the engineers on electric-trains making the UI the same as the Steam locomotive. (Imperfect analogy/word-picture, but I think it conveys the meaning.) Actually, no... it would be more like retrofitting a steam-engine so that the boilers were electric.