Komentowana treść: Kilka drobiazgów
[#1] Re: Kilka drobiazgów
"sdlBasic [..] was inspired by the old and glorious AMOS."

Old na pewno ale czy gloriuos... n/c ;)
[#2] Re: Kilka drobiazgów

@alpine, post #1

Trudno odpowiedzieć na to pytanie. Z jednej strony sposób w jaki działał AMOS i programy w nim napisane, to było zdecydowane złoooo (walenie po rejestrach, niesystemowy ekran, zżeranie 100% czasu procesora). Z drugiej jednak wiele osób dzięki AMOS-owi zaczęło się bawić w programowanie, bo było łatwiej zacząć. Tyle że potem po przejściu powiedzmy na język C, AMOS-owe nawyki było ciężko wykorzenić. Moim zdaniem mimo wszystko AMOS odegrał swoją pożyteczną rolę, ale z tym "glorious" to faktycznie przesadzili. Ale to jakiś wychowany na AMOS-ie człowiek pisał, to co się dziwisz .
[#3] Re: Kilka drobiazgów
Bawiłem się trochę AMOSem, programowałem w AmigaE, do assemblera też mam sentyment... ale nie rozumiem sensu programu Ic2. Nawet jeżeli ktoś używa CEDa jako edytora C/C++ to jest w nim licznik lini, podobnie jest w Amosie.

Po co komu Ic2?
[#4] Re: Kilka drobiazgów

@Prince, post #3

Bawiłem się trochę AMOSem

Udało Ci się coś ciekawego stworzyć?

Po co komu Ic2?

Po co? odpowiedź prosta:

"...port kultowej już aplikacji z AmigaOS 4"

i wszystko jasne ;)
[#5] Re: Kilka drobiazgów
Ostatnią propozycją na dziś jest port kultowej już aplikacji z AmigaOS 4 - licznika linii dla kodów źródłowych C/C++.

Kolega Grzegorz nie mogl sie powstrzymac od sarkazmu, prawda? ;)
[#6] Re: Kilka drobiazgów

@reactor, post #5

Musze sie przyznac ze to chyba ja pierwszy zauwazylem to programistyczne cudo,moze Krashan uslyszal moj jek "zachwytu"
nad esencja wykonanania i user-friendly GUi etc..

Ostatnia edycja: 19.06.06 09:14:31
[#7] Re: Kilka drobiazgów

@reactor, post #5

niedawno za to niektorzy sie czepiali ze nie ma newsow o sofcie dla os4...
[#8] Re: Kilka drobiazgów

@reactor, post #5

Kolega Grzegorz nie mogl sie powstrzymac od sarkazmu, prawda?

Jak widać mogłem. Za to teraz pewnie się dowiemy, że na MorphOS-a to tylko takie badziewne liczniki wychodzą... cool
[#9] Re: Kilka drobiazgów

@alpine, post #4

Czy udało mi sie coś ciekawego stworzyć na Amosie? Jak dla mnie tak. Głównie są to rzeczy robione "od ręki" i potrzebne w danej chwili. Dzięki temu za szkolnych lat rozwiązałem/sprawdziłem wiele zadań z matematyki/fizyki. Zrobienie "na szybkiego" pseudo arkanoida pozoliło mi się pobawić z podstawowymi prawami fizyki i dało wiele satysfakcji. Kiedyś np. potrzebowałem jakiegoś programu który porównałby dwa pliki i wyświetlił w ASCII różnice między plikami. Wykresy w realtime szybkiej transformaty Fouriera również były dla mnie bardzo interesujące (sama procedura FFT w assemblerze) i wiele, wiele innych rzeczy, których nie zrobiłbym tak szybko i przyjemnie w żadnym innym języku.
[#10] Re: Kilka drobiazgów
port kultowej już aplikacji z AmigaOS 4

Stronniczych newsów ciąg dalszy...
[#11] Re: Kilka drobiazgów

@amigafan, post #10

Stronniczych newsów ciąg dalszy...

Jaka szkoda, że się spóźniłeś :). Może "reload" w przeglądarce?
[#12] Re: Kilka drobiazgów

@Grzegorz Kraszewski, post #11

Może "reload" w przeglądarce

Rzeczywiście pomogło ;)
[#13] Re: Kilka drobiazgów
Ostatnią propozycją na dziś jest licznik linii dla kodów źródłowych C/C++


A mi by się takie coś przydało gdyby umiało trochę więcej (może umie - jeszcze zajrzę do opisu) czyli gdyby umiało policzyć rozmiar zła w programie to znaczy ilość switchy, ifów, użyć typeid itd, itp.
[#14] Re: Kilka drobiazgów

@smith, post #13

A mi by się takie coś przydało gdyby umiało trochę więcej

Z tego co poczytałem w opisie, to niestety niewiele więcej umie.
[#15] Re: Kilka drobiazgów

@smith, post #13

gdyby umiało policzyć rozmiar zła w programie to znaczy ilość switchy, ifów

Dlaczego używanie "switch" albo "if" jest złem? :) Rozumiem (i popieram) czepianie się "goto" ale "switch" czy "if"? Hmmmm...
[#16] Re: Kilka drobiazgów

@MDW, post #15

za duzo trolujesz na ppa a za malo na kanale #ppa:)
tak bys wiedzial:)
[#17] Re: Kilka drobiazgów

@MDW, post #15

switch jest wesole Zobacz taki przyklad:

void send(long *to, long *from, long count)
{
  long n=(count+7)/8;
  switch(count%8 ){
    case 0: do{ *to++ = *from++;
    case 7: *to++ = *from++;
    case 6: *to++ = *from++;
    case 5: *to++ = *from++;
    case 4: *to++ = *from++;
    case 3: *to++ = *from++;
    case 2: *to++ = *from++;
    case 1: *to++ = *from++;
        }while(--n>0);
  }
}

szeroki uśmiech
[#18] Re: Kilka drobiazgów

@szuler, post #17

dla kompilatorow, ktore nei potrafia optymalizowac zamienilbym:
count%8
na count&7
:)
[#19] Re: Kilka drobiazgów

@szuler, post #17

O rety, ale nakręcone. :D Nikt przy zdrowych zmysłach takich cyrków nie robi. :) Przecież tego przykładu nie da się przeanalizować przy dzisiejszej temperaturze powietrza na zewnątrz (i na procesorze). Głowa boli. :) No ale jeżeli switch toleruje to co pokazałeś to rzeczywiście jest trochę chore i podatne na błędy. Ale tylko wtedy gdy ktoś za bardzo kręci i gubi się w tym co sam pisze. :)
[#20] Re: Kilka drobiazgów

@MDW, post #19

to nie jest podatne na bledy :)) to jest zwykla petla zapisana inaczej :)) nie jestem na 100% pewien, czy do przed swichem nie jest potrzebne :)
[#21] Re: Kilka drobiazgów

@Kaczus, post #20

Nie, "do" nie jest potrzebne przed switchem. Co wiecej, dodanie takiego "do" (albo przeniesienie juz istniejacego nieco wyzej) spowoduje, ze podany przeze mnie kod przestanie dzialac.

Analiza kodu jest dla odmiany dosc prosta :). Jesli wielkosc bufora jest wyrownana do wielokrotnosci osmiu zmiennych long, to wykona sie cala petla, poczynajac od "case 0:". Jesli zas petla jest nie wyrownana, najpierw zostanie spelniony ktorys z warunkow - case 1..7. Zauwazcie, ze nie ma nigdzie break, wiec case 7: sprowadza sie do przekopiowania 7 slow long, case 6: szesciu i tak dalej. na koncu switcha ilosc pozostalych do przekopiowania danych bedzie juz ladnie wyrownana do wielokrotnosci osmiu slow long. Zostanie sprawdzony warunek while(--n>0) i w razie potrzeby petla wykona sie od poczatku, czyli od "do" szeroki uśmiech

http://en.wikipedia.org/wiki/Duff's_device

Tak, ten kod to przyklad dobrze pokazujacy to, ze instrukcja switch to zlo szeroki uśmiech
[#22] Re: Kilka drobiazgów

@szuler, post #21

aj nie zauwazylem, cytujac Poczatkujaca Dziennikarke powiem "ale gapa ze mnie" :)
[#23] Re: Kilka drobiazgów

@szuler, post #21

Właśnie mi przypomniałeś dlaczego nie mogę sieprzekonać do programowania w C/C++ Składnia języka jest zabójcza.
[#24] Re: Kilka drobiazgów

@szuler, post #21

To jest rozcinacz pętli i akurat gdy z jakis powodów chcemy coś takiego zrobić to switch tu jest ok. Natomiast nie jest ok gdy zastępuje właściwą strukturę programu i jest używany do czegoś co powinno być robione metodami virtualnymi. Upraszczając można powiedzieć że tam gdzie mamy flagę i switch sterujące przepływem kontroli w programie tam mamy błąd w projekcie.

Ps. Patent z Duff's device nie jest możliwy do zrobienia w javie i jest nawet w specyfikacji języka podany z tym, że zamiast do while tam jest for.
[#25] Re: Kilka drobiazgów

@Prince, post #23

no nie wiem.... najeżony Goto i Gosubami Basic jest o wiele gorszy...
zresztą można obejść się bez switch()
C/C++ to wygoda i elegancja :) (to ostatnie to raczej do C++ :) )



Ostatnia edycja: 20.06.06 15:17:42
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem