-
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
Następne wpisy z tego wątku
- 31.01.12 12:32 Michoo
- 31.01.12 12:58 M.M.
- 31.01.12 14:50 Michoo
- 31.01.12 15:31
- 31.01.12 16:06 Marek Borowski
- 31.01.12 19:10 M.M.
- 31.01.12 21:30 Michoo
- 31.01.12 22:27 M.M.
- 01.02.12 07:48 identifikator: 20040501
- 01.02.12 09:24 Roman W
- 01.02.12 15:02 R.e.m.e.K
- 01.02.12 15:13 Stachu 'Dozzie' K.
- 01.02.12 16:05 R.e.m.e.K
- 02.02.12 08:02 Maciej Pilichowski
- 02.02.12 08:15 M.M.
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-06-24 Przenośny zbiornik ciśnieniowy
- 2024-06-23 ładny dzień na cabrio
- 2024-06-24 Re: Mala autonomiczna kamera monitoringu
- 2024-06-23 HDMI
- 2024-06-23 Re: Mala autonomiczna kamera monitoringu
- 2024-06-24 Berlin => Customer Support Engineer <=
- 2024-06-24 Kraków => Head of International Freight Forwarding Department <=
- 2024-06-24 Szczecin => Senior PHP Developer (Symfony) <=
- 2024-06-24 Zabrze => Junior HelpDesk <=
- 2024-06-24 Warszawa => Spedytor Międzynarodowy <=
- 2024-06-24 Warszawa => Business Development Manager <=
- 2024-06-24 Marki => Wdrożeniowiec ERP <=
- 2024-06-24 Warszawa => Key Account Manager <=
- 2024-06-24 Marki => ERP Implementer <=
- 2024-06-24 Białystok => DevOps Engineer Conexa First (Contractor) <=