alfas Δημοσ. 8 Φεβρουαρίου 2015 Δημοσ. 8 Φεβρουαρίου 2015 Καλημέρα στη κοινότητα. Ψάχνω να απαντήσω σε ενα ερώτημα. Θέλω να βρω τα μεινεκτήματα που έχει μια γλώσσα αν έχει μονάχα global μεταβλητές ή μονάχα static μεταβλητές. Γενικά στο ιντερνετ βρήκα κάποια μειονεκτήματα που έχουν οι global πχ σαν μεταβλητές ή και οι static. Αλλα θεωρώ πως δεν μου δίνει την απάντηση στο ερώτημα μου. Σας ευχαριστώ
Papakaliati Δημοσ. 8 Φεβρουαρίου 2015 Δημοσ. 8 Φεβρουαρίου 2015 Μην χρησιμοποιείς ποτε στατικ μεταβλητές, εβερ, γιατί εφόσον τώρα ξεκίνας στον προγραμματισμος δεν μπορείς να καταλάβεις τα αρνητικά. Επίσης πολλές φορές οι στατικ μεταβλητές θα σου φανουνε η εύκολη λύση σε μερικά προβλήματα, και μερικές φορες ειναι,αλλά όταν αρχίσεις να κανείς εφαρμογές με περισσότερα threads θα καταλάβεις που υπάρχει το πρόβλημα.
alfas Δημοσ. 8 Φεβρουαρίου 2015 Μέλος Δημοσ. 8 Φεβρουαρίου 2015 Είναι καθαρά θέμα θεωρητικό..Δεν είναι θεμα ξεκινάω τώρα το προγραμματισμό ή οχι... Σε ευχαριστώ πάντγς
Papakaliati Δημοσ. 8 Φεβρουαρίου 2015 Δημοσ. 8 Φεβρουαρίου 2015 Θεωρητικα τοτε μιλοντας ουτε οι static ουτε οι global variables ειναι κατι κακο. Μπορουν ομως να εχουνε αρνητικα οταν δεν τις χρησιμοποιεις σωστα. Και δεν υπαρχει γλωσσα που να εχει μονο static η μονο global variables οπως ανεφερες, ολες (?) υποστηριζουνε και τα δυο. 1
Apoll Δημοσ. 8 Φεβρουαρίου 2015 Δημοσ. 8 Φεβρουαρίου 2015 Και προσοχή μην σε πιάσει και το γυρίσεις χρησιμοποιώντας μόνο singletons.
Papakaliati Δημοσ. 8 Φεβρουαρίου 2015 Δημοσ. 8 Φεβρουαρίου 2015 Και προσοχή μην σε πιάσει και το γυρίσεις χρησιμοποιώντας μόνο singletons. +1. Γενικως alfas static μονο σε methods που υπολογιζουνε γυρνανε ενα αποτελεσμα. Ποτε για αποθηκευση δεδομενων.
albNik Δημοσ. 8 Φεβρουαρίου 2015 Δημοσ. 8 Φεβρουαρίου 2015 Και δεν υπαρχει γλωσσα που να εχει μονο static η μονο global variables οπως ανεφερες, ολες (?) υποστηριζουνε και τα δυο. Η C δεν εχει static (εννοώ static member of class) αφου δεν εχει class. Οι C#, Java δεν εχουν global.
migf1 Δημοσ. 8 Φεβρουαρίου 2015 Δημοσ. 8 Φεβρουαρίου 2015 Καλημέρα στη κοινότητα. Ψάχνω να απαντήσω σε ενα ερώτημα. Θέλω να βρω τα μεινεκτήματα που έχει μια γλώσσα αν έχει μονάχα global μεταβλητές ή μονάχα static μεταβλητές. Γενικά στο ιντερνετ βρήκα κάποια μειονεκτήματα που έχουν οι global πχ σαν μεταβλητές ή και οι static. Αλλα θεωρώ πως δεν μου δίνει την απάντηση στο ερώτημα μου. Σας ευχαριστώ Που έψαξες και δεν σε ικανοποίησε η απαντήση που διάβασες; Η C δεν εχει static (εννοώ static member of class) αφου δεν εχει class. ... H C έχει static vars (μέσα σε functions και μέσα σε source-modules). 1
gon1332 Δημοσ. 8 Φεβρουαρίου 2015 Δημοσ. 8 Φεβρουαρίου 2015 H C έχει static vars (μέσα σε functions και μέσα σε source-modules). ...και γενικότερα στο scope όπου ορίζονται. 1
defacer Δημοσ. 8 Φεβρουαρίου 2015 Δημοσ. 8 Φεβρουαρίου 2015 @alfas δεν καταλαβαίνω την ερώτησή σου. Πρώτον τι εννοείς "μονάχα global" και "μονάχα static"? Ότι άλλου είδους μεταβλητές (π.χ. απλά με local scope) δεν είναι διαθέσιμες; Δεύτερον για ποιό λόγο ψάχνεις να βρεις απάντηση σ' αυτή την πραγματικά περίεργη ερώτηση; Για σένα ή για άλλη χρήση; Και τρίτον οι global και οι static μεταβλητές πάνω κάτω είναι το ίδιο πράγμα σαν υλοποίηση, με μόνη (ουσιαστική βέβαια) διαφορά το scope. 1
gon1332 Δημοσ. 9 Φεβρουαρίου 2015 Δημοσ. 9 Φεβρουαρίου 2015 Και τρίτον οι global και οι static μεταβλητές πάνω κάτω είναι το ίδιο πράγμα σαν υλοποίηση, με μόνη (ουσιαστική βέβαια) διαφορά το scope. Μιλώντας για υλοποίηση, οι global/static αποθηκεύονται σε διαφορετικά σημεία από τις αυτόματες. Οι global/static βρίσκονται είτε στο data (αρχικοποιημένες) είτε στο BSS segment (μη αρχικοποιημένες) και δεσμεύονται από τον compiler κατά το compilation, σε αντίθεση με τις αυτόματες, οι οποίες ξεκι- νάνε να ζουν και πεθαίνουν κατά το runtime, με τη δημιουργία και καταστροφή των stack frames. Αυτά για να σε συμπληρώσω και να ρωτήσω αν θέλει κάτι τέτοιο ο OP. 1
gon1332 Δημοσ. 9 Φεβρουαρίου 2015 Δημοσ. 9 Φεβρουαρίου 2015 Καλημέρα στη κοινότητα. Ψάχνω να απαντήσω σε ενα ερώτημα. Θέλω να βρω τα μεινεκτήματα που έχει μια γλώσσα αν έχει μονάχα global μεταβλητές ή μονάχα static μεταβλητές. Γενικά στο ιντερνετ βρήκα κάποια μειονεκτήματα που έχουν οι global πχ σαν μεταβλητές ή και οι static. Αλλα θεωρώ πως δεν μου δίνει την απάντηση στο ερώτημα μου. Σας ευχαριστώ Τι πλεονεκτήματα και μειονεκτήματα βρήκες (μπορώ να φανταστώ κάποια); Το ερώτημά σου δε μου φαίνεται λογικό. Αν μία γλώσσα έχει μόνο global ή static μεταβλητές, τότε μαζεύει όλα τα πλεονεκτήματα και μειονεκτήματα που φέρουν οι global και static μεταβλητές ΣΥΝ την απουσία των πλεονεκτημάτων και μειονεκτημάτων (κυρίως πλεονεκτημάτων) των αυτό- ματων μεταβλητών. Επίσης όταν αναφέρεσαι σε υπέρ και κατά αναφέρεσαι στον τρόπο χρήσης ή στην υλοποίηση από κάτω, δηλαδή compiler;
H_ANARXIA_EINAI_PSEMA Δημοσ. 9 Φεβρουαρίου 2015 Δημοσ. 9 Φεβρουαρίου 2015 Δεν υπάρχει μειονέκτημα, it is Turing complete!
gon1332 Δημοσ. 9 Φεβρουαρίου 2015 Δημοσ. 9 Φεβρουαρίου 2015 Δεν υπάρχει μειονέκτημα, it is Turing complete! Ναι μεν αλλά...
ChRis6 Δημοσ. 9 Φεβρουαρίου 2015 Δημοσ. 9 Φεβρουαρίου 2015 Οτι λεει ο defacer.Η μοναδική διαφορά είναι στο scope.Αν είναι global φαίνονται από παντού...Aν είναι static σε συνάρτηση φαίνονται μόνο μέσα στη συνάρτηση,αλλιως μονο στο source unit που ορίζονται
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα