Podstawy

dział ogólny

Podstawy

Nowy postprzez kinio » piÄ…tek, 22 sierpnia 2008, 21:19

Cześć!!!

Przeczytałem większość postów na tym forum i co mnie przeraża to to że dużo osób porywa się na środowiska programistyczne typu BCB bez podstawowej wiedzy z zakresu OOP. Chciałbym zwrócić uwagę na to że takie środowisko wprowadzając przyjemny i wygodny interfejs pomiędzy programistą a samym tworzeniem programów, trochę rzeczy robi automatycznie. To jest bardzo przydatne kiedy utworzenie jakiegoś zdarzenia dla kontrolki polega na kliknięciu myszką i już można pisać docelowy kod. Jednak dla ludzi (nie mówię tutaj o nikim konkretnym) którzy nie wiedzą co to jest dziedziczenie, z którym mamy do czynienia na każdym kroku programując w BCB, nie mówiąc już o takich pojęciach jak konstruktor, destruktor, klasa, obiekt, to tacy ludzie programując np. w BCB stają się "niepełnosprawnymi" programistami. Mają oni klapki na oczach i wiedzą tylko jak zrobić coś w BCB, natomiast jeżeli kiedykolwiek przyszło by im napisać zwykły program w notatniku i kompilować z linii poleceń to mogli by mieć z tym problemy. Nie namawiam tutaj żeby pisać programy w notatniku, czy też nie używać BCB, tylko jeżeli zabieramy się za programowanie to należało by coś na ten temat poczytać dla podstaw. Takie fora jak np. to, to bardzo dobry pomysł (gratulację dla Ciebie CB za bardzo fajne i przede wszystkim aktywne forum), natomiast one nie dają odpowiedzi dlaczego tak a nie inaczej się coś robi. Przedstawiają jedynie gotowe rozwiązania przy użyciu np. konkretnych interfejsów (WINAPI, INDY, oraz ogólnie interfejs BCB) i właśnie takie forum powinno być po to aby pomóc w użyciu jakiegoś np. komponentu, pokazać jakie ma metody, co nimi można zrobić albo nawet zaprezentować jego działanie. Natomiast odpowiedzi na pytania typu "dlaczego mi się kod nie kompiluje", które wynikają z ewidentnego braku podstaw, nie wnoszą nic nowego w umiejętności danej osoby. Co będzie kiedy jakiś komponent będzie miał funkcję, którą będzie trzeba wykorzystać a która jako parametr przyjmie coś takiego:
Kod: Zaznacz cały
int (*(*f)(int(*a)(char*&)))(int& (*a)(char*&));
:?: Napiszecie wtedy do CB a On będzie siedział 15 minut, później odpowie na 4 linijki w swoim poście a inni tylko przeczytają i będą wiedzieć tylko co oznacza ta definicja, natomiast po usunięciu którejkolwiek pary nawiasów już będzie kolejny problem i co też do CB :?: To mu życia nie starczy jak będzie trzeba każdy przypadek opisać :!:
W pewnych momentach jest mi przykro kiedy CB się produkuje nad problemami które można łatwo rozwiązać przy pomocy książki, czy nawet jakiegoś kursu w sieci i odrobiny chęci.

Zdaję sobie sprawę że pewnie większość osób się oburzy na to co napisałem, ale trudno. Wiem z doświadczenia że właśnie Ci co się oburzą, to do nich najbardziej jest adresowany ten post :D

Pozdr!
If a machine is expected to be infallible, it cannot also be intelligent.
-- A.Turing
Avatar użytkownika
kinio
Homos antropiczny
Homos antropiczny
 
Posty: 67
Dołączył(a): poniedziałek, 14 lipca 2008, 08:51
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
    NieznanyNieznana

Re: Podstawy

Nowy postprzez wargo » piÄ…tek, 22 sierpnia 2008, 21:27

Ja tam siÄ™ nie burzÄ™ ale co to jest OOP?? ;D
Avatar użytkownika
wargo
Mądrosław
Mądrosław
 
Posty: 389
Dołączył(a): niedziela, 13 lipca 2008, 16:44
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 3
System operacyjny: Windows 7
Kompilator: C++ Builder 6 Personal
Gadu Gadu: 6259515
    NieznanyNieznana

Re: Podstawy

Nowy postprzez kinio » piÄ…tek, 22 sierpnia 2008, 21:53

tu chodzi o programowanie obiektowe (Object-Oriented Programming)
If a machine is expected to be infallible, it cannot also be intelligent.
-- A.Turing
Avatar użytkownika
kinio
Homos antropiczny
Homos antropiczny
 
Posty: 67
Dołączył(a): poniedziałek, 14 lipca 2008, 08:51
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
    NieznanyNieznana

Re: Podstawy

Nowy postprzez Cyfrowy Baron » sobota, 23 sierpnia 2008, 09:41

W sumie to się zgadzam z kinio, często odpowiedź na banalne problemy wywołuje u mnie co najmniej irytację.
Dla przykładu problem z tego forum dotyczący prostej funkcji:

Kod: Zaznacz cały
int funkcje(int x)
{
ListView1->Add();
}


Nie czepiam się już faktu, że Add nie odnosi się bezpośrednio do obiektu ListView1. Zakładam po prostu, że autor użył skrótu myślowego, ale pisze, że kompilator zgasza mu błąd i nie wie dlaczego... I to jest właśnie to o czym pisze kinio.
Gdy udzielam odpowiedzi na post i sugeruję, żeby przeczytać artykuł w serwisie o tym jak się tworzy funkcje i jak to działa, w odpowiedzi słyszę, że on wie jak się tworzy funkcje... :oops: Skoro tak, to dlaczego nie wiem, gdzie tkwi błąd, jak można jednocześnie wiedzieć i nie wiedzieć...

To forum jak również serwis powstały z myślą o początkujących programistach, sam kiedyś zaczynałem, ale wiedzę czerpałem głównie z książek. Porady w serwisie pokazuję tylko pewną koncepcję programowania, sposoby na rozwiązanie pewnych problemów, ale tylko jedne konkretne, nie zawsze optymalne, nie uczą jednak programowania, a tylko pomagają w tej nauce, dlatego forum i serwis nie wystarczą do nauki programowania.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Podstawy

Nowy postprzez wargo » sobota, 23 sierpnia 2008, 11:00

Musiałes pokazac mój przykład :oops:
Chodziło mi o to że wiem żeby lepiej coś zwracało i znałem konstrukcję funkcji ale nigdy nie miałem z tym problemów! Dopiero po próbie WSTAWIENIA tam komponentu miałem problem ale konstrujcę znam.
Kod: Zaznacz cały
typ zwrócony (typparam1 nazwa1, typ p2)
{
return AnsiString p2;
}

Ale poczytam sobie, może znajde inne ważne informacje 8-)
Avatar użytkownika
wargo
Mądrosław
Mądrosław
 
Posty: 389
Dołączył(a): niedziela, 13 lipca 2008, 16:44
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 3
System operacyjny: Windows 7
Kompilator: C++ Builder 6 Personal
Gadu Gadu: 6259515
    NieznanyNieznana


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość

cron