Η γλώσσα προγραμματισμού
Boo είναι μία νέα σε ηλικία γλώσσα. Ωστόσο έχει ενδιαφέρον να ασχοληθεί κανείς μαζί της. Είναι φυσικά μία γλώσσα για το CLI και παίζει τόσο στο
.NET της Microsoft όσο και στο
Mono. Πολλά χαρακτηριστικά της μοιάζουν με αυτά της
Python.
Το βασικό της χαρακτηριστικό είναι ότι ενώ είναι μία statically typed γλώσσα, δεν χρειάζεται να δηλώνεις ξανά και ξανά (και ξανά...) τους τύπους των μεταβλητών, των παραμέτρων κλπ. Ο compiler είναι αρκετά έξυπνος ώστε να καταλαβαίνει από τα συμφραζόμενα τους τύπους.
Σε C# θα γράφαμε:
string test(string a, string b)
{
return "Hello " + a + " and " + b;
}
string result = test("John", "have a nice day")
Console.WriteLine(result)
Στην Boo:
def test(username, password):
return "Hello ${username} and ${password}" // η boo υποστηρίζει string interpolation
result = test("John", "have a nice day")
print result # η print είναι συντόμευση ουσιαστικά για την Console.WriteLine.
# Επίσης μπορώ να αρχίσω σχόλιο γραμμής με καγκελάκι
στο παράδειγμα αυτό, ο compiler βλέπει ότι πάμε να περάσουμε ως παραμέτρους στην test δύο αλφαριθμητικά επομένως καταλαβαίνει ότι οι τύποι των username και password είναι string. Επίσης βλέπει ότι η test επιστρέφει αλφαριθμητικό επομένως δεν χρειάζουμε να δηλώσουμε ούτε τον τύπο της συνάρτησης αλλά ούτε και τον τύπο της μεταβλητής result! Μαγικό δεν είναι; Αυτό είναι προς το παρόν το αγαπημένο μου feature της Boo... υπενθυμίζω ότι είναι statically-typed γλώσσα!
Στην Boo, όπως και στην Python, το identation του κώδικα είναι πολύ σημαντικό γιατί είναι ο τρόπος που δηλώνονται τα blocks. Το σώμα δηλαδή της test πρέπει υποχρεωτικά να είναι στοιχισμένο πιο μέσα από την δήλωσή της!
Περισσότερα για την Boo έπονται...