eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPetzold Programowanie Windows › Re: Petzold Programowanie Windows
  • Data: 2012-01-31 12:22:20
    Temat: Re: Petzold Programowanie Windows
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 2012-01-31, M.M. <m...@g...pl> wrote:
    > Stachu 'Dozzie' K. <d...@g...eat.some.screws.spammer.invalid> napisał(a):
    >
    >> On 2012-01-31, M.M. <m...@g...pl> wrote:
    >> [...]
    >> >> Każdy rozsądny programista raczej weźmie jakąś gotową bibliotekę GUI
    >> >> która ułatwia pracę.
    >> > Winapi to nic innego jak (miedzy innymi) jakas gotowa biblioteka GUI
    >> > ktora ulatwia prace.
    >>
    >> WinAPI to nic innego jak API systemu Windows. Niezbędna rzecz, żeby
    >> zrobić cokolwiek, chociaż niekoniecznie trzeba zaraz w tym paprać
    >> samemu. Zwykle lepiej zlecić coś gotowej bibliotece dostarczającej
    >> abstrakcje.
    > WinAPI dostarcza pewien zestaw abstrakcji, np. uchwyty do obiektow GDI,
    > standardowe funkcje ktore rozpoznaja na rzecz jakiego uchwytu zostaly
    > wywolane, abstrakcje okna, abstrakcje urzadzenia graficznego, czcionki,
    > gotowe frameworki aplikacji jedno- i wielo-dokumentowej, zestaw standardowych
    > kontrolek, zasoby z mozliwoscia wizualnego projektowania - troche tego jest.

    To samo można powiedzieć o API X11. I nie znaczy to, że od razu jest to
    API wysokopoziomowe czy wygodne.

    >> WinAPI zostało stworzone do dostarczenia programiście API do systemu
    >> operacyjnego. I owszem, bardzo dobrze _dostarcza_ to API. Tylko że samo
    >> dostarczone API jest miernej jakości.
    > Niezgadzam sie.

    To się niezgadzaj. Fakt jest taki, że w WinAPI jest burdel na kółkach,
    a funkcje miewają po paręnaście parametrów, z czego w większości się
    wstawia NULL i 0. Nie tak wygląda przemyślane i wygode API.

    >> Porównaj sobie lepiej jak wygląda API uniksowe (mówię tu generalnie o
    >> funkcjach komunikacji z OS-em, a nie o samym GUI).
    > Ale jak mozna takie porownanie sensownie zrobic? Z czym mam porownywac
    > CreateWindow z WinApi jesli z unixa nie mam analizowac GUI?

    Czy dla ciebie WinAPI to tylko zestaw funkcji do budowania interfejsu
    graficznego? Jeśli tak, to możemy w tym miejscu zakończyć dyskusję.

    > Chyba
    > rozmawiamy o czym innym.

    Dlatego zaznaczyłem, że zmieniam grunt. Zostawiamy GUI i przechodzimy do
    całokształtu komunikacji programów użytkownika z systemem operacyjnym.

    > Moze chcesz powiedziec ze jak zlosliwy
    > programista przekaze bzdurne agrumenty w API unixa to unix padnie
    > rzadziej niz Windows?

    Nie, gdzie niby tak twierdzę? Ja twierdzę, że API uniksów jest lepiej
    przemyślane. Przykładami są tworzenie procesów (usługa-program dla
    użytkownika) i obsługa gniazd i plików (w uniksach otwarty socket jest
    praktycznie takim samym deskryptorem, co otwarty plik na dysku albo
    STDIN/STDOUT).

    > To jakby jakosc implementacji a nie jakosc
    > API. Windows wiadomo slynal z braku odpornosci na wszelkie bledy
    > czy ataki. Pewne interfejsy z API unix/linux bardziej lubie niz
    > z WinAPI ale nie na tyle zeby WinAPI uznac za cos nieudanego.

    To przyjrzyj się jeszcze raz, jak często wywołujesz funkcje mające po
    paręnaście parametrów i jak jest zorganizowana obsługa sieci i plików.

    >> Tam nawet nie ma podziału na "usługę" i "program
    >> użytkownika", bo i po co? Zysku z tego właściwie żadnego, a dodatkowy
    >> kłopot przy pisaniu daemona i przy zarządzaniu nim.
    > Jest potrzebne obycie. Ja robilem copy-paste powtarzajacego sie
    > kodu we wszystkich uslugach w jakies 60s i potem normalnie pisalem.

    Tylko po *uj, skoro nie ma żadnego zysku na takiej organizacji?

    >> > Dostarcza wszystkie podstawowe kontrolki GUI, niektore
    >> > mozna narysowac w graficznym edytorze zamiast wklepywac recznie...
    >> > W czasach gdy aplikacje napisane w winapi wydajnie smigaly, to
    >> > konkurencyjne
    >> > gnomy czy kde co chwile padaly, albo nie mogly pracowac z powodu braku
    >> > zasobow i nie wspolpracowaly z urzadzeniami - to chyba o czyms swiadczy.
    >> To znaczy kiedy? Za czasów GNOME 0.4beta1?
    > Z czasow windows 95. Na windows 95 bylo duzo aplikacji graficznych bazujacych
    > na winapi i mozna w nich bylo pracowac. Oczywiscie z pewnymi problemami i nie
    > mozna bylo systemu narazac na celowe ataki, jednak szlo pracowac. W owczesnych
    > odpowiednikach na linuxie nie bylo mowy.

    Jeszcze raz, ale od początku i powoli. O czym ty w ogóle tu mówisz?

    >> > Sa jeszcze inne zalety gui z winapi. Po pierwsze nigdy nie mialem problemu
    >> > z uruchamianiem swoich aplikacji napisanych w gui winapi pod linuxem.
    >>
    >> No ja miałem. Głównie takie, że aplikacje napisane pod WinAPI nie
    >> kompilują się bez przepisania, bo oczywiście binarnej kompatybilności
    >> nie ma.
    > Wszystkie moje aplikacje napisane z GUI WinAPI dzialaja pod linuxem w
    > wersji binarnej :) Oczywiscie jeszcze z uzyciem wine. Aplikacji z
    > delphi, z visual basica, z borlnad buildera z reguly nie udawalo mi sie
    > uruchomic.

    A widzisz. U mnie odwrotnie. Anecdotal evidence.

    --
    Secunia non olet.
    Stanislaw Klekot

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: