Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: The Natural Philosopher Newsgroups: alt.folklore.computers,comp.os.linux.misc Subject: Re: The joy of FORTRAN Date: Tue, 4 Mar 2025 09:33:47 +0000 Organization: A little, after lunch Lines: 35 Message-ID: References: <794451758.762727703.370029.peter_flass-yahoo.com@news.eternal-september.org> <-_6cnTT2QMGxMVv6nZ2dnZfqn_qdnZ2d@giganews.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 04 Mar 2025 10:33:48 +0100 (CET) Injection-Info: dont-email.me; posting-host="0b560008ef9a928074cac7a211b82343"; logging-data="1904933"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+SR8ZzP5RLt19XL/iGd4jN1Aojy+wRkzY=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:MbJXLwLDktXynHhHuO7YbRhjh/o= In-Reply-To: <-_6cnTT2QMGxMVv6nZ2dnZfqn_qdnZ2d@giganews.com> Content-Language: en-GB Bytes: 3156 On 04/03/2025 07:30, c186282 wrote: > On 3/4/25 1:25 AM, 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. > >   Hey, they have a function and certain simplicity. > >   Anyway, have writ many pgms where functions might >   need access to a LOT of params - 'C'/Python/Pascal - >   and the best way is to create a struct/record/list/dict >   from which those functions can extract what they need, >   and update what they need. Just send a pointer. >   NO need for 60 discrete params. Unless its a library function. That doesn't take a pointer to a struct. -- "First, find out who are the people you can not criticise. They are your oppressors." - George Orwell