Goto page Previous 1, 2, 3, 4, 5, 6, 7 Next
Guest
Fri Apr 28, 2017 8:52 am
W dniu czwartek, 27 kwietnia 2017 23:02:41 UTC+2 użytkownik slawek napisał:
Quote:
On Thu, 27 Apr 2017 20:21:50 +0200, "Grzegorz Niemirowski"
gnthexfiles@poczta.onet.pl> wrote:
linki takie jak przytoczony przekonują mnie, że czasem taka
konstrukcja ma
sens i warto jej użyć.
Czasem (w jezyku C) goto ma sens.
Nigdy nie warto goto używać.
Po prostu aby użyć goto trzeba myśleć w kategoriach goto, czyli
programowania sekwencyjnego. A to bardzo słabe narzędzie.
Zdecydowanie lepiej użyć OOP lub paradygmatu funkcyjnego.
Innymi słowy: goto to takie lutowanie smd lutownicą do rynien.
No nie.
Nawet Linux sie z Tobą nie zgodzi :)
http://blog.smartbear.com/development/goto-still-has-a-place-in-modern-programming-no-really/
Guest
Fri Apr 28, 2017 8:53 am
W dniu piątek, 28 kwietnia 2017 08:53:00 UTC+2 użytkownik sczy...@gmail.com napisał:
Quote:
W dniu czwartek, 27 kwietnia 2017 23:02:41 UTC+2 użytkownik slawek napisał:
On Thu, 27 Apr 2017 20:21:50 +0200, "Grzegorz Niemirowski"
gnthexfiles@poczta.onet.pl> wrote:
linki takie jak przytoczony przekonują mnie, że czasem taka
konstrukcja ma
sens i warto jej użyć.
Czasem (w jezyku C) goto ma sens.
Nigdy nie warto goto używać.
Po prostu aby użyć goto trzeba myśleć w kategoriach goto, czyli
programowania sekwencyjnego. A to bardzo słabe narzędzie.
Zdecydowanie lepiej użyć OOP lub paradygmatu funkcyjnego.
Innymi słowy: goto to takie lutowanie smd lutownicą do rynien..
No nie.
Nawet Linus sie z Tobą nie zgodzi :)
http://blog.smartbear.com/development/goto-still-has-a-place-in-modern-programming-no-really/
Linus, Linus mialo byc
slawek
Guest
Fri Apr 28, 2017 9:03 am
Użytkownik <sczygiel@gmail.com> napisał w wiadomości grup
dyskusyjnych:0cf45f5a-0215-4423-b539-6fa652683631@googlegroups.com...
Quote:
Ja rozumiem wasze podejscie i je podzielam. Ale poczytalem nieco i jednak
są przypadku gdzie goto jest i sprawniejsze i elegantsze
niz dodanie dodatkowych zmiennych, klauzuli if i pogrupowanie akcji.
To co piszesz to bajki. Takie same jak istnienie jednorożców i UFO. Przecież
wszyscy wiedzą że jednorożce istnieją. Z całą pewnością.
Sprawność zapewnia dobry, optymalizujący, kompilator. I odpowiedni algorytm.
Elegancja jest pojęciem subiektywnym. Obiektywny jest czas, wysiłek, koszt
usuwania błędów.
Quote:
Tyle ze aby wiedzieć że w danym miejscu trzeba goto trzeba najpierw
napisac strukturalnie, popatrzeć i ocenić ze to zbyt skomplikowane
Jeżeli ktoś ma niskie IQ, to większość rzeczy będzie dla niego "zbyt
skomplikowanych".
Guest
Fri Apr 28, 2017 11:31 am
W dniu piątek, 28 kwietnia 2017 10:44:48 UTC+2 użytkownik slawek napisał:
Quote:
Przeczytaj. Tam jest wszystko napisane co moglbym ci napisac samodzielnie.
Polecam.
A jak ci sie nie chce czytac to mocno ograniczasz mozliwosci dyskusji.
Guest
Fri Apr 28, 2017 11:32 am
W dniu piątek, 28 kwietnia 2017 11:01:05 UTC+2 użytkownik slawek napisał:
Quote:
Użytkownik <sczygiel@gmail.com> napisał w wiadomości grup
dyskusyjnych:0cf45f5a-0215-4423-b539-6fa652683631@googlegroups.com...
Ja rozumiem wasze podejscie i je podzielam. Ale poczytalem nieco i jednak
są przypadku gdzie goto jest i sprawniejsze i elegantsze
niz dodanie dodatkowych zmiennych, klauzuli if i pogrupowanie akcji.
To co piszesz to bajki. Takie same jak istnienie jednorożców i UFO. Przecież
wszyscy wiedzą że jednorożce istnieją. Z całą pewnością.
Sprawność zapewnia dobry, optymalizujący, kompilator. I odpowiedni algorytm.
Elegancja jest pojęciem subiektywnym. Obiektywny jest czas, wysiłek, koszt
usuwania błędów.
Tyle ze aby wiedzieć że w danym miejscu trzeba goto trzeba najpierw
napisac strukturalnie, popatrzeć i ocenić ze to zbyt skomplikowane
Jeżeli ktoś ma niskie IQ, to większość rzeczy będzie dla niego "zbyt
skomplikowanych".
Przeczytaj linke która ci podesłałem. Dowiesz sie czegos czego dziś nie wiesz.
Marek
Guest
Fri Apr 28, 2017 4:44 pm
On Thu, 27 Apr 2017 20:11:43 +0200, slawek <fake@fakeemail.com> wrote:
Quote:
Od iluś tam lat programuje w C. Nigdy nie musiałem użyć goto. Nigdy
nie było sytuacji w której goto pozwoliłoby aby mój program działał
lepiej lub był bardziej czytelny.
Jak byś optymalnie zaproponowal sprawdzanie np. 100 warunkow
dopsowujacych coś do wzorca bez goto bez zagnieżdzania (z naciskiem
na optymalnie)?
--
Marek
Marek
Guest
Fri Apr 28, 2017 4:46 pm
On Thu, 27 Apr 2017 23:52:59 -0700 (PDT), sczygiel@gmail.com wrote:
Quote:
http://blog.smartbear.com/development/goto-still-has-a-place-in-modern-prog
ramming-no-really/
Tiaa ciekawe, że zawsze w kontekscie goto jest w końcu przywoływany
Linux :)
--
Marek
Grzegorz Niemirowski
Guest
Fri Apr 28, 2017 5:06 pm
sczygiel@gmail.com <sczygiel@gmail.com> napisał(a):
Quote:
Zajrzyjcie sobie do linka który podał Grzegorz. Zajawię również że
gdzieś w kernelu linuxa goto siedzi i jest tam bardzo pozyteczne i nikt
nie miał ochoty go wymieniać na przebieg strukturalny.
Ja rozumiem wasze podejscie i je podzielam. Ale poczytalem nieco i
jednak są przypadku gdzie goto jest i sprawniejsze i elegantsze niz
dodanie dodatkowych zmiennych, klauzuli if i pogrupowanie akcji.
Tyle ze aby wiedzieć że w danym miejscu trzeba goto trzeba najpierw
napisac strukturalnie, popatrzeć i ocenić ze to zbyt skomplikowane, za
duzo warunków i niepotrzebnie będzie się wykonywać a goto jest
zgrabniejsze.
Zerknijcie sobie w internet i poczytajcie gdzie ludzie zdecydowali sie
na goto i wyszlo im na dobre
Tutaj jeden z artów na ten temat.
http://blog.smartbear.com/development/goto-still-has-a-place-in-modern-pro
gramming-no-really/ Goto nie jest dobre w wielu przypadkach ale jednak
czasem jest pozyteczne.
Ależ ja się zgadzam, że goto może być nieraz najlepszym wyjściem. Co prawda
z przyzwyczajenia nie używam, ale te linki mnie przekonują. Mam też
nadzieję, że slawek raczy te linki przeczytać zamiast powtarzać "nie bo nie"
:)
--
Grzegorz Niemirowski
http://www.grzegorz.net/
HF5BS
Guest
Fri Apr 28, 2017 7:58 pm
Użytkownik "Grzegorz Niemirowski" <gnthexfiles@poczta.onet.pl> napisał w
wiadomości news:odvsq9$cf4$1@node1.news.atman.pl...
Quote:
Ależ ja się zgadzam, że goto może być nieraz najlepszym wyjściem. Co
prawda z przyzwyczajenia nie używam, ale te linki mnie przekonują. Mam też
nadzieję, że slawek raczy te linki przeczytać zamiast powtarzać "nie bo
nie"
Ja, lekko ironicznie mówiąc, mam takie spojrzenie na to, co przewrotnie
ilustruje ten wierszyk Krasickiego: (którego też jest wzmianka w stopce)
https://wolnelektury.pl/katalog/lektura/wyrok-bajki-nowe.html
Wychodzę z założenia, że mając problem, szukam narzędzia, a jak mam problem
i JAKIEŚ narzędzia, czasem i tak szukam innego, bo co, jeśli mam wbić gwóźdź
w ścianę, to szukam młotka, proste, teoretycznie mogę spróbować obcęgami
uniwersalnymi, jak mają masę, to pewnie nawet wbiją, ale lepiej jednak
młotkiem. Jak potrzebuję wyciągnąć gwóźdź ze ściany, to sytuacja się
odwraca... Młotkiem się namęczę (chyba, że to taki przystosowany, to inna
sprawa), a obcęgami hop, zacisnę, oprę, pociągnę i wyciągnę.
--
I śmiech niekiedy może być nauką,
Kiedy się z przywar, nie z osób natrząsa(...)
Szanujmy mądrych, przykładnych, chwalebnych,
Śmiejmy się z głupich, choć i przewielebnych.
(C) bp. Ignacy Krasicki "Monachomachia V"
Marek
Guest
Fri Apr 28, 2017 10:33 pm
On Fri, 28 Apr 2017 19:06:18 +0200, "Grzegorz Niemirowski"
<gnthexfiles@poczta.onet.pl> wrote:
Quote:
Ależ ja się zgadzam, że goto może być nieraz najlepszym wyjściem.
Co prawda
z przyzwyczajenia nie używam, ale te linki mnie przekonują. Mam też
nadzieję, że slawek raczy te linki przeczytać zamiast powtarzać
"nie bo nie"
Może pomoże link cytowany z powyższego linka z przykładem:
http://www.cprogramming.com/tutorial/goto.html
--
Marek
Guest
Fri Apr 28, 2017 11:22 pm
W dniu piątek, 28 kwietnia 2017 19:06:18 UTC+2 użytkownik Grzegorz Niemirowski napisał:
Quote:
Tutaj jeden z artów na ten temat.
http://blog.smartbear.com/development/goto-still-has-a-place-in-modern-pro
gramming-no-really/ Goto nie jest dobre w wielu przypadkach ale jednak
czasem jest pozyteczne.
Ależ ja się zgadzam, że goto może być nieraz najlepszym wyjściem. Co prawda
z przyzwyczajenia nie używam, ale te linki mnie przekonują. Mam też
nadzieję, że slawek raczy te linki przeczytać zamiast powtarzać "nie bo nie"
:)
Tez mam taka nadzieje

