Otwarte Forum Tematyczne – 10.04.2015

Kolejna audycja z Krzysztofem Michalikiem o sztucznej inteligencji, gdzie więcej o systemach ekspertowych i sieciach neuronowych.


Rozmowa z Bogdanem Jotem, autorem książki pt.: „Marihuana leczy„.


Rozmowa Janusza Zagórskiego z Bożeną Przyjemską o jej autorskim seminarium pt.: „Dlaczego chorujemy? Jak temu zapobiec?” Seminarium planowane jest na 19 kwietnia 2015 r.

Bożena Przyjemska – naturoterapeutka, dietetyczka, osteopatka, magister biologii z wykształceniem medycznym. Na stale mieszka w Kanadzie. Od 30 lat pomaga przywracać zdrowie chorym w Polsce, Kanadzie, USA. Ekspert w dziedzinie badań wpływu glutenu oraz  kazeiny na zdrowie współczesnej populacji oraz założycielka Polsko – Kanadyjskiego Stowarzyszenia oraz Instytutu Terapii Czaszkowo-Krzyżowej. Od kilkunastu lat prowadzi szkolenia technik osteopatycznych. Autorka wielu publikacji, w tym “Niebezpieczne zboża. Groźny gluten”, “Terapia Czaszkowo-Krzyżowa”.

Ten wpis został opublikowany w kategorii 1. Pn: Otwarte Forum Tematyczne, Archiwum audycji i oznaczony tagami , , , , , , , , . Dodaj zakładkę do bezpośredniego odnośnika.

