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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: "G.B." Newsgroups: comp.lang.ada Subject: Re: Why .ads as well as .adb? Date: Mon, 10 Jun 2019 21:10:31 +0200 Organization: A noiseless patient Spider Message-ID: References: <28facad3-c55f-4ef2-8ef8-004925b7d1f1@googlegroups.com> <87woi0xtwm.fsf@nightsong.com> <4a0438de-1f1d-4469-aae4-908854d378ea@googlegroups.com> <47d02bdc-6b50-43aa-bc5d-bb5b6225f5bd@googlegroups.com> Reply-To: nonlegitur@notmyhomepage.de Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 10 Jun 2019 19:10:33 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="e22d30bf556b107bf57cc4a92e3a54a2"; logging-data="970"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19CTUkJIDmh1jLqpbtG3VupJ4WF7o11vAE=" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 Cancel-Lock: sha1:wRttNxBN462XvZ+NuM2iZyayoZQ= In-Reply-To: Content-Language: de-DE Xref: reader01.eternal-september.org comp.lang.ada:56605 Date: 2019-06-10T21:10:31+02:00 List-Id: On 10.06.19 10:17, Maciej Sobczak wrote: >> No, you are proving that you refuse to comprehend my actual point: that >> source file organization is irrelevant (except maybe to compilers). > > Then why people are defending separate spec files so hard? > >> You've >> never once said a word about the important point: reducing coupling. > > On the contrary. I have pointed that spec and implementations are coupled so much that people either generate fragments from one another or just copy-paste snippets around. And there are languages that decided to stop pretending that these are separate files and assigned separate roles to a single file instead. Now the coupling is gone, there is less clutter and the design patterns for large-scale code design are still available for those who really need them. "Need" is perhaps worth a little consideration. Writing a spec requires expensive thought and work. And payment... When a spec can be extracted from a source text of an implementation, properly annotating for export seems like pretty much the same work to me. One more point in favor of Ada's specific separations: When writing contracts in terms of Pre, Post, ... aspects, then these, too, have public parts in the spec and private parts in the body. If Eiffel were to have this separation mapped to its visibility specifications, the consequences will, I guess, simply be too far-reaching. IIRC.