Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα

 

Όταν ασχολείσε με μόνο με 2-3 πράγματα στη δουλειά, ξεχνάς πράγματα που δε θα έπρεπε. Βοηθηστε με να καταλάβω ένα θεματάκι που είχα ξεχάσει και τώρα με μπέρδεψε. 

 

Προφανώς και κάθε OOP γλώσσα είναι διαφορετική, με διαφορετικές υλοποιήσεις. Αλλά κοιτώντας το OOP καθαρά σα paradigm, σε ένα θεωρητικό, αφαιρετικό επίπεδο :

 

-Είναι το OOP stateless ή stateful? Κάθε object έχει ένα state το οποίο αλλάζει απο το ίδιο το object ή απο ένα άλλο object. Αυτό το state είναι το ίδιο με το program state, οπότε το OOP είναι τελικά stateful ?

 

-Επίσης το OOP, πέρα απο το state έχει side effects : κάθε object μπορεί να αλληλεπιδράσει με κάποιο άλλο, να αλλάξει μια global var ή να διαβάσει ένα αρχείο απο εναν φάκελο. Οποτε το OOP επιτρέπει τελικά τα side effects ?

 

Thanks

 

 

  • Like 1
Δημοσ.

Ναι και ναι. Αλλιώς πως θα μπορούσες να γράψεις πρόγραμμα; ;-)

 

Προφανώς όμως και το functional δεν είναι side effect free στη γενική περίπτωση. Πχ δε γίνεται να διαβάσεις από ένα network socket χωρίς side effects. Και από τη στιγμή που υπάρχουν side effects προφανώς υπάρχει και state.

 

Εννοώ δηλαδή ότι η θεώρηση "functional ίσον pure" είναι λάθος.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...