![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/f/f7/Squeak_3.9_%252B_SmallDEVS.png/640px-Squeak_3.9_%252B_SmallDEVS.png&w=640&q=50)
Squeak
From Wikipedia, the free encyclopedia
Η γλώσσα Squeak είναι μια ανοικτού κώδικα αντικειμενοστραφής και ανακλώμενη (reflective) γλώσσα προγραμματισμού. Ο όρος ανακλώμενη αναφέρεται στο γεγονός ότι ο κώδικας ενός προγράμματος γραμμένο στην γλώσσα αυτή, είναι τροποποιήσιμος από τον προγραμματιστή καθώς το πρόγραμμα εκτελείται. Χάρη σε αυτήν την δυνατότητα, κάθε εφαρμογή που μεταφέρεται στο εσωτερικό του περιβάλλοντος του Croquet, γίνεται αυτόματα και άμεσα αντικείμενο συνεργασίας. Για παράδειγμα, μπορούν ταυτόχρονα δύο χρήστες να χειρίζονται το ίδιο παράθυρο και καθώς ο ένας το μετακινεί, ο άλλος να τροποποιεί το μεγεθός του.
![Thumb image](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f7/Squeak_3.9_%2B_SmallDEVS.png/640px-Squeak_3.9_%2B_SmallDEVS.png)
Αποτελεί εξέλιξη της γλώσσας Smalltalk και είναι διαθέσιμη σε πολλές πλατφόρμες και προγράμματα που παράγονται σε μια πλατφόρμα εκτελούνται πανομοιότυπα και στις υπόλοιπες. Οι δημιουργοί του Croquet επέλεξαν την γλώσσα αυτή διότι θεωρούν τον κώδικα ως ένα ακόμα είδος μέσου και επομένως θα πρέπει να παρουσιάζει τα ίδια χαρακτηριστικά μεταφερσιμότητας με τα άλλα μέσα[1].
Όπως προαναφέρθηκε, η γλώσσα αυτή δίνει την δυνατότητα επεξεργασίας καθώς εκτελείται. Επιπλέον, μέσα από αυτή την δυνατότητα μπορούν να δημιουργηθούν προγράμματα και συστήματα τα οποία αυτοπροσδιορίζονται, αυτοτροποποιούνται και επομένως εξελίσσονται. Γενικότερα η γλώσσα Squeak αποτελεί ένα ευρύ φάσματος περιβάλλον συγγραφής και λειτουργικότητας με υποστήριξη για δυναμικά αντικείμενα. Επιπλέον, παρέχει γενικευμένους storage allocator και συλλέκτη απορριμάτων (garbage collector).