Bo nie powiem ze goto kiedys uzylem ale zrozumialem swoje rozterki z chwil kiedy mialem do zaprogramowania flow z warunkami i po zapisaniu i skopiowaniu paru fragmentów miedzy gałęziami zaczynałem myslec czy nie lepiej tego w funkcje zamknąć albo czy nie da sie tego jakos inaczej zrobic bez duplikownaia kodu.
Wymyslalem wtedy wersje z zmiennymi sterującymi ale dalej nie bylo to to co bym chcial.
No i w skryptach gdzie nie ma obsługi wyjatków goto potrafi naprawde całkiem mocno poprawić obsługe problemów :)
Ale przyznam ze nie stosowalem zbytnio. Wole wersje strukturalne choć nie czuje sie z nimi komfortowo.
Po przeczytaniu tych artów przestałem sie trapić tym zagadnieniem, okazało sie ze nie jestem jedyny i paru mądrzejszych odemnie ten sam problem miało i lepiej go rozwiązac nie umieją
slawek
Guest
Sat Apr 29, 2017 5:36 am
On Fri, 28 Apr 2017 18:44:12 +0200, Marek <fake@fakeemail.com> wrote:
Quote:
Jak byś optymalnie zaproponowal sprawdzanie np. 100 warunkow
dopsowujacych coś do wzorca bez goto bez zagnieżdzania (z naciskiem
na optymalnie)?
Drzewo.
slawek
Guest
Sat Apr 29, 2017 6:22 am
On Sat, 29 Apr 2017 00:33:30 +0200, Marek <fake@fakeemail.com> wrote:
Quote:
Cały dowcip w tym że "problem" ibidem to:
1. Brak w C mechanizmu wyjątków i GC.
2. Brak w C zagnieżdżonych funkcji.
3. Chęć upchania wszystkiego w jednej funkcji.
4. Niechęć do używania zmiennych logicznych.
A wystarczy: każdą operację przydziału księgować true/false; tam
gdzie istotne sprawdzać te zapiski; gdy zajdzie potrzeba uwalniać te
zasoby które były przydzielone.
Wariantem jest trik z NULL. Można po prostu nie zastanawiać się czy
wywołać free(ptr). Bo jeżeli ptr dostało pamięć to trzeba, a jak nie
dostało (calloc itp.) to ptr jest NULL, free(NULL) będzie
nieszkodliwe, to i tak można.
Marek
Guest
Sat Apr 29, 2017 7:42 am
On Sat, 29 Apr 2017 07:36:06 +0200, slawek <fake@fakeemail.com> wrote:
Quote:
Drzewo.
Przykład poproszę, coby nie pozostać na domysłach.
--
Marek
Marek
Guest
Sat Apr 29, 2017 8:03 am
On Sat, 29 Apr 2017 09:42:11 +0200, Marek <fake@fakeemail.com> wrote:
Quote:
Przykład poproszę, coby nie pozostać na domysłach.
Może inaczej, zaproponuj wydajniejsze rozwiązanie bez goto dla
przypadku omawianego tutaj:
http://www.cprogramming.com/tutorial/goto.html
--
Marek
Goto page Previous 1, 2, 3, 4, 5, 6, 7 Next