eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › BCB Moj ulubiony kod;)
Ilość wypowiedzi w tym wątku: 126

  • 41. Data: 2010-02-11 09:28:48
    Temat: Re: BCB Moj ulubiony kod;)
    Od: Jacek Czerwinski <...@...z.pl>

    Wojciech "Spook" Sura pisze:
    > Użytkownik "Jacek Czerwinski" <...@...z.pl> napisał w wiadomości
    > news:hkqr8b$6st$1@news.onet.pl...
    >> b)
    >>> for(int i=1; i<21;i++)
    >> wg mnie najgorszy sposób napisania że chodzi o 20x. Dla mnie ten autor
    >> nigdy nie wykształcił się w C, kopiował z Pascala.
    >
    > To jest jakiś koszmarny mit, który słyszę tu po raz n-ty. Piszę w Delphi
    > od przeszło dziesięciu lat i od samego początku, od banałów
    > rozwiązujących równania kwadratowe przez myśl mi nie przeszło, żeby
    > trzymać przetwarzane właśnie dane w jakimkolwiek komponencie.
    >
    > Jeśli ktoś pisze kod w taki sposób, to nie tyle uczył się od kogoś
    > piszącego w Pascalu, co od kogoś, kto również nie umie projektować
    > programów.

    Wybacz, są tez dobrzy VCL-owi programiści.


    >> W sumie, dzięki że bronisz czegoś co nie do obronienia, bo pokazuje że
    >> "subkultura BCB" nie przyśniła nam się ale istnieje.
    >
    > W Visual Studio nie da się popełnić takiego potworka, który trzyma
    > przetwarzane dane w komórkach tabelki?

    Da się, ale w MSVC++ orobi się tak, że paluchu mu powiedzą, ze nie warto.

    Wada nie jest jest w narzędziach Borlanda jako takich (w ich wnętrzu sa
    np. fajne propozycje projektowania, dziedziczenia itd, tak że
    szacuneczek), jednak realnośc jest taka (wielka łatwość użycia
    komponentów i pozornie brak potzreby jakiejś edukacji, projekotwania
    itd), że ***średnio*** w tej społeczności panują zwyczaje jak panują.

    Charakterystyczny jest ten wątek, bo człowiek nie tylko sie nie wstydzi
    tego, co powinien sie wstydzic, ale dowodzi że tak ma być, co
    ***socjologicznie*** jest ciekawe, świadczy o ***typowych*** poglądach.
    Technicznie to bzdura.

    Podkreślam, są dobry delfistyczni programiści.

    NB to towarzystwo jest perfekcyjne w wyciskaniu wszystkich możliwości z
    kontrolek itd (z netu można czerpać tysiące fajnych przykładów, sam
    ostatnio intensywnie pracowałem z TTreeView), ale nigdy nie widziałem na
    necie nawet w połowie tak gorącej dyskusji "jak to dobrze
    zaprojektować". Nie ma głodnych, nie ma co ich karmić. Jakoś tak to jest.

    Ja od wielu lat wierzę we "wspólnote języka programowania" (Java,PHP,VCL
    itd), użytkownicy i 'producenci', to się zazębia, narzędzie urabia
    ludzi, nowe wersje wydaje się pod oczekiwania wspólnoty i tak w kółko.

    Np fajne hierarchie komponentów są dla starych komponentów (z poziomem
    TCustomXxxxxxx), nie wiem dlaczego potem fajny zamysł pieprznęli. Tzn
    wiem, nikt tego nie potrzebował.





  • 42. Data: 2010-02-11 09:32:15
    Temat: Re: BCB Moj ulubiony kod;)
    Od: Jacek Czerwinski <...@...z.pl>

    WRonX pisze:
    > Jacek Czerwinski pisze:
    >
    >> obudź się o 3 w nocy i powiedz ile razy pętla się wykona
    >>
    >> dla mnie tę oczywistość ma (o ile musi od jedynki):
    >> for(int i=1; i<=20;i++)
    >>
    >> gdyby nie musiało od jedynki
    >> for(int i=0; i<20;i++)
    >>
    >> z cyklu "mała rzecz a cieszy"
    >
    > OK, myslalem, ze mowimy o czyms istotnym z punktu widzenia wydajnosci,
    > poprawnosci programowania w C pod Win32 etc. A Ty mowisz o wygodzie :)

    Dokladnie. Wygoda i czytelność. Nic o co warto się zabijać.

    na gruncie C pewnien rodzaj pętli jest naturalny i czyta się go
    intuicyjnie. Może na gruncie Cobola by naturalny zapis wyglądał inaczej.

    W algolu bym napisał
    for i:= -3 to 17 step 1

    oczywiście żart ;)


  • 43. Data: 2010-02-11 10:07:38
    Temat: Re: BCB Moj ulubiony kod;)
    Od: Jędrzej Dudkiewicz <j...@g...com>

    Bastion pisze:
    > Użytkownik "Jędrzej Dudkiewicz" <j...@g...com> napisał w wiadomości
    news:hkslcc$goi$1@news.onet.pl...
    >> Bastion pisze:
    >>> Ciekawe czy ktos zgadnie co oblicza ta prosta procedura:
    >>> void __fastcall TForm1::BitBtn1Click(TObject *Sender)
    >>> {
    >>> StringGrid1->Cells[1][0]=FloatToStr(4000);
    >>> for(int i=1; i<21;i++)
    >>> {
    >>> StringGrid1->Cells[0][i]=FloatToStr(2010+i);
    >>> StringGrid1->Cells[1][i]=FloatToStr
    >>> (
    >>> StrToFloat(StringGrid1->Cells[1][i-1])
    >>> +StrToFloat(StringGrid1->Cells[1][i-1])*0.1
    >>> );
    >>> }
    >>> }
    >> Ze 3, 4 lata temu napisałem parsowanie struktur SMBIOSowych przy kombinacją: dd
    if=/dev/mem ... | od ... | awk ...
    >> Ale napisałem to tylko dlatego, że nie było innej możliwości. Pisanie takich
    rzeczy jak wyżej to jak używanie do wszystkiego
    >> słowników string -> string.
    > Podaj konrety.

    Konkrety? Czyli co? Chodzi mi o to, że używasz narzędzi pomyślanych do
    jednego celu do osiągnięcia innego celu. I to używasz narzędzia gorszego
    niż dostępne.

    JD


  • 44. Data: 2010-02-11 10:50:36
    Temat: Re: BCB Moj ulubiony kod;)
    Od: "Sarr." <s...@g...pl>

    Bastion wrote:
    > Podaj 1 albo 2 argumenty, dla ktorych nie powinno sie trzymac zmiennych
    > w kontrolkach VCL:) Sam tego w praktycze nie stosuje ale jestem ciekawy co
    powiesz;)
    >
    przede wszystkim rozdzielenie czesci logicznej od prezentacyjnej.

    pomyslec nalezalo by tez na przyklad o ilosci pracy wymaganej pozniej do
    zaadaptowania takiego programu do uzywania innego GUI. albo wrecz do
    wykorzystania bez GUI. jesli dane sa trzymane w warstwie prezentacyjnej,
    a algorytmy sa podpiete pod eventy w GUI, to zycze szczescia w probach
    wykorzystania takiego programu bez owego GUI, chcac odpalic dajmy na to
    jakis prosty skrypt przetwarzajacy dane.

    BR,
    Sarr.


  • 45. Data: 2010-02-11 14:08:27
    Temat: Re: BCB Moj ulubiony kod;)
    Od: bartekltg <b...@g...com>

    On 11 Lut, 09:05, Mariusz Marszałkowski <m...@g...com> wrote:
    > On 8 Lut, 21:50, bartekltg <b...@g...com> wrote:
    >
    > > On 8 Lut, 11:05, Mariusz Marszałkowski <m...@g...com> wrote:
    >
    > > > To zobaczcie też mój ulubiony kod i odgadnijcie co on robi :)
    > > Co to moze robic.. z odpowiednimi danymi moze nawet cos madrego,
    > > ale bez sugestii co jest w danych trudno powiedziec.
    >
    > Ostatnio mam lenia, ale moze to dokoncze. Co to ma robic? Uwazam  ze
    > ten 5-liniowy algorytm moze rozwiazac zupelnie kazdy problem.

    A ja uwazam, ze powyzsze to bzdura:)

    Zostawmy nawet problemy typu: rekurencja
    a= a/2 dla parzystych i 3a+1 dla nieparzystych.
    Dla jakiego 'a' mamy okres.

    wezmy przyzwoity problem: energia stanu podstawowego
    uranu. Jak chcesz to rozwiazac przekladaniem zmiennych
    nie wbudowujac wyniku w algorytm.

    > Dane moga
    > reprezentowac dowolne dane uczace, a pozostale tablice moga byc
    > dobrane przez algorytm genetyczny.

    czyli w bardzo kosztowny sposob znajdujemy rozwiazanie
    i wbudowujemy w tabelka:)

    > Najbardziej ciekawi mnie jak wyglada najszybszy algorytm, który
    > dobierze
    > optymalne tablice dla tamtego algorytmu i dla dowolnych danych
    > uczacych :)

    Dla wielu przypadkow, tabelki maja dlugosc 1 i zawieraja rozwiazanie.

    pozdrawiam
    bartekltg


  • 46. Data: 2010-02-11 14:15:34
    Temat: Re: BCB Moj ulubiony kod;)
    Od: bartekltg <b...@g...com>

    On 10 Lut, 23:36, "Bastion" <b...@m...pl> wrote:
    > Użytkownik "Wojciech "Spook" Sura" <s...@s...op.pl> napisał w
    wiadomościnews:hkv1ds$91t$1@news.onet.pl...
    >
    > > Jeśli ktoś pisze kod w taki sposób, to nie tyle uczył się od kogoś piszącego w
    Pascalu, co od kogoś, kto również nie umie
    > > projektować programów.
    >
    > Kolego, ja tak nie pisze tylko przedstawiam rozwiazanie pewnego problemu.
    > Laskawie pochyl glowe i zastanow sie jak w 5 linijkach kodu
    > lepiej mozna zwizualizowac rozwiazanie. Czekam na kod...

    Wolasz o kod ktorys raz. Podalem go dawno temu, a dalej wolasz:

    void __fastcall TForm1::BitBtn1Click(TObject *Sender)
    {
    float bla=4000;

    StringGrid1->Cells[1][0]=FloatToStr(bla);

    for(int i=1; i<21;i++)
    {
    StringGrid1->Cells[0][i]=FloatToStr(2010+i);
    bla*=1.1;
    StringGrid1->Cells[1][i]=FloatToStr (bla);
    }
    }

    Tez brzydkie, ale nie az tak.

    pozdrawiam
    bartekltg


  • 47. Data: 2010-02-11 14:40:00
    Temat: Re: BCB Moj ulubiony kod;)
    Od: Jacek Czerwinski <...@...z.pl>

    bartekltg pisze:
    > On 10 Lut, 23:36, "Bastion" <b...@m...pl> wrote:
    >> Użytkownik "Wojciech "Spook" Sura" <s...@s...op.pl> napisał w
    wiadomościnews:hkv1ds$91t$1@news.onet.pl...
    >>
    >>> Jeśli ktoś pisze kod w taki sposób, to nie tyle uczył się od kogoś piszącego w
    Pascalu, co od kogoś, kto również nie umie
    >>> projektować programów.
    >> Kolego, ja tak nie pisze tylko przedstawiam rozwiazanie pewnego problemu.
    >> Laskawie pochyl glowe i zastanow sie jak w 5 linijkach kodu
    >> lepiej mozna zwizualizowac rozwiazanie. Czekam na kod...
    >
    > Wolasz o kod ktorys raz. Podalem go dawno temu, a dalej wolasz:

    Bez sensu.

    Kolega chce 'lepszy' kod, natomiast ma zupełnie chora definicję słowa
    'lepszy'. On jest najlepszy w tej kategorii, którą sam zdefiniował. W
    sumie, może nie najlepszy, ale najbardziej uparty.



  • 48. Data: 2010-02-11 15:22:24
    Temat: Re: BCB Moj ulubiony kod;)
    Od: Mariusz Marszałkowski <m...@g...com>

    On 11 Lut, 15:08, bartekltg <b...@g...com> wrote:
    > On 11 Lut, 09:05, Mariusz Marszałkowski <m...@g...com> wrote:
    >
    > > On 8 Lut, 21:50, bartekltg <b...@g...com> wrote:
    >
    > > > On 8 Lut, 11:05, Mariusz Marszałkowski <m...@g...com> wrote:
    >
    > > > > To zobaczcie też mój ulubiony kod i odgadnijcie co on robi :)
    > > > Co to moze robic.. z odpowiednimi danymi moze nawet cos madrego,
    > > > ale bez sugestii co jest w danych trudno powiedziec.
    >
    > > Ostatnio mam lenia, ale moze to dokoncze. Co to ma robic? Uwazam  ze
    > > ten 5-liniowy algorytm moze rozwiazac zupelnie kazdy problem.
    >
    > A ja uwazam, ze powyzsze to bzdura:)
    >
    > Zostawmy nawet problemy typu: rekurencja
    > a= a/2 dla parzystych i 3a+1 dla nieparzystych.
    > Dla jakiego 'a' mamy okres.
    Dlaczego uwazasz ze to bzdura? Taki algorytm jest
    tym samym co maszyna turinga. Stan to pozycja glowicy,
    dane to tasma, pozostale tablice to funkjca przejsc.


    > wezmy przyzwoity problem: energia stanu podstawowego
    > uranu. Jak chcesz to rozwiazac przekladaniem zmiennych
    > nie wbudowujac wyniku w algorytm.
    Nie bylo mowy ze w tablice nie wolno wbic pomocniczych
    rozwiazan, albo dowolnych innych pomocniczych danych.
    Tablica response moze nakladac sie na tablice w ktorych
    sa przekadane zmienne, wlasciwie to moze byc jedna
    tablica z danymi na poczatku i miejscem na czesciowe
    wyniki.

    > > Dane moga
    > > reprezentowac dowolne dane uczace, a pozostale tablice moga byc
    > > dobrane przez algorytm genetyczny.
    >
    > czyli w bardzo kosztowny sposob znajdujemy rozwiazanie
    > i wbudowujemy w tabelka:)
    No wlasnie dlatego to mnie tak bardzo ciekawi, ze znane sa tylko takie
    kosztowne sposoby. Interesuje mnie jaki jest najlepszy algorytm
    budowania takich tablic (czyli tak naprawde algorytm budowania
    innego algorytmu), o ograniczonych rozmiarach ktore dla dla
    wszystkich danych uczacych wypluja wlasciwe rozwiazanie.

    > > Najbardziej ciekawi mnie jak wyglada najszybszy algorytm, który
    > > dobierze
    > > optymalne tablice dla tamtego algorytmu i dla dowolnych danych
    > > uczacych :)
    >
    > Dla wielu przypadkow, tabelki maja dlugosc 1 i zawieraja rozwiazanie.

    Sa ciekawsze przypadki. Np. mamy gre kolko i krzyzyk. Algorytm
    dostaje pary uczace w postaci opisu sytuacji w grze i najlepszego
    ruchu. Czyli
    tablica z danymi to bedzie:
    int plansza[9+rozszerzenie]
    tablica z odpowiedziami to bedzie numer pola z optymalnym ruchem
    int response[9] = {1,2,3...9}
    I algorytm genetyczny musialby dobrac parametry w pozostalych
    tablicach
    tak, aby w najmniejszej ilosci krokow zawsze podac optymalny ruch.

    Pozdrawiam


  • 49. Data: 2010-02-11 16:45:33
    Temat: Re: BCB Moj ulubiony kod;)
    Od: bartekltg <b...@g...com>

    On 10 Lut, 23:51, "Bastion" <b...@m...pl> wrote:
    > Uzytkownik "Wojciech "Spook" Sura" <s...@s...op.pl> napisal w
    wiadomoscinews:hkv1q2$abp$1@news.onet.pl...
    >
    > > Z tego samego powodu, z którego ktos przechowywalby dane w kontrolkach MFC, gdyby
    wpadl na taki durny pomysl. Z niewiedzy i braku
    > > doswiadczenia programistycznego.
    >
    > Dlaczego?
    > - czytelnosc kodu?

    Blisko zerowa. Pierwszy napisalem, co to robi. Musialem specjalnie,
    sie przyjrzec zeby zrozumiec dzialanie i naprawde myslalem, ze to
    dowcip, ciekawe znalezisko w rodzaju dWTF.

    > - optymalizacja kodu?

    Tak. Na kazde mnozenie i dodanie masz konwersje
    string->float i spowrotem. To gigantyczny narzut.

    > - akademicki puryzm?
    > - akademicki ostracyzm wobec rozwiazam funkcjonalnych i
    > pieknych w swojej prostocie?

    Zrobili Ci krzywde na tej uczelni?
    Wbrew pozorom czasem jajoglowe maja racje.
    Tez 'umailem programowac' przed przejsciem sie na pare
    zajec na uczelni (nie twierdze, ze teraz umiem;)

    Naprawde sadzisz, ze zarzut 'to jest brzydkie bo ciagle
    zamieniasz string<->float' jest akademickim marudzeniem?

    > Podaj 1 albo 2 argumenty, dla ktorych nie powinno sie trzymac zmiennych
    > w kontrolkach VCL:) Sam tego w praktycze nie stosuje ale jestem ciekawy co
    powiesz;)

    1.Niepotrzebny narzut.

    2.Kontrola nad danymi, ich wieksze bezpieczesntwo -
    nie zmienisz danych w trakcie obliczen, ogolnie, nie zmienisz
    ich poza przewidzianymi przez programiste momentami
    (wcisniecie guzika 'uaktualnij dane na podstawie tabelki').

    3.Przetrzymywanie w takiej tabelce duzych danych (100MB
    albo wiekszych) bedzie niewygodne.

    pozdr
    bartekltg


  • 50. Data: 2010-02-11 17:02:57
    Temat: Re: BCB Moj ulubiony kod;)
    Od: bartekltg <b...@g...com>

    On 11 Lut, 16:22, Mariusz Marszałkowski <m...@g...com> wrote:

    > Dlaczego uwazasz ze to bzdura? Taki algorytm jest
    > tym samym co maszyna turinga. Stan to pozycja glowicy,
    > dane to tasma, pozostale tablice to funkjca przejsc.

    Nie widze wlasciwie zadnej mozliwosci praktycznego
    zastosowania takiego algorytmu.
    Jesli chesz uzywac tego jako narzedzia teoretycznego,
    jak maszyna turinga, to inna sprawa, ale tez bys
    musial pokazac jakies ciekawe wlasciwosci
    (bo jest oczko bardziej skomplikowana niz MT)

    > Nie bylo mowy ze w tablice nie wolno wbic pomocniczych
    > rozwiazan, albo dowolnych innych pomocniczych danych.

    To w koncu moge tym algorytmem cokolwiek policzyc, czy
    musze znac wynik i wstawic go do tabelki:)
    Bo na razei to wyglada jak jakies wyszukiwanie
    w przestrzeni rozwiazan. Mamy stan, mamy jakies funkcje
    od stanu, jesli nam nie pasuja (u Ciebie sa za male lub za duze)
    odpowiednio modyfikujemy stan. Na koncu wypisujemy
    odpowiedz (stan lub jakas funkcje stanu).

    Tylko po co w to angazowac tabelki:)

    > No wlasnie dlatego to mnie tak bardzo ciekawi, ze znane sa tylko takie
    > kosztowne sposoby. Interesuje mnie jaki jest najlepszy algorytm
    > budowania takich tablic (czyli tak naprawde algorytm budowania
    > innego algorytmu), o ograniczonych rozmiarach ktore dla dla
    > wszystkich danych uczacych wypluja wlasciwe rozwiazanie.

    Jesli dobrze wylapuje idee, chcesz znalesc tak tabelkowy algorytm
    dla danego problemu i pozniej te probmely w ten sposob rozwiazywac.
    W ogolnosci bedziesz mial z tym problem.

    Pomysl, jak 'tabelkowo' znalesc najkrotsza droge w grafie (+z wagami).
    Czasem sie da. Znajdz tym algorytmem chocby wysokosc drzewa
    (to sie da dosc bezposrtednio, tylko po co).

    > Sa ciekawsze przypadki. Np. mamy gre kolko i krzyzyk. Algorytm
    > dostaje pary uczace w postaci opisu sytuacji w grze i najlepszego
    > ruchu. Czyli
    > tablica z danymi to bedzie:
    > int plansza[9+rozszerzenie]
    > tablica z odpowiedziami to bedzie numer pola z optymalnym ruchem
    > int response[9] = {1,2,3...9}
    > I algorytm genetyczny musialby dobrac parametry w pozostalych
    > tablicach
    > tak, aby w najmniejszej ilosci krokow zawsze podac optymalny ruch.

    Stabelaryzowales gre. Super, ale to juz bylo. A tabelke lepiej
    wypelnic zwyklym przeszukiwaniem drzewa gry.

    Algorytmy genetyczne, sieci neuronowe i inne wynalazki
    nie sa uniwersalna metoda rozwiazywanie wszytkiego.
    Raczej ostatnia deska ratunku dla pewnej klasy zadan,
    zeby znalesc rozwiazanie nieco lepsze niz losowe.
    Ale jakis czas kazdy sie nimi zachwyca:-)


    pozdrawiam
    bartekltg

strony : 1 ... 4 . [ 5 ] . 6 ... 13


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: