• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czas nauczyć programować obiektowo - polecicie jakiś kurs?

0 głosów
562 wizyt
pytanie zadane 18 lipca 2016 w PHP, Symfony, Zend przez GenerałXavi Stary wyjadacz (11,180 p.)

Witam! Nadszedł ten czas, że muszę nauczyć się programowania obiektowego. Ostatnio chciałem wejść na wyższy poziom programowania, ale coraz częściej napotykam na stwierdzenia: "nie wyobrażam sobie tego bez OOP" chociażby przy MVC, routingu itd. Zresztą zdaję sobie sprawę, że umiejętność programowania obiektowego to całkowity obowiązek w świecie programistyki. 

Całą swoją karierę zacząłem od C++, ale niestety skończyłem właśnie w momencie kiedy zaczynałem uczyć się obiektówki. Po prostu ten język mnie nie przekonał, znudził mi się i IMO widać w nim zbyt powoli efekty. Teraz uczę się PHP i JS. Języki te zdecydowanie bardziej mi się podobają i nie znudzą mi się tak jak C++. Model obiektowy tych języków całkowicie różnią się od siebie, ale to nie powinno stanowić problemu. Chcę się przede wszystkim nauczyć programować obiektowo w PHP. 

Zależy mi na kursach/tutorialach/poradnikach w języku polskim. Radzę sobie z angielskim, ale jest to tak ważna rzecz i chyba skomplikowana, więc w tym wypadku chcę skorzystać z polskich źródeł. Może być książka, ale niech będzie dostępna w wersji PDF. (Może być płatna). Nie lubię uczyć się z papierowej książki. Poszukałem trochę w wyszukiwarce podobnych tematów, ale większość jest z 2015roku. Myślę, że sporo osób przybyło. 

Zdaję sobie sprawę, że na jednym tutorialu się nie skończy i będę po prostu musiał przećwiczyć i dużo nad tym popracować. Ale myślę, że te pierwsze momenty z obiektowością będą kluczowe w celu dalszego zrozumienia. Dlatego angielskie źródła jak najbardziej możecie również polecić, ale zostawię je sobie jak już zrozumiem podstawy. 

Jeśli chodzi o forum, to odnalazłem:

wytlumaczone pojecia przez eventa oraz przykłady od efika i bardzo fajna lista od eventa - może macie jeszcze jednak coś innego i raczej nie chcę płacić 80 zł za kurs video, bo ostatnio sporo wydatków.

Jeśli chodzi o polskie kursy i które wydają mi się dobre, to znalazłem:
kurs1 kurs2

Wiem, że już było sporo tematów o obiektowości, ale wszystko już były dosyć stare. Pewnie niejedna osoba w tym czasie nauczyła OOP i może da dobre rady. Za wszystkie będę wdzięczny.

Pozdrawiam

1
komentarz 18 lipca 2016 przez GenerałXavi Stary wyjadacz (11,180 p.)
Dodam, że na ten moment ten kurs: https://webmastah.pl/jak-programowac-obiektowo-cz-1-wstep/

Wydaje mi się faworytem, ma 9 części i jak rzuciłem okiem, to autor tłumaczy zrozumiale. Ale poczekam na Wasze porady i opinie. :)
komentarz 18 lipca 2016 przez erx700 Gaduła (3,490 p.)
przywrócone 19 lipca 2016 przez efik
Najlepszy do programowania obiektowego jest Java i Ruby.
komentarz 18 lipca 2016 przez Comandeer Mentor (364,880 p.)
przywrócone 19 lipca 2016 przez efik
@erx700 jeśli mogę wiedzieć, to dlaczego?
komentarz 18 lipca 2016 przez Boshi Szeryf (96,640 p.)
bo to java... przecież taka fajna i wręcz stworzona do obiektowości..
komentarz 19 lipca 2016 przez erx700 Gaduła (3,490 p.)
Bo te języki są silnie ukierunkowane na programowanie obiektowe. Tak też mówi wikipedia. Ruby ma tą zaletę, że wszystko w nim jest obiektem. Do Javy z kolei jest napisana jedna z najlepszych książek, a mowa oczywiście o "Czystym kodzie".
1
komentarz 19 lipca 2016 przez Comandeer Mentor (364,880 p.)

Ruby ma tą zaletę, że wszystko w nim jest obiektem.