42 odpowiedzi na „Otwarte Forum Tematyczne – 10.04.2015

  1. Gaja pisze:

    Odnosnie narkotyków – to nigdy nie powinniśmy konsumować tego , co jest szkodliwe dla naszego ciała- co ogranicza dopływ tlenu do mózgu . Gdyż , jeżeli tak się dzieje, kiedy dopływ tlenu do mózgu jest ograniczony, umierają tysiące komórek, które nigdy się nie odnowia – ponieważ mózg nie posiada zdolności , reprodukcji swoich komórek. Kiedy te komórki zostana zniszczone, zmniejsza się zdolność przekształcania myśli w emocje, których możemy doświadczać w naszym ciele. Stanie się wtedy tak ,że chociaż będziemy mogli zastanowić się nad myśla , to nie bedzie ona miała dla nas , żadnej wartości. Wtedy stracimy radość życia, ponieważ jak moglibyśmy doświadczyć myśli, jeżeli nie możemy się nią stać , za pośrednictwem uczucia ? Kiedy nie jesteśmy w stanie czuć, nie jesteśmy w stanie rejestrować „zrozumień” , na tej płaszczyżnie istnienia. Takie jest właśnie zło , jakie wyrządzamy naszemu mózgowi, kiedy palimy to , co nazywamy potocznie trawką ,albo używamy środków , które wywołuja halucynacje. Za każdym razem , kiedy ich używamy, eliminujemy tlen z naszego mózgu. Śmierć naszego mózgu , wywołuje to , co nazywamy „uniesieniem”, które się czuje w takich stanach. Za każdym razem kiedy to się dzieje , ograniczamy tym samym, naszą zdolność osiągnięcia wiedzy. Dla tych ,którzy to czynią, nadchodzi wreszcie taki czas , kiedy nie są w stanie ani płakać , ani się śmiać- ponieważ nie są w stanie znalezć wystarczająco silnego środka , który wywołałby w takiej osobie emocje. Nasze wzruszenia nad rozkwitajacym kwiatem , śpiewem ptaków, zachodzącym lub wschodzącym słońcem i rozumieniem splendoru takich chwil -jest dowodem na to , że posiadamy zdolność przekształcenia myśli w uczucie , i to jest ta prawdziwa ekstaza . Każdy z nas jest piękniejszy i doskonalszy , ponad te wszystkie upiększacze i zniewalacze – gdyż znacznie wykracza , ponad to „piękno” ,które się nam niekiedy tutaj proponuje i którego niektórzy doświadczają – płacąc za to najwyższym dobrem jakim dysponują , czyli własnym zdrowiem .

  2. Qcyp pisze:

    Świetny materiał Młody.Dodam od siebie jeszcze jedną stronkę, która niby to z humorem i dowcipem wciąga/nakłania do narkotyków.
    http://rebelianci.org/488361/Konopie-lecza-z-uzaleznienia
    No i tradycyjnie ,,My, dzieci z dworca Zoo” ku PRZESTRODZE wszelakim zapaleńcom.
    http://www.cda.pl/video/10411459/My-dzieci-z-dworca-Zoo-online-Caly-Film-Napisy-PL-HD

  3. Astre pisze:

    @Gaja
    Wyłącznie nasze DNA nie posiada mechanizmów samonaprawczych, dlatego nie można mówić wprost o ”śmierci mózgu”, bo tak samo jak i w innych naszych narządach co 7 lat komórki w mózgu zostają wymieniane na nowe.
    Kolejną sprawą jest to, że to nie mózg jest centrum świadomości, to nie mózg jest umysłem, lecz owe centrum znajduje się w przestrzeni serca. Wiadomo również, że przestrzeń serca nie znajduje się w sercu, lecz obok. Można zatem posiadać uszkodzony mózg co często niestety się zdarza u ludzi, którzy np. doznali wypadków samochodowych, ale wcale u nich nie nastepuję redukcja typu ( myśli- uczucia), lecz mają oni tylko problem z werbalizacją, czyli nie mogą tego wyrazić.

    Dlatego piszesz w sposób redukcjonistyczny. Tymczasem człowiek jest zbyt skomplikowaną wielowymiarową istotą, aby takie twierdzenia wygłaszać, bo są one nie spójne i nie prawdziwe.

    Proponuję popracować ze swoją własną przestrzenią serca, którą jest przestrzenią świadomości szczególnego rodzaju, a nie mózgiem, który jest zbyt prymitywnym narzędziem, aby doświadczać wyższych stanów świadomości.

    Proste ćwiczenie, które pozwala doświadczyć swojej przestrzeniu serca polega na tym
    o czym mówi Pani Anna Kubica na Harmonii Kosmosu w ramach dwupunktu, czyli synchronizacji kwantowej.

    https://www.youtube.com/watch?v=SjZXeCUAeUQ

    Jest tu mowa, o tym, że wyobrażasz siebie samą w głowie następnie wsiadasz do windy, która zjeżdża do poziomu serca, nastepnie wysiadasz z tej windy. I w tym momencie powinnaś poczuć tą przestrzeń serca.
    Jednak jak wiadomo z synchronizacji kwantowej jak i z obserwacji siebie – poczuć NIE znaczy myśleć, gdyż tak zwany wewnętrzny racjonalny, potoczny dialog myśli zdecydowanie zakłóca synchronizację z przestrzenią serca. Dlatego Pania Ania Kubica mówi – wyłączaj myślenie, a jak myśl jakaś się pojawi, to natychmiast trzeba ja wrzucić do tej windy.
    Oczywiście jest proste ćwiczenie dla tzw. początkujących, niemniej skuteczne.

    Bardzo wiele pisze się na polskich, jak i zagranicznych serwisach o świadomości przestrzeni serca jako świadomości szczególnego rodzaju wystarczy tylko kliknąć myszką i jak z rogu obfitości pojawią się na ten temat informację.
    Między innymi pisze o tym Joanna Stawicka :

    http://joannastawicka.pl/przestrzen-serca.html

    I na koniec.
    @Gaja tylko nie tłumacz w sposób światopoglądowy swoje wpisy/komentarze, czy udowadnianie swoich racji, bo liczą się tylko konkretne narzędzia pracy z sobą i rzetelne informacje.
    A, jak popracujesz przynajmniej przez pół roku ze swoją przestrzenią serca, to sama osobiście stwierdzisz co powyżej naspisałem i zapomnisz o tym, że mózg spełnia jakąkolwiek rolę w procesach poznawczych, wyższych ludzkich uczuciach, kreacji.
    Nie wiem, czy jeszcze jest w sieci film, w którym to jeszcze w latach 60-tych przeprowadzono badania i udowodniono, że nawet myśli nie powstają w mózgu, a co dopiero mówić o innych procesach.

    Pozdrawiam i życzę owocnych przemyśleń, a przede wszytkim owocnych działań, bo samym pisaniem nikt jeszcze niczego nie osiągnął.

    • Gaja pisze:

      Wiem o wszystkim o czym napisałeś/łaś . Powtarzasz w większości to ,co już ujęłam swojej wypowiedzi . Nie rozumiem o co ci chodzi i dlaczego próbujesz mnie pouczać w sprawach oczywistych ???

      • Astre pisze:

        @Gaja
        Nie wiem, czy w ogóle z Toba można rozmawiać, a co dopiero pouczać. Pouczać to można kogoś, kto zabłądził i jest chętny poszukać czegoś innego.

        Implikujesz tu czytelnikom informacje – cytuję : ” Kiedy te komórki zostana zniszczone, zmniejsza się zdolność przekształcania myśli w emocje ”

        A, ja piszę, że w świetle dzisiejszej wiedzy, jak również tego co samemu można doświadczyć, żadne komórki neuronowe nie przekształcają myśli w emocje. Nie wspomnę, że myśli, a emocje, to zupełnie dwie różne sprawy i chyba nawet każdy z tutejszych czytelników łatowo rożróżnia myśli od emocji.

        Nie wiem, ale wymiana wiedzy/ informacji z Tobą mijają się z celem, bo to Wszystko wiesz, a inni z pewnością się mylą.

        Zatem żyj sobie jak żyjesz i tak będzie dobrze…

    • Gaja pisze:

      @Astre Z tego co zbadano na obecną chwilę – komórki mózgu nie regenerują się samoistnie , więc nie wprowadzaj ludzi w błąd .

      • Qcyp pisze:

        Wszystkie komórki regeneruje się spontanicznie. Nasze ciała Fizyczne są nieśmiertelne.:D

      • Astre pisze:

        @Gaja
        Nie wiem w jakim celu manipulujesz informacją ?..! Właśnie na dzień dzisiejszy (wiadomo) , że mózg posiada zdolności regeneracji.
        Poczytaj sobie choćby wyniki badań Australijskiego Instytutu MENZIES, gdzie udowodniono, że najważniejsza część mózgu -kora mózgowa np. (po uszkodzeniu) potrafi się zregenerować, czyli dostosować do nowych warunków.

        Nie wspomnę już o tym, że znany lek cerebrolizyna uruchamia procesy samonaprawcze komórek neuronowych !

        Na koniec stwierdzam, że w beszczelny sposób manipulujesz twierdząc publicznie, że ja wprowadzam ludzi w błąd ?…!

        Oducz się kobieto takich publicznych insynuacji dobrze Ci to zrobi.

      • Gaja pisze:

        @Astre Mocnych słów używasz , jak na osobę „głeboko” uduchowioną . Smutne to . Czytaj zatem jeszcze raz , to co napisałam :komórki mózgu , nie regenerują się SAMOISTNIE !!! Gdyby tak było , to ludzie po udarach , zatorach , ciężkich urazach głowy – wracaliby do zdrowia po 7 latach , tak jak to ująłeś w swojej wypowiedzi . Komórki mózgu mają tyle lat , ile mamy my sami , koniec i kropka .

  4. Zielarz pisze:

    „goto” w kodzie ? a fuj ! 😉

    • A kto powiedział, że to „fuj”? Czy Pan wie, że to najszybsza instrukcja? Skoro jest Pan jest ekspertem programowania, to proszę odpowiedzieć NAM WSZYSTKIM: 1) Czy resztę kodu Pan rozumie i co on oznacza poza goto? 2) Dlaczego GO TO jest najszybszą instrukcją? Czy Pan sądzi, że ja budując tak skomplikowane systemy i mając naukowe i teoretyczne również elementy wiedzy od wielu lat w tej dziedzinie (inżynierii oprogramowania), nie wiem o cechach GO TO? Jedną podałem. Kolejne pytanie do Pana Recenzenta – dlaczego go to „fuj”, bo to w oczywisty sposób niezbyt godne profesjonalisty, informatyka stwierdzenie? Podpowiem Panu – ma związek z tzw. programowaniem strukturalnym (3) co to jest programowanie strukturalne?) i artykułem pt. (z pamięci, lata temu): „Go to statement considered harmful” – pytanie 4 – kto napisał ten artykuł i dlaczego? Pytanie 5) dlaczego czasem warto jak u mnie użyć „go to”? (test na logikę myślenia i praktyę programowania) 6) Jakie ograniczenia nakładał na programistę system DOS i ówczesne PeCety i jaki związek może to mieć z goto? Pytanie 6) co oznaczają drugie i trzecie strzałki w kodzie i czym są w reprezentacji na poziomie procesora i RAM?
      Wszyscy czekamy na odpowiedzi Pana Eksperta – Recenzenta 🙂
      Z poważaniem,
      Krzysztof Michalik

      • P.S.: 7) Jakie instrukcje współcześnie zastępują najczęściej go to, którego semantyka bywa potrzebna? 8) Skąd bierze się na poziomie procesora ogromna szybkość instrukcji go to?
        Pozdrawiam,
        Krzysztof Michalik

      • eNeN pisze:

        A ja też Panie Krzysztofie uwielbiam komendę GoTo 🙂 Racja. W gruncie rzeczy, choć na prawdę dawne dzieje bo zwyczajnie nie można się zajmować wszystkim w Życiu więc nie programuje, wszystkie Stałe, zmienne, definiowalne do jakich można się odwołać właśnie też strukturalnie to to samo co goto 🙂 Jakieś if, else, case to podrzędne, co najwyżej składowe.

        Dla laików jak ja 🙂
        goto === idz / skocz do (kiedyś wiersz) Gdziekolwiek

        If === Warunkowa jeśli warunek jest lub (!) nie jest spełniony, przeskocz / pomiń lub wykonaj.

        else === w przeciwnym razie i tu dalsze instrukcje wewnątrz pętli if

        case == wybierz opcje. czyli jeśli to skocz do wyboru to po prostu inny rodzaj pętli, niby elegancki, czasem i owszem.

        Zmienne i stałe i takie definicje właśnie (wystarczy zachować składnie) to takie znaczniki, większej partii kodu, jak na przykład w obiektówce całe moduły.

        I tyle pamiętam heeee 😛

        Aha Język programowania jest drugorzędny bo to samo powiedzmy można uzyskać na wiele sposobów bo i tak jest to sposób komunikacji z maszyną i przechodzi właśnie przez kompilator 🙂 Czyli na wyjściu i tak mamy język maszynowy z samych 0 i 1, coś i nic, prawda i fałsz, + i – no elektronika. 😉

      • eNeN pisze:

        Dla ścisłości poetycko 😛

        === to znaczy identyczne pod każdym względem, wielkość znaków i te rzeczy, w tym zawartość, znaczenie po prostu jota w jotę.

        == to znaczy właśnie takie, ale nie koniecznie identyczne pod KAŻDYM względem. takie bardziej wnikliwe więc nie zupełnie dowolne w zapisie czy rodzaju.

        = znaczy że ujdzie, nawet jak kto jest kaprawy na jedno oko byle to samo znaczyło. A to samo różnie można zapisać, cyfrą, słowem, odniesieniem do zmiennej, stałej, definicji, wyniku.

        Tu dochodzi kwestia ” „, ‚ ‚, wartości do jakich się odnosimy czy są tekstowe czy inne jak określające prawdę czy fałsz … 1 lub 0 albo w ogóle zawartość, nie użyłam więc nie wyjaśniam ale tak to właśnie jest 🙂

      • eNeN pisze:

        A te strzałki >>> to są właśnie definiowalne globalne stałe 🙂 Tyle że bezpieczne 😛 to jest to samo co goto hihi 🙂

        Jeszcze pamiętam Pana wykłady z PHP 😛

      • Zielarz pisze:

        ktos tu chyba wyswietla strone w terminalu tekstowym i nie widzi emotikonek 😀
        goto (takie z C) zapewne przeklada sie na pojedyncza intrukcje asamblerowa i moze i jest najszybsze o ile jest „bliskie” i nie wymusi przeladowania cache’u procesora. Stosowanie go w dzisiejszych czasach uznaje sie zasadniczo za nieeleganckie i jak wiemy zawsze da sie zastapic jakiegos typu petla (ktora jak oczwiscie wiemy po kompilacji zostanie sprowadzona do skokow w kodzie maszynowym). Moglbym tu sie zaczac „produkowac” i „udowadniac” ale naprawde nie wydaje mi sie to na miejscu. Prosze zrobic krok w tyl od monitora Panie Krzysztofie i zobaczyc jaki byl moj maly poscik a jaka Panska reakcja.
        Pozdrawiam i czekam z niecierpliwoscia na dalsze audycje.

      • eNeN pisze:

        Idę zresztą to nie kurs, ale tego jest mniej – więcej, znacznie więcej jak na przykład definiowanie własnego języka komunikacji. To dopiero jest magia, mówisz i masz 🙂

      • @ eNeN

        Dziękuję za zainteresowanie tematem i moją prezentacją zagadnień sztucznej inteligencji (AI) ! :).
        Dobrze Pan pamięta istotę IF ELSE i SWITCH, brawo !:)
        Kwestię zmiennych wskaźnikowych (bo to poważniejszy temat sam w sobie) wyjaśniłem w 1 zdaniu Panu o nicku „Zielarz”.
        Natomiast co do : ===, ==, =, wygląda to ogólnie tak (oprę to o kilka z języków, które znam: Algol, Pascal, C (++), C# i Prolog.
        Dawniej (np. Fortran, Cobol ale tylko w wersji z instrukcją Compute)
        używano wyłącznie jednego znaku ‚=’. Oznaczał on jednak 2 różne rzeczy: 1) instrukcję przypisania 2) wyrażenie relacyjne/porównania wartości, co powodowało „przeciążenie” tego operatora i niejednoznaczność. Dlatego później w wymienionych języka wprowadzono dla tych 2 przypadków osobne operatory, np. w C: ‚=’ to przypisanie, a dwuznak ‚==’ to porównanie, w Pascalu przypisanie, podobnie jak w moim języku systemu PC-Shell i Neuronix oznacza się przez dwuznak ‚:=’. To o czym Pan pisze co do identyczności nie występuje we wspomnianych językach z wyjątkiem Prologu. W Prologu instrukcja przypisania stosuje operator (de facto słowo) „is”, natomiast ‚=’ oznacza możliwość uzgodnienia wyrażeń, lub inaczej wcielenia, konkretyzacji (od: instantiation). Gdy Pan pisze o identyczności, to w Prologu oznacza się to przez dwuznak ‚==’. W C(++), C# i nie tylko ‚==’ jak wspomniałem oznacza równość wartości na zasadzie 4 == 4. W Prologu, nie wcielone (nil) X, np. X == 4 generuje wartość logiczną fałszu, natomiast X = 4, podczas ewaluacji generuje prawdę, z przypisaniem 4 zmiennej X. Czasami mówi się w przypadku Prologu i programowania w logice, wręcz, że X staje się wartością 4, stąd instantiation.
        Zapraszam do dalszych moich programów o AI – unikam w nich pokazywania bardziej efektownych filmików, np. o robotach itp, starając się wyjaśnić pewne mechanizmy AI i wybrane technologie, by można cokolwiek zaprognozować czy spekulować o przyszłości sztucznej inteligencji. W przypadku dalszych pytań nt. programowania komputerów lub z AI, postaram się możliwie szybko odpisać (na ile liczne obowiązki mi pozwolą).
        Pozdrawiam,

      • eNeN pisze:

        Dziękuję Panie Krzysztofie za miłą odpowiedz :). Ja po prostu wczoraj się troszkę uśmiałam z tej kwestii o goto i tak jakoś nasmarowałam, fakt że aż było mi troszkę później głupio, bo przecież właśnie choćby kwestie w innych językach, a już o poetyckim nastroju nie wspomnę 😉 Tym bardziej że hee obejrzałam wykład dopiero później o jejku. Ale nie ukrywam że, miło odświeżyć już przykurzone neurony, a sam temat wręcz mnie pasjonuje. Właśnie też z uwagi na taką zbieżność z naszymi ciałami, a może raczej że to była droga też do ich zaprojektowania w moim przekonaniu. Bo jak ja jako przecież tylko pasjonatka to rozumiem, to nasze ciała są najwyższej klasy maszynami biologicznymi, i długo by przecież spisać pod jakimi względami przewyższającymi klasyczne maszyny, a choćby że są bio-degradowalne czyli eko bo ileż złomu by zalegało i le to kwestii jak przystosowanie, wzrost rozwiązuje, no i potrafią się samo-naprawiać, oraz reprodukować, a paliwo mają wszędzie i tak dalej, gdzie dziwi mnie trend do poprawiania dzięki gorszym wstawkom ludzkich ciał, gdzie się nie doceniamy wyraźnie 🙂 No wiadomo, nasze maszyny też już prawie są niczego sobie i do wielu celów lepsze… No ale to takie moje tylko przemyślenia 🙂 Nie mogąc już się doczekać Systemów neuronalnych.

        Dziękuję i
        Serdecznie pozdrawiam 🙂

    • eNeN pisze:

      Dla ścisłości sorki wyrwałam się, ja jestem SeJa, nie Zielarz choć to fajny gościu i nie głupi, ale dowalił 🙂

      • eNeN pisze:

        ciuś ciuś 😀 zygu zygu 😛

      • Witam,
        Nie szkodzi :), ja muszę oczywiście jako naukowiec ale i chyba jako tzw. praktyk (nie lubię tego podziału – a co znaczy teoretyk lub praktyk w matematyce, fizyce?) stać „na straży” meritum no i swojej opinii. Ważne, że udało się – mam nadzieję – wyjaśnić istotę tej uwagi.
        Pozdrawiam,
        Krzysztof Michalik

    • Proszę Pana,
      Rozumiem „emotkę”, niestety pojawiło się słowo fuj, a to laicy mogli źle odebrać i podważało trochę mój profesjonalizm. A na programowaniu raczej się znam 🙂 Moja reakcja była bardzo rzeczowa w związku z tym, nie żywiłem do Pana urazy, a po Pana ostatnim wyjaśnieniu traktuję Pana życzliwie, szacunkiem i sympatią. Musiałem jako dość zaawansowany programista zareagować i to Pan zapewne rozumie, nie tylko dla Pana, ale również wobec naszych Czytelników. Wybrałem metodę pytań retorycznych, z których wszystkie zawierają w ukrytej odpowiedzi wyjaśnienie dlaczego GO TO. Nie mam oczywiście miejsca na wykład tutaj, bo musiałbym sporo teorii ale także osobistych doświadczeń pisać, zatem zwięźle było odpowiedzieć retorycznymi pytaniami. W takim razie trochę dla Pana, a także zainteresowanych Czytelników, bardzo skrótowo sam odpowiem na te pytania wyjaśnienia.
      1. Tu nie chodzi o RAM i cache – to kwestia procesora! GO TO jest najszybszą instrukcją, dlatego, że wszystko co procesor musi zrobić to zmienić wartość licznika rozkazów w ramach tzw. cyklu rozkazowego procesora! Żadnych dodatkowych instrukcji jak przy FOR WHILE itd. Dlaczego szybkość miała dla mnie znaczenie? Bo system jest ogromny, tysiące wierszy kodu i wiele iteracyjnych operacji wynikających z algorytmu – a to oznacza stratę czasu, zatem im szybsze instrukcje to uzysk czasu na jednej z nich jest mnożony przez krotność iteracji. System był m.in. dlatego zaprogramowany w „czystym” C a nie C++ dla optymalizacji translacji i szybkości kodu wynikowego. Ponadto, GOTO nie jest tłumaczone jak Pan pisze na assembler (generalnie nie tłumaczy się na assemblery lecz języki maszynowe-wewnętrzne), ale jak pisałem, GOTO w istocie niczego nie robi poza zmianą LR. Do tego, pierwsze wersje były pisane pod DOS, gdy był duży limit pamięci (GOTO – znowu zaledwie 1 instrukcja języka maszynowego. Znam to nie tylko z teorii ale poza znajomością działania procesorów programowałem translatory (system PC-Shell, który pokazałem ma swój język mojego projektu i własny translator), ale również programował w języku wewnętrznym zapisywanym od razu binarnie. Przez długi czas PeCety dzialały za wolno jak na tak złożony obliczeniowo problem i ważne było by użytkownik nie czekał na rozwiązanie, tylko błyskawicznie je dostawał. 2) A o jeśli algorytm nakazuje warunkowe opuszczenie pętli bez jej zakończenia? Wtedy goto jest konieczne w praktyce. W C, C++, C# tę funkcję GOTO w „zakamuflowanej” postaci pełnią instrukcje BREAK – ale to nadal tłumaczy się podobnie jak GOTO, tylko lepiej wygląda – to nadal wcześniejsze opuszczenie pętli czyli tzw. skok.
      3) Sąd to się wzięło? Od artykułu E. Dijkstry w 1968 roku pod tytułem, który podałem, co można tłumaczyć jako „GOTO uznane za szkodliwe”. To potem wpłynęło i było związane z tzw. programowaniem strukturalnym i zniechęcano, a nie zakazano do użycia GOTO bo ta instrukcja jest do dziś obecna w językach programowania. Problem z GOTO polega tylko i wyłącznie na tym, że nadużywanie goto, tam gdzie można użyć instrukcji strukturalnych może komplikować czytelność programu, co może wpłynąć z kolei na prawdopodobieństwo popełnienia błędu, a także trudność anaalizy. Ale są sytuacje, jak ta pokazana przeze mnie (i nie o goto w tej prezentacji mi chodziło), gdy goto zwiększa czytelność i szybkość działania kodu. W zwykłych programach to ma mniejsze znaczenie ale mój system (PC-Shell) jest systemem narzędziowym, z własnym translatorem itd itd musiał więc działać niezwykle szybko i w istocie tak działał (nawet z tymi powolnymi procesorami) i nadal tak działa. Co do tych strzałek – to znowu dowód na to, że wolałem utrudnić sobie zadanie, osiągając większą optymalizację kodu, zarówno w zakresie zajętości pamięci jak i szybkości. One oznaczają zmienne wskaźnikowe wskazujące na inne zmienne wskaźnikowe, odwołując się wprost do adresów zmiennych i innych złożonych struktur danych. To też jest najszybszy sposób dostępu do struktur danych, które są używane w moim systemie, co w systemie narzędziowym, w którym mają działać inne programy po translacji ma ogromne znaczenie. To najkrócej jak można wyjaśnienie skąd to goto i nie należy jej demonizować, wiem jako wieloletni praktyk, a nie jedynie teoretyk programowania. Na pozostałe pytania jeśli Pan zechce też odpowiem. Podkreślam jednak, że celem pokazania tego kodu nie było goto (akurat najprostsza instrukcja), a na zasadzie „1 przykład wart 1000 słów” najszybsze wyjaśnienie telewidzom czym jest owa „jawna reprezentacja wiedzy” o której w programie mówię, a także ogromnej różnicy pomiędzy deklaratywnym zapisem wiedzy w systemie ekspertowym skonfrontowanym z imperatywnym zapisem z użyciem konwencjonalnych języków programowania. Mam nadzieję, że ten przykład pokazał PT laikom istotę i drastyczność nawet tej różnicy oraz ów przełom w informatyce. W razie dalszych pytań, chętnie odpiszę w miarę czasu. Pozdrawiam.

    • Witam,
      by dopełnić moje zdanie takie post scriptum (mocne) – te osoby, które Panu powiedziały napisały o tak ortodoksyjnym traktowaniu goto nie mają pojęcia o budowie (realnej o programowaniu) systemów narzędziowych i systemów operacyjnych (1 system operacyjnych zbudowałem, narzędziowych z 7), tylko w najlepszym razie tzw. aplikacje, w których przy dzisiejszej PAO (RAM) i szybkościach procesorów nie wymagają żadnych optymalizacji. Dopiero gdy wejdzie się w dużo bardziej złożone obliczeniowo programy, nagle widać problemy (jak z mikro i makroświatem po użyciu mikroskopu). Te osoby po prostu pojęły przekaz „goto jest złe” i to na nieszczęście z kwantyfikatorem ogólnym, czyli bzdurę merytoryczną. A te złożone obliczeniowo problemy nie pojawiają się np. w programach płacowych, kadrowych (w firmach), lecz wspomnianych narzędziowych i systemach operacyjnych. Zatem jest to prawda na poziomie prostszych programów bez twardych kryteriów optymalizacyjnych. Owszem obecnie RAM i szybkość może rozszerzać tę granicę lekceważenia optymalizacji, ba, nawet powodować zasadność takiego podejścia – do momentu gdy pojawią się biliony iteracji itd itd – nagle znowu ten problem da znać o sobie. Elegancja (którą Pan wspomniał), to właśnie m.in. (wśród wielu cech programu) = optymalizacja kodu!
      Proszę np. w ogromnych księgach Knutha np. dotyczących problemu sortowania, jak autorzy algorytmów walczą o kolejne ułamki sekund. Posortować 100 liczb można w komórce ale miliardy, biliony, tryliony? Tu znowu trzeba optymalizacji – dlatego programista, który nie ma nawyku optymalizowania kodu, dla mnie (!!!) nie jest zbyt dobrym profesjonalistą.
      Myślę, że tym post scriptum dopełniłem na tym poziomie przekazu wyjaśnienia kwestii optymalizacji kodu i goto 🙂
      Pozdrawiam,
      Krzysztof Michalik

      • Zielarz pisze:

        czuje sie jak akupunkturzysta ktory jedna celna szpileczka wyzwolil zalegajace od lat poklady szkodliwej energii. 🙂

        nie lubie ani przepisywac cudzego ani sie rozpisywac. Zobaczmy tu:
        http://en.wikipedia.org/wiki/Goto
        jak widac grupa przeciwnikow stosowania goto istnieje dluzej niz wiekszosc z nas jest na swiecie. Nie wydaje mi sie by istnialo cos takiego jak powaznie traktowana grupa popularyzatorow goto. Mozna jedynie powiedziec o programistach optymalizujacych kod kosztem elegancji i jakoby „obnizajacych poziom abstrakcji” kodu. To nie jest regula a wyjatek od reguly.
        Odwaze sie postawic teze ze przyjdzie dzien gdy kompilatory beda generowaly tak doskonaly kod maszynowy ze nie bedzie potrzeby go optymalizowac w ten sposob. Jezeli tak sie jednak nie stanie jestem tak samo przekonany ze nigdy nie bedziemy swiadkami „wielkiej reaktywacji goto” ( w jezyku wysokiego pozomu). Bylby to powrot do czasow fortrana.

        Pozdrawiam serdecznie.

      • Zielarz pisze:

        ciekawa wymiana zdan:
        http://koblents.com/Ches/Links/Month-Mar-2013/20-Using-Goto-in-Linux-Kernel-Code/
        jak widac Linus zajmuje w tej sprawie identyczne stanowisko co Pan (poslugujac sie przy tym rownie bezposrednimi epitetami). Ale i nie wszyscy mu w tej materii przyklaskuja.
        Byc moze bede musial zrewidowac swoje poglady w tej sprawie.

      • P.S. Do Pana o nicku „Zielarz”
        Muszę tu dopisać bo nie widzę w najnowszym wpisie linku odpowiedzi. Aby uściślić 1) ten kod jak napisałem jest na niskim poziomie abstrakcji ze względu na wymagania systemu narzędziowego i używany język i nie wolno przymierzać kryteriów „elegancji” programowania strukturalnego zwykłych aplikacji do tego. Dziś też trzeba używać czasami goto tylko zakamuflowane jako „break” – (jak warunkowo opuścić while, do..while, for przed końcem iteracji?). Tylko przez goto, ale zamiast tego używa się break, które działa w tym kontekście identycznie (takie zakamuflowane goto/skok z małymi różnicami) 3) Absolutnie nie jestem zwolennikiem goto – tu źle mnie Pan zrozumiał 4) mało tego – swoich studentów na programowaniu i inżynierii oprogramowania oraz teorii algorytmów zniechęcam do goto!!! Wielu może ogląda i powterdzi to, mam zbyt wiele doświadczenia jako programista by iść na uproszczenia lub skrajności ocen.
        Ale jeśli pisze Pan tak jak ja, w języku wewnętrznym, lub w assemblerze to nie ma Pan żadnego wyboru (!!!), tam nie ma instrukcji strukturalnych i użycie instrukcji skoku jest konieczne i nieuchronne. Sprawa goto pojawiła się zresztą późno gdy istniało już wiele innych języków programowania tzw. wysokiego poziomu jak np. Cobol czy Fortran.
        Mam nadzieję, że wyjaśniłem tę drobną nieścisłość – nie jestem zwolennikiem ani popularyzatorem goto :D. Czasami, zależnie od języka, algorytmu i konieczności „wyśrubowanej” optymalizacji – nie ma innego wyjścia.
        Pozdrawiam serdecznie,
        Krzysztof Michalik

  5. eNeN pisze:

    Ja se dziś obejrzę materiał z Panem Krzysztofem w nocy 🙂 też miałam w planach, bo jednak ciekawość i sentyment 🙂

    • eNeN pisze:

      http://www.natgeotv.com/pl/pradawne-archiwum-x/wideo/kod-inkow To tak na prawdę jest ciekawe 😉 Troszkę mi przypomina kwantowy system ekspercki 😉

      Może te neuronalne będą już ciekawsze 🙂

      Ale świetny wykład, podobał mi się 🙂

      • Witam Pana,
        Dziękuje za miłą ocenę – nosa zadzierał nie będę 😀
        Zanim Pan to napisał panowałem drobne post scriptum do tych wskaźników dla Pana, programistów i osób (laików) dociekliwych i zainteresowanych. Jako ciekawostkę powiem, że ze względu na podkreślaną przeze mnie dążność do silnej optymalizacji kodu/systemów (szybkość obliczeń, pamięć) w moich systemach nie ma ani 1 tablicy (!), ani jednej statycznej struktury danych. Tak więc owe strzałki, zmienne wskaźnikowe wskazujące inne zmienne wskaźnikowe itd. związane są z dynamicznymi, a nie statycznymi jak w większości programów, strukturami danych. To takie dopełnienie moich wyjaśnień w kwestii zmiennych wskaźnikowych. Jeszcze co do uwagi Pana o nicku „Zielarz”, jak pisałem nt. goto, pisałem to w sumie w języku i stylu trochę pomiędzy assemblerem, a językiem wysokiego poziomu (znowu optymalizacja). Jak napisałem programowałem w językach wewnętrznych i assemblerach również stąd wiem doskonale co uzyskuję po translacji. Otóż goto wpisuje się w ten styl programowania, oczywiście w assemblerach nie ma instrukcji strukturalnych, tym bardziej w języku wewnętrznym (dla laików kawałek kodu programu może wyglądać np. tak: 110101110011101011001101, 100101010011101111001001, 111100110001101010001101 etc. etc. tak ze 100.000 razy 🙂 ). Natomiast w C, mamy namiastkę tego w postaci zmiennych wskaźnikowych, a także możliwości włączenia np. w krytycznych procesach czy też fragmentach algorytmu wręcz kodów assemblera, które podczas translacji, w ramach tzw. konsolidacji będą włączone w resztę kodu wynikowego w języku wewnętrznym.
        Zapraszam do dalszych pytań.
        Pozdrawiam,
        Krzysztof Michalik

      • Najmocniej Panią przepraszam,
        ale po brzmieniu „nicków” tak trudno rozpoznać płeć, a ja ciągle pisałem per Pan. Mam nadzieję na zrozumienie.
        Serdecznie pozdrawiam,
        Krzysztof Michalik

      • eNeN pisze:

        Ach Panie Krzysztofie 🙂 to przecież drobiazg, ani złośliwość ani zamierzona co do kwestii formy grzecznościowej, a że określa przy okazji płeć, faktycznie przecież mój nick internetowy tego nie precyzuje 🙂

        ***
        Oj wydaje mi się, że gdyby tylko system (władzy) na to pozwolił, mógł by nas Pan nie jednym zadziwić 🙂 Bo świetnie Pan zrozumiał sens zamieszczenia tamtego filmu i jak działają te węzełki w kontekście splątania kwantowego w polu przestrzeni… I to faktycznie jest jakaś tablica czy baza danych, nie mniej pojęciowa i tak prosta że aż genialna. Może więc dla tego właśnie skojarzyła mi się tak intuicyjnie ze sposobem zapisu w systemach eksperckich, jak to sobie widząc przykładowy program wyobraziłam, a tu proszę -> 🙂

        Tak jako ciekawostkę powiem że pozostałością tego rodzaju odniesienia było choćby też wiązanie supełka na chusteczce 🙂 A biorąc pod uwagę zarówno naturę rzeczywistości jak i kwantową naturę naszych umysłów i trwałość takiego odniesienia w zapisie, no mnie to zadziwia 🙂 Choć być może nie jest to do końca w ramach tematu 😛

        Pozdrowienia w tym dla Wszystkich 🙂
        Idę zrobić wreszcie te kawusię.

      • eNeN pisze:

        Niniejszym zmieniam nicka na SeJa bo chyba jednak wolę nie wiązać supełka w odniesieniu do NN 😉

        SeJa 😛

  6. SeJa pisze:

    O 😀

    • Gaja pisze:

      @SeJa Moje Ty szczęście Kochane 🙂 buziaki 🙂

    • Dziękuję za taką ocenę, nie zasłużyłem na nią. Trochę w życiu zrobiłem i mimo wypadku mam nadzieję jeszcze zrobić coś dla Polski/nauki i ludzi, każdy na swoją miarę, czyli ja jako naukowiec. A popularyzację nauki i wyjaśnianie tzw. laikom, to jedna z moich misji. Chodzi o to, by ludzkim językiem pomówić o sprawach czasami skomplikowanych wprost z naukowej półki.
      Mam nadzieję, że kawa nie wystygła
      i też serdecznie pozdrawiam 🙂
      Krzysztof Michalik

Podpowiedź: aby mieć własny avatar w komentarzach zarejestruj się w serwisie Gravatar.