-
Data: 2012-01-27 19:35:22
Temat: Re: [OT] Do tych co tu piszą w C++
Od: Sebastian Biały <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 2012-01-27 19:09, Robert Zemła wrote:
> Przesadzasz :-) WinAPI nie jest złe a już na pewno nie jest niespójne.
Bzdura. WinAPI to wpływ wielu koncepcji posklejanych gumą do zucia
wliczając w to różne wartości true/false czy funkcje żywcem wyrwane z
posixa/unixa wstydliwie chowane w czeluściach msdn. Spójne? Może mam
różne definicje.
> Bywa czasem upierdliwe, wymaga użycia innych technik programowania i
> sporej wiedzy o systemie.
Programowanie wymagające sporej wiedzy o systemie to promil zagadnień.
Zazwyczaj dąży się aby wiedza o systemie była minimalna. Idealnie -
programy są niezależne od systemu. *Nawet* na mikrokontrolerach widać
taką tendencję.
> To są chyba główne powody dlaczego wielu go
> nie lubi.
Wielu nie lubi bo doskonale wie że można za darmo lepiej pod *każdym*
względem.
> No tak. Nie ważne jak, ważne że działa. Potem niech się ewentualnie
> martwi ten co po nim ten kod przejmie. Nie przekonasz mnie że
> programista nie musi mieć choćby minimum wiedzy komputerze.
I nie przekonuje. Przekonać jednak mogę że wiedza co to jest DWORD jest
*zbędnym* śmieciem wciskanym przez system operacyjny nie mającym żadnego
sensu w programowaniu ogólnym. Każdy rozsadnie napisany program
odizoluje typy WinAPI aby nie zanieczyszczały kodu. Qt jest takim
przykładem izolacji WinAPI od logiki kodu.
> Nie tylko Delphi, aczkolwiek pisząc to przypomniała mi się pewna
> sytuacja której byłem świadkiem. W wielkim skrócie człowiek nie był
> wstanie wdrożyć pewnej funkcji do programu bo komponent z którego
> korzystał nie oferował takiej funkcjonalności.
Piszesz o tym że jest wielu miernych programistów. No jest. I co z tego?
I co z tego że większość z nich programuje w onklikach w RADach?
> Zawsze można zrobić błąd. Jeżeli człowiek umie napisać kod
> wykorzystujący bezpośrednio WinAPI to z debugowaniem tym bardziej nie
> będzie mieć problemu.
Zaryzykuje że *NIGDY* nie pisałeś niczego większego, czyli przynajmniej
kilkanaście KLOCów w zespole. Nie trzeba mieć umiejętności programowania
WinAPI aby pisać wydajne, skomplikowane aplikacje. Gorzej: wydaje i
skomplikowane aplikacje nie biorą się z doskonałej wiedzy hakerskiej o
DWORD tylko z algorytmów, wzorców, technik przy których WinAPI jest na
poziomie głupawego, płaskiego interfejsu OS który tylko przeszkadza. Z
taki wlasnie płaskim, gównianym interfejsem namęczysz się kilka razy
więcej pisząc mały programik do odbierania znaków niż z byle-jakim
środowiskiem obiektowym.
>> Pomyliłeś programowanie obiektowe z RAD.
> Napisałeś "obiektowe środowiska".
Obiektowe środowiska to Qt, .NET, Java. Żadne z nich nie wymaga używania
RADów. Za to każde wymaga używania obiektów. Dostarczają kilka rzędów
wielkości więcej funkcjonalności niż WinAPI. W tym również taką jaką
zainteresowany jest autor wątku (łatwe thready, signal-slot, wrapowane
Comy).
> Natomiast nie widzę związku z brakiem
> możliwości połączenia programowania obiektowego i WinAPI
Oczywiście że nie widzisz. MS tez nie widział i powstalo g... o nazwie
MFC. Jesli masz zacięcie do archeologii to możesz dalej tego używać.
Pomogło dopiero solidne odizolowanie WinAPI od programisty aby mogły
powstać wygodne środowiska .NET. *SOLIDNA* izolacja od kretynizmów
WinAPI stoi u podstaw sukcesu C# - wszystko jest spójne bo wreszcie ktoś
to zaprojektował.
> Programuję w tym od lat, napisałem sporo różnych aplikacji, uzbierałem
> sobie pokaźną bibliotekę przeróżnych klas (do tego typu programów używam
> C++, dawniej MASM32), w związku z tym do pisania prostych (i brzydkich)
> programów nie potrzeba mi nic więcej.
Wpadleś w typową studnie potencjalu: to co mam jest wystarczające, a
więc jest najlepsze, nie ma sensu robić nic lepszego, przecież asm
wystarczy do wszystkiego. Porozgladaj się do okoła. Mozna napisać
program z tego wątku używają kilku linijek pod warunkiem użycia
wlaściwego narzedzia. Nie jest nim niskopoziomowy zestaw funkcji OS
jakiegoś systemu operacyjnego. To *najgorszy* wybór ze wszystkich
innych, nawet od Delphi.
> Podsumowując nie jestem wrogiem nowocześniejszych technik programowania,
> nie zgadzam się tylko że WinAPI jest złe i że programista nie musi znać
> się na tym co robi.
Trudno. Mamy inne punkty wyjścia do dyskusji. Przy czym ja nigdzie nie
pisałem o tym że programista ma się nie znać. Problem w tym, że jeśli
programista *naprawdę* dobrze się zna na programowaniu docenia inne
rzeczy niż hakerskie zagrywki z 30-letnim WinAPI (w tym roku mamy
jubileusz ogłoszenia Win1.0 a wiele funkcji pochodzi koncepcyjnie z
tamtych lat).
Staram się przekonać tylko autora, że WinAPI jest rozwiązaniem którego
nie powinien nawet kijem dotykać ponieważ *większośc* problemów
rozwiazuje mu .NET kilka razy mniejszym nakładem środków.
Następne wpisy z tego wątku
- 28.01.12 18:46 Robert Zemła
- 28.01.12 21:57 Sebastian Biały
- 29.01.12 17:33 Robert Zemła
- 29.01.12 20:49 Sebastian Biały
- 29.01.12 20:52 Grzegorz Niemirowski
- 29.01.12 22:10 Michoo
- 29.01.12 22:17 v...@i...pl
- 29.01.12 22:22 Grzegorz Niemirowski
- 30.01.12 22:48 John Kołalsky
- 30.01.12 23:41 Grzegorz Niemirowski
- 31.01.12 01:59 Jacek Radzikowski
- 31.01.12 12:42 Artur M. Piwko
- 31.01.12 12:46 Artur M. Piwko
- 31.01.12 12:38 Artur M. Piwko
- 31.01.12 20:09 Robert Zemła
Najnowsze wątki z tej grupy
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
Najnowsze wątki
- 2025-01-26 Trump-2 JUŻ bardzo łaskawy [1_500 ułaskawień skazanych za Bidena za "Kawkę na Kapitolu"]
- 2025-01-26 Brak bolca ochronnego ładowarki oznacza pożar
- 2025-01-24 Elektryfikacja w ODWROCIE
- 2025-01-25 AMS spalony szybkim zasilaczem USB
- 2025-01-24 stalowe bezpieczniki
- 2025-01-23 Zenek Kapelinder - ?
- 2025-01-25 Błonie => Sales Specialist <=
- 2025-01-25 Lublin => iOS Developer (Swift) <=
- 2025-01-24 Warszawa => Java Developer <=
- 2025-01-24 Białystok => iOS Developer (Swift experience) <=
- 2025-01-24 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-24 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-01-24 Lublin => Delphi Programmer <=
- 2025-01-24 Kraków => Key Account Manager <=
- 2025-01-24 Lublin => Programista Delphi <=