W takim razie JS też jest świetne do nauki OOP… ;) 

Do Javy z kolei jest napisana jedna z najlepszych książek, a mowa oczywiście o "Czystym kodzie".

Z tego by wynikało, że jest ona przydatna tylko w kontekście tego języka – a jak wiadomo, nie jest tak. Chociaż z drugiej strony: znamienny jest fakt, że właśnie na podstawie Javy tę książkę napisano ;)

komentarz 19 lipca 2016 przez erx700 Gaduła (3,490 p.)
Ale JS nie jest silnie ukierunkowana na programowanie obiektowe. Czytaj cały komentarz.
komentarz 19 lipca 2016 przez Comandeer Mentor (364,880 p.)
Przeczytałem cały i nie odniosłem się do tego z prostej przyczyny: skoro wszystko w danym języku jest obiektem, to jest on ukierunkowany na OOP. Owszem, nie wypracowano w nim jeszcze tak rozbudowanych konwencji jak w Javie, ale można spokojnie stwierdzić, że JS również jest ukierunkowane na OOP.
komentarz 19 lipca 2016 przez event15 Szeryf (88,430 p.)
edycja 19 lipca 2016 przez event15

Bo te języki są silnie ukierunkowane na programowanie obiektowe. Tak też mówi wikipedia. Ruby ma tą zaletę, że wszystko w nim jest obiektem. Do Javy z kolei jest napisana jedna z najlepszych książek, a mowa oczywiście o "Czystym kodzie".

To już chyba lepiej jest polecić Eiffel, czy Smalltalka. Czysty kod jest wzorowany na Bertrandzie Meyerze, który to większość praw jeszcze nie znanych jako SOLID sformułował. Nie można też zapomnieć o Larmanie i bandzie czworga. Czysty kod to kropla w morzu i wcale nie najlepsza tylko wręcz dogmatyczna, nie stawiająca na zrozumienie istoty problemu, tylko na nakazy. 

4 odpowiedzi

+1 głos
odpowiedź 18 lipca 2016 przez GenerałXavi Stary wyjadacz (11,180 p.)
Widzę, że polecacie mi nauczyć się języka w pełni obiektowego w celu zrozumienia obiektówki, ale nauka innego języka odpada. Moim zdaniem strata czasu i już wolę się pomęczyć bardziej z obiektowością PHP.
komentarz 18 lipca 2016 przez kosaa Dyskutant (8,490 p.)
Nie jest to męczarnia. Po prostu inne podejście do nauki jako takiej :)
komentarz 19 lipca 2016 przez event15 Szeryf (88,430 p.)
PHP jest językiem, można by rzec, wieloparadygmatowym. Pozwala na pisanie w pełni obiektowych aplikacji, w różnych metodykach i metodologiach. Ma masę narzędzi wspierających proces projektowania jak i tworzenia obiektowego więc jest jak najbardziej obiektowy.
komentarz 19 lipca 2016 przez efik Maniak (71,070 p.)
Ja jakoś nie miałem problemu z nauką Javy po PHP ;) w szczególności OOP. Jedynie co mi brakuje w PHP to generyczności. :) ale myślę że wejdzie. Ale takie polecanie Javy i Ruby na sile bo są w "pełni" obiektowe.. eh. Zainstaluje sobie Storma, composera poczyta o SOLID, poszuka jakiś ciekawych blogów i też da radę. Później odkryje narzędzia jak behat, phpspec, phpunit i zacznie się bawić z podejściem TDD. PHP nie jest takie upośledzone za jakiego go macie. Da rade się nauczyć OOP spokojnie ;)
0 głosów
odpowiedź 18 lipca 2016 przez Bantu Nałogowiec (29,810 p.)
Obiektowść to takie sprytne zagadnienie, którego człowiek tak na prawdę uczy się sam z siebie. Po prostu obiektowść jest intuicyjna i jest tym wszystkim co nas otacza. Ale prawdę mówiąc najłatwiej ją opanować po prostu programując w językach, które są w pełni obiektowe, jak Java, C#, Python, Ruby etc. Programując w tych językach chcąc nie chcąc nauczysz się obiektowości nawet nie zwracając na to zbytnio uwagi. Także zachęcam po prostu zainteresować się językiem, który wymusza obiektowość i żadna książka Ci nie będzie potrzeba, aby opanować to zagadnienie samo w sobie.
komentarz 18 lipca 2016 przez Comandeer Mentor (364,880 p.)
Hmm… Prawdę mówiąc Ruby w tej grupie mnie ciut dziwi. Jeśli bowiem Ruby uznamy za w pełni obiektowe, to równie dobrze JS także można za takowy uznać ;)
komentarz 18 lipca 2016 przez Bantu Nałogowiec (29,810 p.)
Ruby jest tak samo obiektowy jak chociażby Python gdzie wszystko jest obiektem. W JS jednak występuje jednak pewna powiedzmy pseudoobiektowość przynajmniej moim zdaniem.
komentarz 18 lipca 2016 przez Comandeer Mentor (364,880 p.)
Niby czemu? W JS również wszystko jest obiektem.
komentarz 18 lipca 2016 przez Bantu Nałogowiec (29,810 p.)
W takim razie moje niedopatrzenie.
komentarz 19 lipca 2016 przez event15 Szeryf (88,430 p.)

