Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Dan Espen Newsgroups: alt.folklore.computers,comp.os.linux.misc Subject: Re: The joy of FORTRAN Date: Tue, 04 Mar 2025 09:42:49 -0500 Organization: A noiseless patient Spider Lines: 39 Message-ID: References: <794451758.762727703.370029.peter_flass-yahoo.com@news.eternal-september.org> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Tue, 04 Mar 2025 15:42:53 +0100 (CET) Injection-Info: dont-email.me; posting-host="0d03bc46663b6087fce4620747fea6f6"; logging-data="2003480"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/IIfnRCB+Nele4qp+M0GxQQoc3dW560jQ=" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:V4+jHRV0KR2o2KBcdIpMbnvjbV0= The Natural Philosopher writes: > On 04/03/2025 12:25, Niklas Karlsson wrote: >> On 2025-03-04, The Natural Philosopher wrote: >>> On 04/03/2025 06:25, rbowman wrote: >>>> On Mon, 3 Mar 2025 23:02:44 -0500, c186282 wrote: >>>> >>>>> It's easy to kinda drift into that during development, you always >>>>> think of ONE more thing you need to pass. However stage two, you put >>>>> all that crap in a struct and pass one pointer. Each function can >>>>> extract what it needs from that struct and ignore the rest. >>>> >>>> I never made it to anywhere close to 60 parameters. We did have one >>>> utility that took 22 command line parameters but it was never meant to be >>>> invoked manually and came with a csh. Even then they all were stuffed into >>>> a struct before the real function was called. >>>> >>>> Even worse, the parameters were field widths in a positional record. I >>>> truly hate positional records but the damn things live on. >>> len=sprintf(query,"insert into day set >>> timestamp='%s',demand='%f',frequency='%f',coal='%f',nuclear='%f',ccgt='%f',ocgt='%f',french_ict='%f', >>> irish_ict='%f', dutch_ict='%f', ew_ict= '%f', >>> pumped='%f',hydro='%f',wind='%f',oil='%f',other='%f', north_south='%f', >>> scotland_england='%f', solar='%f', biomass='%f', nemo='%f',ifa2='%f', >>> nsl='%f', intelec_ict='%f',vkl_ict=%f", >>> timestr,total,frequency,coal, >>> nuclear,ccgt,ocgt,france,ireland,holland,ew,pumped,hydro,wind,oil,other,north_south,scotland_england, >>> solar, biomass,nemo,ifa2,nsl,intelec,vkl ); Pretty nasty. I think I'd be inclined to create a table something like, 'timestamp=', '%s', *timestr, 'demand=', '%f', *total, and build the output string in a for loop. -- Dan Espen