🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #215948

Re: Jak to robią w NASA

#215948
From: M.M.
Date: Sat, 31 Aug 2019 20:14
60 lines
4009 bytes
On Friday, August 30, 2019 at 2:49:11 PM UTC+2, Mateusz Viste wrote:
> On Fri, 30 Aug 2019 08:06:33 +0000, Queequeg wrote:
> > 2. All loops must have a fixed upper-bound. It must be trivially
> > possible for a checking tool to prove statically that a preset
> > upper-bound on the number of iterations of a loop cannot be exceeded. If
> > the loop-bound cannot be proven statically, the rule is considered
> > violated.
> > 
> > Zgadzam się.
> 
> Czekaj czekaj, ale większość programów to jedna niekończąca się pętla.
> 
> for (;;) {
>   wait_input();
>   do_job();
> }
> 
> Czy ja czegoś nie rozumiem, czy ta reguła zabrania takich konstrukcji? A 
> jeśli zabrania, to jak inaczej? Przecież goto też zabraniają. :)
> 
> > 3. Do not use dynamic memory allocation after initialization.
> > 
> > Znów... zależy od konkretnego zastosowania. MISRA C zresztą mówi to
> > samo. Widzę w tym logikę, ale nie chciałbym tak pisać :(
> 
> Logika jest - ale chyba tylko w lotach kosmicznych albo innych 
> przemysłowych dziedzinach, gdzie nic nie ma prawa się nie udać. W 
> praktyce program graficzny będzie alokował pamięć zależnie od tego, 
> jakich rozmiarów dostał plik graficzny do załadowania. Jak user ma mało 
> pamięci to i tak może sobie pomalować w 640x480, a przy większych 
> bitmapach dostanie zonk.

To też można różnie rozumieć. Może używanie bibliotecznych wektorów, list,
zbiorów, itd nie jest dynamicznym allokowaniem pamięci (po inicjacji)?


> 
> > 7. The return value of non-void functions must be checked by each
> > calling function, and the validity of parameters must be checked inside
> > each function.
> > 
> > Tu znów odbijamy się od tego, czy to są sztywne zasady, które trzeba
> > stosować, czy zbiór sugestii.
> 
> if (printf("Hello") != 5) NO_I_CO_MAM_ZROBIC();
> 
> Ciekawe jaki mają procent zachorowań na depresję wśród programistów. :)

Bez kontekstu można powiedzieć, że powinien zapisać w pliku logu że doszło do
takiej sytuacji, żeby programista szybciej zaczął się zastanawiać nad 
przyczyną problemu.

A tak poza tym, dużo softu ma bezpośredni wpływ na życie, zdrowie, pieniądze;
jeszcze więcej softu ma pośredni wpływ na ważne sfery życia. Nic dziwnego 
że próbuje się podawać skrótowy zestaw reguł pomagający niezbyt zaawansowanym
programistom tworzyć bezpieczny kod. Natomiast kompulsywne trzymanie się
dowolnych skrótowych reguł, zwłaszcza bez dobrych intencji, oczywiście/zawsze 
źle się kończy, np. depresją programistów.

Pozdrawiam
Technical Details
Message-ID: <834d19ec-0809-4aec-8568-8077cd493599@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.uzoreto.com!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!a13no2069318qtd.0!news-out.google.com!q13ni43qtn.0!nntp.google.com!a13no2069310qtd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <1ua4wui506zbf$.dlg@tyczka.com> <0836b6a7-f4cb-459b-b9a3-33d209c96ca6@trust.no1> <5d691b46$0$14385$426a74cc@news.free.fr>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:f902:: with SMTP id l2mr21691451qkj.218.1567282493736;        Sat, 31 Aug 2019 13:14:53 -0700 (PDT)
X-Received: by 2002:ac8:4408:: with SMTP id j8mr17872600qtn.258.1567282493535; Sat, 31 Aug 2019 13:14:53 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.uzoreto.com!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!a13no2069318qtd.0!news-out.google.com!q13ni43qtn.0!nntp.google.com!a13no2069310qtd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sat, 31 Aug 2019 13:14:53 -0700 (PDT)
In-Reply-To: <5d691b46$0$14385$426a74cc@news.free.fr>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.36.205.84; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 178.36.205.84
References: <1ua4wui506zbf$.dlg@tyczka.com> <0836b6a7-f4cb-459b-b9a3-33d209c96ca6@trust.no1> <5d691b46$0$14385$426a74cc@news.free.fr>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <834d19ec-0809-4aec-8568-8077cd493599@googlegroups.com>
Subject: Re: Jak to robią w NASA
From: "M.M." <mmarszik@gmail.com>
Injection-Date: Sat, 31 Aug 2019 20:14:53 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit