Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Czy warto zabierać się za programowanie obiektowe.

Ostatnio zmodyfikowano 2014-09-12 19:39
Autor Wiadomość
Szustarol
Temat założony przez niniejszego użytkownika
Czy warto zabierać się za programowanie obiektowe.
» 2014-09-08 22:47:47
Witam, szczerze mówiąc albo to kurs na stronie jest kiepsko wytłumaczony, albo ja po krótkim przeleceniu wzrokiem przez elementy kursu programowania obiektowego tutaj nie widzę sensu uczenia się go. Z tego co widzę, wszystko z obiektów da się zrobić funkcjami, czy może mi jakiś weteran wyjaśnić oczywiste zalety obiektowości? Czy jest jakiś kurs który wyjaśnia to dokładniej niż kurs tutaj ( który moim zdaniem nie jest najlepszy- bez obrazy dla autora ) ?
P-116771
michal11
» 2014-09-09 08:48:18
Jak już się wkręcisz w programowanie obiektowe to nie będziesz chciał wracać do programowania stricte funkcyjnego. Programowanie obiektowe jest dużo bardziej intuicyjne, czytelniejsze i logiczne. A najlepszą metoda jego nauki jest napisanie jakiegoś większego programu, najlepiej korzystając z jakiejś biblioteki obiektowej.
P-116782
miecio1990
» 2014-09-09 09:59:04
oczywiscie, ze nie ma obowiazku nauki programowania obiektowego
jest kilka argumentow zeby jednak sie tego nauczyc:
1. dla mnie bardzo przekonujacy - kazdy pracodawaca bedzie od Ciebie wymagal wiedzy w tym zakresie, bo tak sie pisze w obecnej chwili (wiec jesli wiazesz swoja przyszla kariere z programowaniem, to jest elementarna wiedza ktora musisz posiadac)
2. kod jest duzo bardziej przejrzysty dla obcych oczu (twoich zreszta tez) - jesli robisz cos tylko dla siebie to nie robi Ci to roznicy, ale w momencie jak bedziesz mial robic projekty na uczelni/w pracy, to musisz pisac w sposob zrozumialy dla innych
3. kod zajmuje mniej miejsca - tutaj sie mozemy klocic, bo proceduralnie tez mozna tworzyc funkcje podobne do metod, ktore jako argumenty przyjmuja struktury itd, ale to jest tak naprawde oszukiwanie samego siebie, wiec po co udawac ze pisze sie proceduralnie, skoro tak na prawde mozna zrobic to samo zgodnie z kanonem programowania obiektowego
4. jesli bedziesz chcial sie przerzucic na inna platforme (java, python, c# itd..) bez wiedzy o programowaniu obiektowego, na dobra sprawe zaczynasz od zera.

Jako przyklad ze warto, powiem ze projekt do pracy magisterskiej nad ktorym teraz pracuje zaczalem pisac proceduralnie i w pewnym momencie sam zaczalem sie w nim gubic - pracowalem nad nim ponad 3 miesiace. jakies 2-3 tygodnie temu zaczalem pisac obiektowo. Zblizam sie do konca, za jakeis 2 tygodnie planuje pierwsze testy jako calosci (pewnie sie wysypie, ale bardzo latwo moge przetestowac wieksze elementy - np kazdy obiekt z osobna itd).
To tez jest bardzo silny argument, bo testy sa latwiejsze do przeprowadzenia i zajmuja mniej czasu.
Oczywiscie to sa moje odczucia, ale szczerze mowiac w momencie kiedy zaczalem to pisac stricte obiektowo, to kod sam sie pisze i wymaga ode mnie minimalnego wysilku, bo pewne rozwiazania same sie narzucaja.
P-116785
pekfos
» 2014-09-09 10:56:51
który moim zdaniem nie jest najlepszy- bez obrazy dla autora
Przedstawia narzędzie i wymaga znajomości podstaw, zapewne lepszej niż w obecnej wersji kursu C++, oraz odrobiny doświadczenia z językiem. Z życiowymi przykładami to nie do kursu podstaw obiektowości
» KursyWzorce projektowe kurs
P-116788
akwes
» 2014-09-09 12:33:26

wszystko z obiektów da się zrobić funkcjami
A wszystko z funkcjami przerobić na ASM :)

Programownaie obiektowe to dwie rzeczy: koncepcja ideologiczna oraz udogodnienia języka. Aby używać poprawnie pierwszego warto znać drugie. Oczywiście, nawet w C da się pisać kod obiektowy (w linuksie cały system wirtualnego systemu plików jest napisany ideologicznie obiektowo mimo, że w języku C. System zachowuje się polimorficznie oraz kojarzy na stałe zachowania ze strukturami).

Pewne rzeczy łączysz w abstrakcje i zapominasz o szczegółach. Możesz korzystać z RAII i zapomnieć o używaniu new i delete. Ponowne wykorzystanie kodu obiektowego jest dużo łatwiejsze. Ogarnięcie kodu obiektowego również jest łatwiejsze (większa abstrakcja powoduje mniejszą ilość zależności do opanowania na raz). Kod obiektowy jest bardziej modularny przez co łatwiej wyszukiwać i poprawiać błędy, łatwiej utrzymać kod oraz dodawać funkcjonalność. Można by tak mówić długo... :)

Wszystkie korzyści programowania obiektowego przychodzą z czasem, jednak najpierw trzeba znać dostępne narzędzia, gdyż bez tego jest to trudne do opanowania i zrozumienia.

A co do kursu, to kurs jest tylko kursem. Jeżeli oczekujesz poważnej i dogłębnej analizy rzuć okiem publikacje na ten temat (starsze wydania anglojęzyczne często są udostępnianie za darmo przez autorów).
P-116792
miecio1990
» 2014-09-10 13:03:01
dzisiaj znalazlem cos takiego w internecie, moze to Ci rzucic troche swiatla dziennego na sprawe. zwlaszcza ze to slowa kogos kto doglebnie zna temat dylematu miedzy c i c++:
http://www.intercon.pl/~sektor/cbx/cbx.html
bardziej mowi o c i c++, ale odnosi sie to posrednio do obiektowosci c++
P-116832
Szustarol
Temat założony przez niniejszego użytkownika
» 2014-09-11 15:07:08
A linki do jakiegoś dobrze wytłumaczonego kursu? (oczywiście bez obrazy dla autora kursu na tej stronie)

PS. znając podstawy, w którym rozdziale "Thinking in C++" mogę rozpoczoć, które rozdziały pominąć?
P-116885
Jacob99
» 2014-09-11 17:45:40
Najlepiej zacząć od początku.
rozpoczoć
 Kiedy ostatnio ćwiczyłeś ortografię? Bo od ą do o jest spora odległość.
P-116897
« 1 » 2
  Strona 1 z 2 Następna strona