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=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: G. B. Newsgroups: comp.lang.ada Subject: Re: Record operations (Algebraic Data Types and printing) Date: Fri, 12 Oct 2018 19:08:41 -0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <0f5608ef-0038-491c-b15f-f67bcc76fae8@googlegroups.com> <00285ebf-6ede-44da-848f-456930dc7475@googlegroups.com> <3620199a-f025-4099-83ad-a1e5042dc6c0@googlegroups.com> <8903c94f-efc7-4a2c-9513-ee17890b49d2@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Fri, 12 Oct 2018 19:08:41 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="3cbd7de09d58b4194e4f4eedfe88b4b5"; logging-data="7581"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19BDg6tvkmdlCh424f47C+l+lhe8SCbj1s=" User-Agent: NewsTap/5.3.1 (iPhone/iPod Touch) Cancel-Lock: sha1:PVy/vga28mjiD+y9tqcf5bWCLKI= sha1:qNehC+1hJ3CzhCNXHm2bgNe97RQ= Xref: reader02.eternal-september.org comp.lang.ada:54554 Date: 2018-10-12T19:08:41+00:00 List-Id: Björn Lundin wrote: > On 2018-10-10 20:13, G. B. wrote: >> But are all Ada debuggers and simulators in such a state? I find staring at >> trace logs unproductive in comparison. Maybe, though, some programmers >> like the challenge. > > When a system is deployed, and there is no debugger attached, > and an incident occur (malfunction/crash/whatever), > I am very happy to look at the logs. > Debugging is then not an option, since it occurred in the past, > and may be very difficult - if not impossible - to reproduce. > (Side note: interpreting messages and stack traces, foreign and own, of various qualities is part of my job description.) Technical impossibility of debugging a failure from the past is beside the point, IMHO, as ‘Image would, by default, just dump textual representations of internal data structures. Potentially including all kinds of information that may be private in at least two senses, unless... First, minor issue(?), Ada structures that you don’t want partners in business to know, that you don’t want them to build something around, based on knowledge gleaned from traces. I don’t like that kind of secrecy myself but you know what programmers do when they take some implementation for granted, ignoring the interface. Plus, there are business reasons. In any case, these are called internal data structures for a reason. Second, if private components become visible, that’s generous, but even technically the correspondence with ‘Value should not be a victim of supporting lazy programmers’ easy ‘Image. I/O just isn’t, even for trace analysis. So, unless you start “overriding” ‘Image ... — But! For which of those use cases? Dmitry, should ‘Image be capable of MD as needed per use case? It is easy to be tempted by ease of use of ‘Image! ‘Image turns us into a human interpreters of haphazard Lisp like symbols in the end. Some programmers enjoy themselves doing this kind of recreational symbolic mathematics.