po prostu programując w językach, które są w pełni obiektowe, jak Java, C#, Python

Python ma ubogą obiektowość jeśli już wejść w techniczne szczegóły.  

komentarz 19 lipca 2016 przez Tomatosoup Pasjonat (18,530 p.)
Czy obiektowość od razu można nazwać ubogą, jeżeli jej mechanizm hermetyzacji jest umowny ?

Python jest teraz głównym językiem nauczanym na uniwersytetach - zarówno na zagranicznych renomowanych szkoła, jak i u nas, w Polsce. Nie bez powodu nie wybrali do tego Javy czy innego języka - a właśnie prostotę Pythona
komentarz 19 lipca 2016 przez Comandeer Mentor (364,880 p.)

Czy obiektowość od razu można nazwać ubogą, jeżeli jej mechanizm hermetyzacji jest umowny ?

Sądząc po tym jak wciąż ciśnie się po JS, to – tak, można ;)

Co do prostoty Pythona: mnie osobiście strasznie irytuje ten język oparty na składni związanej z białymi znakami. 

komentarz 19 lipca 2016 przez Tomatosoup Pasjonat (18,530 p.)

Sądząc po tym jak wciąż ciśnie się po JS, to – tak, można ;)

Obiektowości w JSie można nie lubieć - co nie zmienia że ona tam jest i ma się dobrze.

Na irytacje prawdopodobnie wpływa małe obycie z językiem - jestem praktycznie przekonany, że w miejscach w których trzeba zrobić wcięcie w Pythonie, zrobiłbyś też w Javascripcie

komentarz 19 lipca 2016 przez Comandeer Mentor (364,880 p.)
Owszem, pewnie zrobiłbym, ale – to ja decyduję o tym, czy je zrobię ;) Ot, taka drobna różnica.

Poza tym bardziej nie przekonuje mnie brak klamer niż sam wymóg wcinania.
komentarz 20 lipca 2016 przez event15 Szeryf (88,430 p.)

 nie lubieć

lubić laugh 

0 głosów
odpowiedź 19 lipca 2016 przez event15 Szeryf (88,430 p.)
Dorzucę zbiór linków, zagregowany w jednym w moich albo efikowych postów:

http://forum.pasja-informatyki.pl/82446/jak-pokierowac-nauke-programowania-praktyka-php
–1 głos
odpowiedź 18 lipca 2016 przez kosaa Dyskutant (8,490 p.)
Może mały offtop, ale żaden kurs nie zasątpi Ci książki. Z doświadczenia mogę z czystym sumieniem mogę polecić Ci tą ąksiążkę:

http://allegro.pl/java-podstawy-wyd-ix-wyprzedaz-wysylka-0-i6327219213.html

Od podstaw wszystko jest tłumaczone i bardzo dobrze opisane. Dodatkowo java ma cudowną dokumentację. Wydaje mi się, że wydatek ok 70zł za 1000 stron bardzo praktycznej wiedzy to znikomy wydatek.

