Temat: Programowanie NIE-obiektowe
Równie dobrze można spytać, czy potrzebne są nam profesje - przecież można dobierać ludzi do konkretnego zadania ze względu na ich cechy osobiste i poszczególne zdolności. Niejeden elektryk umie kafelkować.
W oop masz klasy i wzorce - działasz jak z ludźmi - profesje i schematy pracy.
Jarosław K.:
Czy może to świadczyć o pewnej "faworyzacji" jednego z modeli ?
Tak. A dokładniej świadczy to o faworyzacji rozwiązań prostszych, intuicyjnych, przenośnych i skalowalnych nad innymi.
Nie ma jednak "róży bez kolców"
Nic się samo nie zrobi. Im więcej umiesz - tym więcej zdziałasz.
Czy należy bezwzględnie opanować OOP ?
Tak, choćby po to, żeby wiedzieć kiedy jest niepotrzebne :D
Uważam, że dyskusja jest trochę bezcelowa, bo OOP jest już standardem i żaby nie prowadzić rozważań o wyższości świąt Wielkiej nocy nad Bożym Narodzeniem, wypadałoby zapytać "Jak i gdzie stosować OOP"
Na koniec jakiś konkret ZA. Spróbuj pomyśleć w takich kategoriach:
- Z OOP mogę zlecić wykonanie klasy która spełnia konkretne zadanie i zająć się ogólna strukturą programu.
- Z OOP mogę pominąć specjalistyczne rozwiązania i przygotować szkic programu, bez znajomości pewnych bibliotek a kod mojego programu głównego przypomina przepis na ciasto, przez co każdy programista, który na to spojrzy od razu wie co się dzieje w każdym miejscu.
- Z OOP nie muszę wyważać otwartych drzwi, ponieważ standardowe problemy mają swoje pewne i sprawdzone rozwiązania, często dostępne w postaci gotowych bibliotek, których nie muszę znać na wylot - ważne, że znam publiczne metody.
Oczywiście na upartego możesz stosować funkcje i udowodnić że da się coś zrobić strukturalnie. Tylko nie zawsze fakt, że się da oznacza, że tak jest dobrze. Obiektowość narzuca pewne schematy myślenia o konstrukcji programu, które ułatwiają pracę. Jeżeli nie myślisz obiektowo to się zajedziesz :)