-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!news.mixmin.net!proxad.net!feeder1-2.proxad.net!cleanfeed3-a.proxad.net!n
nrp3-2.free.fr!not-for-mail
From: Mateusz Viste <m...@w...tell>
Subject: Re: programowanie w C - bardzo ogólne pytanie o filozofię. Arduino w roli
programatora pralki
Newsgroups: pl.misc.elektronika
References: <osllnb$psp$1@dont-email.me> <59eeec44$0$653$65785112@news.neostrada.pl>
<osmsrd$mk1$1$PiotrGalka@news.chmurka.net>
<osn0pc$c5l$1@node1.news.atman.pl>
<osn2s8$opa$1$PiotrGalka@news.chmurka.net>
User-Agent: Pan/0.141 (Tarzan's Death; 168b179 git.gnome.org/pan2)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Date: 24 Oct 2017 10:30:21 GMT
Lines: 54
Message-ID: <59ef163d$0$31614$426a34cc@news.free.fr>
Organization: Guest of ProXad - France
NNTP-Posting-Date: 24 Oct 2017 12:30:21 CEST
NNTP-Posting-Host: 82.64.0.151
X-Trace: 1508841021 news-4.free.fr 31614 82.64.0.151:61188
X-Complaints-To: a...@p...net
Xref: news-archive.icm.edu.pl pl.misc.elektronika:725236
[ ukryj nagłówki ]On Tue, 24 Oct 2017 11:58:35 +0200, Piotr Gałka wrote:
> Kiedyś przetestowałem break;break; i OIDP zadziałało dobrze, ale nie
> byłem pewien, czy to przypadek, czy cecha języka więc dołożyłem bool
> który służył tylko do tego aby zewnętrza pętla wiedziała, że wewnętrzna
> każe wyjść.
Raczej przypadek... Albo jakieś dziwne zachowanie kompilatora którego
użyłeś.
ISO-9899-1990 mówi: "6.6.6.3: A break statement terminates execution of
the smallest enclosion switch or iteration statement."
Dlatego więc drugie 'break' w przykładzie który podajesz jest (a
przynajmniej powinno być) martwym kodem.
Prosty test:
int main(void) {
for (;;) {
for (;;) {
break; break;
}
}
return(0);
}
Powyższy program (po kompilacji i uruchomieniu) nigdy się nie kończy. A
mój gcc optymalizuje go to tej postaci :)
.L2:
nop
jmp .L2
GOTO jest faktycznie dość niepopularne w C, i sam mało kiedy mam potrzebę
go użyć, jednak nie zgadzam się z fanatykami którzy twierdzą iż goto to
jakieś największe zło i należy je usunąć z języka.
Jedyna sytuacja którą pamiętam to gdy potrzebowałem wyjść z switch()
zagnieżdżonego w jednej lub dwóch pętlach. Jedno 'goto' pozwoliło domknąć
projekt, zamiast refaktoryzować wszystko kilka dodatkowych dni. Niby
anegdota, ale fajnie mieć pod ręką takie goto 'w razie czego'.
> Kilka lat temu kupiłem sobie ostatnią książkę Stroustrupa o C++.
> Nie przebrnąłem przez całą. Utkwiło mi w pamięci, że według niego jak
> funkcja ma więcej jak 7 linijek to znaczy, że program jest źle napisany.
Też czytałem takie opinie, ale chyba z innego źródła, bo Stroustrupa
przeczytałem tylko wstęp i miałem dość :) Ta reguła siedmiu linijek to
jakiś wymysł nowego pokolenia... Zdarzało mi się miewać takich wśród
moich pracowników. Młodym się chyba nudzi i wymyślają sobie różne zabawy.
A jak trzeba coś konkretnego zrobić to sięgają po zewnętrzne biblioteki
by rozwiązać nawet relatywnie proste sprawy, "bo po co wymyślać na nowo",
a potem projekt nie da się skompilować bo wymaga miliona zależności,
których połowa już nie istnieje lub zmieniła API. Życie.
Mateusz
Następne wpisy z tego wątku
- 24.10.17 12:58 J.F.
- 24.10.17 13:23 Piotr Gałka
- 24.10.17 13:30 Włodzimierz Wojtiuk
- 24.10.17 13:42 Piotr Wyderski
- 24.10.17 13:42 Piotr Gałka
- 24.10.17 13:49 Piotr Wyderski
- 24.10.17 13:52 J.F.
- 24.10.17 14:07 Piotr Gałka
- 24.10.17 14:07 Piotr Wyderski
- 24.10.17 14:12 Piotr Gałka
- 24.10.17 14:17 Piotr Gałka
- 24.10.17 14:27 Piotr Wyderski
- 24.10.17 14:36 Piotr Wyderski
- 24.10.17 14:58 J.F.
- 24.10.17 15:05 Piotr Wyderski
Najnowsze wątki z tej grupy
- Położyłem dwa telefony obok siebie
- Przekaźnik na szynę DIN (?)
- Taśma LED
- Jak odróżnić myjki wibrujące od ultradźwiękowych.
- Ledy na wyłączniku czasowym błyskają
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- RCD wybija
- Re: Kompensacja mocy biernej przy 230VAC
- Łożysko ślizgowe - jaki olej
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- Współczesny falomierz
- Zasilacz 7V na szynę DIN
- Waga z legalizacją
Najnowsze wątki
- 2025-04-09 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-04-09 Warszawa => Senior Product Manager <=
- 2025-04-09 Warszawa => Starszy Konsultant SAP FICO <=
- 2025-04-09 Warszawa => NMS System Administrator <=
- 2025-04-07 C++. Podróż Po Języku - komentarz
- 2025-04-08 Warszawa => Presales - Inżynier Wsparcia Technicznego IT <=
- 2025-04-08 Pomnik Polaków w Berlinie - OK! - ale co z ustawą o mniejszości polskiej?
- 2025-04-08 Uniwersytet Jagielloński zawiesza protestujących studentów
- 2025-04-07 Nagie zdjęcia nauczycieli
- 2025-04-07 czy też tak macie w swoich Wrocławiach?
- 2025-04-07 Czeladź => Specjalista ds. public relations <=
- 2025-04-07 Adam Bodnar przekracza kolejną granicę absurdu. Powoli się szykuje do nowej fuchy w TSUE
- 2025-04-07 Warszawa => Sales Executive / KAM <=
- 2025-04-07 Warszawa => Operations Support Systems (OSS) Team Leader <=
- 2025-04-07 Kraków => MS Dynamics 365BC/NAV Developer <=