p.s. to nie moja aukcja, wyskoczyła jako pierwsza, polecam poszukać pewnie gdzieś będzie taniej
komentarz 18 lipca 2016 przez GenerałXavi Stary wyjadacz (11,180 p.)
Dzięki, ale po co mi Java? Mam się uczyć innego języka żeby zrozumieć obiektowość? Myślę, że to byłaby strata czasu. Na ten moment zająłem się technologiami webowymi i mam zamiar przy nich zostać.
komentarz 18 lipca 2016 przez kosaa Dyskutant (8,490 p.)
Java jest to język w pełni obiektowy i wydaje się w sam raz do nauki obiektówki.

Jeśli chcesz w technologii web to masz np. PHP. Nie ma tam pełnej obiektowości, np przeciążania funkcji więc może Cie sporo ominąć. Ogólnie polecam jave, nie będzie to czas stracony.
komentarz 18 lipca 2016 przez Ivan Maniak (53,710 p.)
IMO będzie to czas stracony. Po co ma się uczyć OOP w Javie, skoro chce tworzyć serwisy w PHP? To taki sam argument jak "Naucz się pierwsze C++, on zawsze Ci się przyda. Nawet jeżeli pójdziesz w web i będziesz chciał pisać w PHP".
To że go sporo ominie, bo "nie ma tam pełnej obiektowości" to bzdura. Po co ma się uczyć rzeczy, która nigdy mu się nie przyda? W tym przypadku, jeżeli nie ma czegoś w PHP = nie jest mu to potrzebne. A jak zauważyłeś, że sporo go może ominąć to pewnie też sporo może się zmienić i po co ma się uczyć dwa razy?
komentarz 18 lipca 2016 przez kosaa Dyskutant (8,490 p.)
Miałem tu tylko na myśli, że PHP nie jest w pełni obiektowym językiem i jeśli już ktoś będzie nadrabiał to PHP w stosunku do Javy niż odwrotnie.

Co do innych języków to znajomość (podstawowa) architektury komputerów oraz asemblera daje mi większą świadomość w tym co piszę i co dzieje się pod spodem.
komentarz 18 lipca 2016 przez Boshi Szeryf (96,640 p.)
I uważasz, przeciążanie coś co stawia javę jako pełni obiektowy język a PHP nie? ja pier.. jak się czyta takie bzdury, to się chce widelec w oko wbić.
2
komentarz 18 lipca 2016 przez adas94 Pasjonat (19,180 p.)
Skoro chce pisać w PHP, to po co ma znać jakieś "javowskie" tajniki OOP ? To tak jakbym ja chciał się nauczyć skakać wzwyż, a ty byś powiedział, że najpierw mam się nauczyć skakać o tyczce, bo będzie mi potem łatwiej.
komentarz 19 lipca 2016 przez event15 Szeryf (88,430 p.)

Miałem tu tylko na myśli, że PHP nie jest w pełni obiektowym językiem i jeśli już ktoś będzie nadrabiał to PHP w stosunku do Javy niż odwrotnie.

Javie ta "pełnia" obiektowości przyniosła więcej kłopotów niż zysków. 

Inna sprawa, że PHP jest w pełni funkcjonalnym językiem obiektowym, z ogromną masą narzędzi wspierających proces projektowania jak i wytwarzania oprogramowania. Nie odstaje niczym od żadnego z języków jeśli chodzi o korzystanie z obiektów. 

Ja uczę się PHP z książek o Smalltalku, Javie, C#, Eiffel'u. Nie widzę najmniejszych przeszkód by wykorzystywać wszystkie wartościowe rzeczy w swoim języku "matce".

Podobne pytania

0 głosów
1 odpowiedź 103 wizyt
pytanie zadane 25 lipca w PHP, Symfony, Zend przez Bartess Użytkownik (960 p.)
0 głosów
5 odpowiedzi 898 wizyt
pytanie zadane 4 stycznia 2016 w PHP, Symfony, Zend przez No Lime Gaduła (4,550 p.)
0 głosów
2 odpowiedzi 412 wizyt
pytanie zadane 10 sierpnia 2015 w C# i .NET przez Adam Nowicki Obywatel (1,480 p.)
Obowiązuje już zaktualizowany regulamin.

Czy wiesz, że nie musisz już odświeżać strony głównej?

Lista pytań i odpowiedzi aktualizuje się automatycznie!

38,606 zapytań

76,489 odpowiedzi

149,373 komentarzy

18,071 pasjonatów

Przeglądających: 303
Pasjonatów: 29 Gości: 274

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...