Deutsch English Français Italiano |
<vic1u4$11afb$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Janis Papanagnou <janis_papanagnou+ng@hotmail.com> Newsgroups: comp.lang.c Subject: Re: else ladders practice Date: Fri, 29 Nov 2024 10:36:03 +0100 Organization: A noiseless patient Spider Lines: 116 Message-ID: <vic1u4$11afb$1@dont-email.me> References: <3deb64c5b0ee344acd9fbaea1002baf7302c1e8f@i2pn2.org> <vg37nr$3bo0c$1@dont-email.me> <vg3b98$3cc8q$1@dont-email.me> <vg5351$3pada$1@dont-email.me> <vg62vg$3uv02$1@dont-email.me> <vgd3ro$2pvl4$1@paganini.bofh.team> <vgdc4q$1ikja$1@dont-email.me> <vgdt36$2r682$2@paganini.bofh.team> <vge8un$1o57r$3@dont-email.me> <vgpi5h$6s5t$1@paganini.bofh.team> <vgtsli$1690f$1@dont-email.me> <vhgr1v$2ovnd$1@paganini.bofh.team> <vhic66$1thk0$1@dont-email.me> <vhins8$1vuvp$1@dont-email.me> <vhj7nc$2svjh$1@paganini.bofh.team> <vhje8l$2412p$1@dont-email.me> <86y117qhc8.fsf@linuxsc.com> <vi2m3o$2vspa$1@dont-email.me> <86cyiiqit8.fsf@linuxsc.com> <vi4iji$3f7a3$1@dont-email.me> <86mshkos1a.fsf@linuxsc.com> <vi9ukc$ib2v$1@dont-email.me> <via977$knic$1@dont-email.me> <viacjn$lbe2$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Date: Fri, 29 Nov 2024 10:36:05 +0100 (CET) Injection-Info: dont-email.me; posting-host="629c775f75232c62570bc5e345a307f6"; logging-data="1092075"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+O4Cp+k7lMpvJFamBq0Mzq" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 Cancel-Lock: sha1:wXd3WDO+5XulWy0TKptehlsQ9F8= X-Enigmail-Draft-Status: N1110 In-Reply-To: <viacjn$lbe2$1@dont-email.me> Bytes: 6994 On 28.11.2024 19:25, Bart wrote: > On 28/11/2024 17:28, Janis Papanagnou wrote: >> On 28.11.2024 15:27, Bart wrote: >>>> [ compilation times ] >>> >>> And for me, used to decades of sub-one-second response times, 7 seconds >>> seems like for ever. [...] >> >> Sub-seconds is very important in response times of interactive tools; >> I recall we've measured, e.g. for GUI applications, the exact timing, >> and we've taken into account results of psychological sciences. The >> accepted response times for our applications were somewhere around >> 0.20 seconds, and even 0.50 seconds was by far unacceptable. >> >> But we're speaking about compilation times. And I'm a bit astonished >> about a sub-second requirement or necessity. I'm typically compiling >> source code after I've edited it, where the latter is by far the most >> dominating step. And before the editing there's usually the analysis >> of code, that requires even more time than the simple but interactive >> editing process. > > You can make a similar argument about turning on the light switch when > entering a room. Flicking light switches is not something you need to do > every few seconds, but if the light took 5 seconds to come on (or even > one second), it would be incredibly annoying. It is. (It was with flickering fluorescent lamps in the past and is with the contemporary energy saving lamps nowadays that need time to radiate in full glory.) - But I'm not making comparisons/parables; I made a concrete argument and coupled it with behavioral patterns and work processes in the context we were speaking about, compiling. > > It would stop the fluency of whatever you were planning to do. You might > even forget why you needed to go into the room in the first place. > >> When I start the compile all the major time demanding >> tasks that are necessary to create the software fix have already been >> done, and I certainly don't need a sub-second response from compiler. >> >> Though I observed a certain behavior of programmers who use tools with >> a fast response time. Since it doesn't cost anything they just make a >> single change and compile to see whether it works, and, rinse repeat, >> do that for every _single_ change *multiple* times. > > Well, what's wrong with that? It's how lots of things already work, by > doing things incrementally. There's nothing "wrong" with it. (I just consider it non-ergonomic in the edit-compile-loop context I described.) You can (and should) do what you prefer and what works for you - unless you work and operate in a larger project context where efficient processes may (or may not) conflict with your habits. > > If recompiling an entire program of any size really was instant, would > you still work exactly the same way? (I addressed that in my previous post.) > > People find scripting languages productive, partly because there is no > discrete build step. (There are many reasons for using scripting languages; at least for those that I use. And there are reasons to not use them.) And there's reasons for using compiled and strongly typed languages. One I already mentioned in my previous post; you see all errors at once and can fix them in one iteration. - I seem to recall that you are somewhat familiar with Algol 68; its error messages fosters an efficient error correction process. The point was and still is that it's inefficient to save seconds in compiling and spend much more time in your edit-compile iterations. The rest can be re-read if you missed that I wrote "I understand" your edit-compile habits as an effect of being used to instant responsive compilers [for the sort of code you are doing, in the project context you are working, with the software organization you have, and the development processes you apply]. > >> My own programming >> habits got also somewhat influenced by that, though I still try to fix >> things in brain before I ask the compiler what it thinks of my change. >> This is certainly influenced by the mainframe days where I designed my >> algorithms on paper, punched my program on a stack of punch cards, and >> examined and fixed the errors all at once. > > I also remember using punched cards at college. But generally it was > using an interactive terminal. Compiling and linking were still big > deals when using mini- and mainframe computers. I have (and also heard of) different experiences. (Like hitting the Enter key on an interactive terminal to start a job and instantly getting the prompt back.) Myself I worked with punch cards only on mechanical punch terminals and then put the stack of cards in a batch queue that got processed (with other jobs) at occasion; the build times, compiles/links, were not an issue anyway with those mainframes (TR, CDC, 360-clone). When we switched to interactive (non-mainframe) systems the processes got slower, much more time consuming. > > Oddly, it was only using tiny, underpowered microprocessor systems, that > I realised how fast language tools really could be. At least the ones I > wrote. Sure. Janis > [...]