-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: "HF5BS" <h...@...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: programowanie w C - bardzo ogólne pytanie o filozofię. Arduino w roli
programatora pralki
Date: Tue, 24 Oct 2017 10:56:23 +0200
Organization: Stowarzyszenie Przeżuwaczy Szmat
Lines: 85
Message-ID: <osmv7f$akl$1@node1.news.atman.pl>
References: <osllnb$psp$1@dont-email.me> <59eeec44$0$653$65785112@news.neostrada.pl>
<osmsrd$mk1$1$PiotrGalka@news.chmurka.net>
Reply-To: "HF5BS" <h...@...pl>
NNTP-Posting-Host: 84-10-156-63.static.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1508835375 10901 84.10.156.63 (24 Oct 2017 08:56:15 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 24 Oct 2017 08:56:15 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7349
X-Antivirus: Avast (VPS 171024-0, 2017-10-24), Outbound message
X-Antivirus-Status: Clean
Xref: news-archive.icm.edu.pl pl.misc.elektronika:725225
[ ukryj nagłówki ]
Użytkownik "Piotr Gałka" <p...@c...pl> napisał w
wiadomości news:osmsrd$mk1$1$PiotrGalka@news.chmurka.net...
>W dniu 2017-10-24 o 09:31, Atlantis pisze:
>> W C/C++ możesz z grubsza programować tak, jak to się robiło w Basicu.
>> Służą do tego etykiety (słowo zakończone dwukropkiem) oraz instrukcja
>> goto. Tylko moim zdaniem nie ma to większego sensu - instrukcja ta
>> przydaje się sporadycznie (choć w pewnych sytuacjach faktycznie się
>> przydaje), a jej nadużywanie drastycznie zmniejsza czytelność kodu. Są
>> tacy, których zdaniem nie powinno się jej używać w ogóle.
>>
>
> Nigdy nie zdarzyło mi się mieć potrzeby użycia w C instrukcji goto, ba,
> nawet jakby mnie ktoś poprosił o wymienienie wszystkich instrukcji
> dostępnych w C to chyba bym sobie o niej nie przypomniał, a używam
> (sporadycznie i nie do mikrokontrolerów) C gdzieś tak od 1986r.
Ja w basicu też mniej-więcej tak. Przyznaję, używałem, w różnych dialektach.
Głównie w sytuacji, gdy np. finalizowałem program i np. trzeba było
przeskoczyć baterię podprogramów (tak, jak najbardziej daje sie programować
strukturalnie, obiektowo? Przyznam, że nie wiem, musiałbym poznać, co to), a
upraszczało to program... Albo z lenistwa :)
>
> Tak się zastanawiam do czego ona mogła by być przydatna i nie bardzo
> potrafię wymyślić jakiś przykład generujący realną taką potrzebę.
Na szybko, z numerami linii, trochę lenistwa (jak np. coś się rzeźbiło
ad-hoc, nie szkoda róż, gdy płonie las, jak szkoda było czasu na
grzeczności)
10 coś-tam
20 gdzieś tam
25 IF n=7 GOTO 50
30 GOSUB 100: REM drapanie po tyłku
40 GOSUB 200: REM klepanie po ramieniu
50 END: REM kończymy program, można zastosować, robiło się IF n=7 THEN END
100 podrap mnie: RETURN
200 poklep mnie: RETURN
Czasami szybciej było tak "na chama", niż tworzyć dodatkowo zestaw procedur.
Poza tym, zajmowało mniej pamięci, niewiele, czasem było to decydujące, jak
program był na styk w pamięci, co w małych komputerkach było całkiem częste.
> A jeśli już w ogóle to chyba tylko wewnątrz jednej funkcji do jakiegoś
> rozwikłania czegoś co w przeciwnym wypadku wymagało by albo dwukrotnego
> napisania kilku linijek programu, albo ujęcia ich w kolejną wywoływaną
> funkcję.
Różnie, często z lenistwa, ale też często z braku (poza GOSUB/GO SUB -
zależnie od dialektu) mechanizmu wspierającego strukturalność w wielu
dialektach BASICa.
Pierwsze możliwości trafiłem w QBASIC M$, gdzie zresztą linie programu są
już w rzeczywistości etykietami i tak przez interpreter uważane. Gdzie
jawnie można już było używać etykiet, już chyba od GWBASICa była też
rozszerzona instrukcja IF: (nie pomnę teraz dokładnej składni, ale mniej
więcej...)
IF n=7
podrap mnie po głowie
powiedz coś miłego
mozna było zagnieżdżać pętle
ENDIF
Jeszcze pętle WHILE-WEND, co dialekt, to inaczej.
> Na pewno wybrałbym jedno z tamtych rozwiązań, a nie goto, choćby dlatego,
> że nie pamiętam o jego istnieniu.
No, gdybym od początku tak mógł..., zresztą nawet wszelkie pisemka
pyszczyły, aby unikać goto, żeby działać strukturalnie, dzięki czemu np. w
razie zmiany jakiegoś komponentu przegrzebać trzeba będzie tylko jego
podprogram, zamiast rzeźbić ponownie całość, taka konstrukcja modułowa.
Zresztą, dla zabawy bawiłem się (tautologia, wiem), w programowanie
strukturalne używając tylko goto, bez gosub i innych procedur definiowanych.
Dzisiaj... chyba już mi się nie bardzo chce, bo się nie bawię...
Sporadycznie...
--
Psy kochają przyjaciół i gryzą wrogów,
w odróżnieniu od ludzi, którzy niezdolni są do czystej miłości
i zawsze muszą mieszać miłość z nienawiścią.
(C) Zygmunt Freud.
Następne wpisy z tego wątku
- 24.10.17 11:22 Janusz
- 24.10.17 11:24 Piotr Gałka
- 24.10.17 11:39 ajt
- 24.10.17 11:45 Piotr Gałka
- 24.10.17 11:58 Piotr Gałka
- 24.10.17 12:27 Piotr Gałka
- 24.10.17 12:30 Mateusz Viste
- 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
Najnowsze wątki z tej grupy
- Zasilacz 7V na szynę DIN
- Waga z legalizacją
- Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- Odkurzacz Smapp Dynamic - dawny Zelmer
- Nagra IV i zewnętrzny pilot
- Fejk muzyczny czy nie fejk
- Raspberry Pi 3 Model B+
- Kuchenka elektryczna
- test
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
Najnowsze wątki
- 2025-03-27 PKW JUŻ odrzuciła 9/53 kandydatów na prezydenta ale może JESZCZE nie mamy Drugiej Rumuni z TEGO powodu :-)
- 2025-03-27 Warszawa => Generative AI Engineer <=
- 2025-03-27 Warszawa => Asystent Sprzedaży <=
- 2025-03-27 Warszawa => Customer Service with Spanish + translation <=
- 2025-03-27 Gdańsk => PHP Developer <=
- 2025-03-27 Warszawa => C Programmer <=
- 2025-03-27 Czy prawo mówi o prawie do udziału w przesłuchaniu pełnomocnika czy pełnomocników?
- 2025-03-27 Warszawa => Programista C <=
- 2025-03-27 Gerald B. zeznawał z DWOMA pełnomocnikami z najwyższej półki
- 2025-03-27 Yanosik
- 2025-03-26 Jaka wełna na poddasze?
- 2025-03-26 Ostrów Świętokrzy => Node.js / Fullstack Developer <=
- 2025-03-26 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2025-03-26 Kraków => Spedytor Międzynarodowy <=
- 2025-03-26 Czujnik dławienia termicznego procesora - który?