Η γλώσσα προγραμματισμού Go

The Go Programming Language

Η Go μου αρέσει σαν γλώσσα προγραμματισμού.

Η πρώτη αίσθηση από την γλώσσα είναι η ίδια που είχα όταν ξεκίνησα να μαθαίνω C, αρκετά χρόνια πριν:

  • Και το παραμικρό λάθος μετράει.
  • Χρειάζεται σημασία στην λεπτομέρεια.
  • Στην αρχή μοιάζει δύσκολη.
  • Νομίζω ότι είναι για System(s) Programming χωρίς φυσικά να περιορίζεται μόνο σε αυτό.

Παρόλα ταύτα, η ευχαρίστηση του προγραμματισμού σε Go, μοιάζει με αυτή που αισθάνεται κάποιος όταν γράφει σε C.

Η Go είναι μια γλώσσα που θέλει να αντικαταστήσει όλες τις υπόλοιπες γλώσσες σχετικά χαμηλού επιπέδου. Το είπα και από την αρχή, μοιάζει με την C σε πολλά πράγματα, με το βασικότερο να θέλει να έχει χαρούμενο τον προγραμματιστή ενώ φυσικά “gets the job done!”.

Μου αρέσει πολύ το γεγονός ότι αρκεί ένας καλός editor (χρησιμοποιώ TextMate) για την συγγραφή του Go κώδικα και ένα Terminal για το compile.

Μερικά τεχνικά χαρακτηριστικά της Go:

  • Go supports Procedural programming.
  • Go supports Object-Oriented programming.
  • Go supports Concurrent programming.
  • Go supports Distributed programming.
  • Go supports garbage-collection.
  • The grammar of Go is regular and simple: few keywords that can be parsed without a symbol table.
  • Go code tries to be both clean and simple.

Αν θα συνεχίσω να γράφω σε Go; Δεν αποκλείεται. Φυσικά κατά κύριο λόγο γράφω σε Objective-C λόγω του iOS programming αλλά η Go είναι ενδιαφέρουσα γλώσσα που θέλει χαρούμενο τον προγραμματιστή και αυτό είναι σημαντικός λόγος για συνεχίσω να ασχολούμαι μαζί της.

Να ξέρετε πάντως ότι για πολύ κόσμο η Go αποτελεί μια εναλλακτική πρόταση για την C++ που έχει γίνει τεράστια και δύσχρηστη.

Όπως και να έχει πάντως, να ξέρετε ότι πάει καιρός που μια γλώσσα προγραμματισμού μου αρέσει τόσο. Η τελευταία γλώσσα που μου άρεσε ήταν η Objective-C, και συνεχίζω να γράφω Objective-C κώδικα :-)

Go Site: http://golang.org

Η γλώσσα προγραμματισμού Erlang

The Erlang Programming Language

Η πρώτη φορά που ασχολήθηκα με συναρτησιακό προγραμματισμό (functional programming) ήταν αρκετά χρόνια πριν όταν έκανα το M. Sc. στο UCL. Η γλώσσα ήταν η SML ή Standard ML. Για να πω την αλήθεια από τότε δεν είχα ξαναγράψει σε functional programming language.

Με αφορμή ένα άρθρο για το περιοδικό Open Source For You, ασχολήθηκα λίγο με την γλώσσα προγραμματισμού Erlang που είναι συναρτησιακή γλώσσα και αρκετά διάσημη. Αναπτύχθηκε στα εργαστήρια της Ericsson κυρίως για χρήση σε εφαρμογές τηλεπικοινωνιών.

Οι εντυπώσεις μου είναι οι παρακάτω:

  • Γράφοντας σε μια συναρτησιακή γλώσσα, ξεχνάς αυτά που ήξερες από τις άλλες γλώσσες.
  • Η γλώσσα έχει πολλές δυνατότητες.
  • Θέλει κάποιο χρόνο για να συνηθίσεις να γράφεις σε Erlang. Όχι όμως πάρα πολύ.
  • Εντολές του τύπου MyVar = MyVar + 5 δεν δουλεύουν!
  • Θα πρέπει κάποιος να μάθει το Erlang OTP Framework αν θέλει να γράψει κάτι πραγματικά χρήσιμο.
  • Υπάρχει διαθέσιμος process manager με GUI από την Erlang: pman:start()

Μερικά από τα χαρακτηριστικά της Erlang είναι τα εξής:

  • Erlang makes hard things easy.
  • Erlang makes easy things hard.
  • Erlang was not designed for big data, but it was designed for massive concurrency.
  • Erlang is a great language for fault tolerance and distributed applications.
  • Erlang can program web applications.
  • The syntax of Erlang does not look like a C-based language.

Αν θα συνεχίσω να γράφω σε Erlang; Μάλλον όχι στην παρούσα φάση αλλά χαίρομαι που η γλώσσα αυτή υπάρχει!

  • http://learnyousomeerlang.com
  • http://www.Erlang.com

Τι κάνω αυτό τον καιρό…

Το τελευταίο καιρό ασχολούμαι με τα παρακάτω:

  • Γράφω άρθρα για το περιοδικό MacTech
  • Γράφω άρθρα για το περιοδικό Open Source for You (πρώην Linux For You)
  • Έχω να γράψω ένα άρθρο για το Linux Journal!
  • Διαβάζω και μαθαίνω Erlang (learning never stops)
  • Διαβάζω και μαθαίνω Go (learning never stops)
  • Φωτογραφίζω!
  • Διαβάζω βιβλία.
  • Σελιδοποίησα 4 βιβλία.
  • Κατεβάζω μέσω iTunes διαλέξεις σχετικά με Game Theory. Δεν έχω ασχοληθεί ξανά με Θεωρία Παιγνίων και είπα να μάθω κάποια πράγματα.

Θα τα ξαναπούμε σύντομα :)

Είναι εύκολη γλώσσα η Objective-C;

Πολλές φορές ακούω την εξής ερώτηση:

Είναι η Objective-C εύκολη γλώσσα;

 

Είναι μια γλώσσα προγραμματισμού σαν όλες τις άλλες. Αν φυσικά κάποιος δεν έχει γράψει κώδικα ποτέ του, τότε θα αντιμετωπίσει κάποιες δυσκολίες αλλά αυτές δεν θα οφείλονται στην Objective-C αλλά στην γενικότερη άγνοιά του.

Αν κάποιος έχει προγραμματίσει ξανά σε μια σύγχρονη γλώσσα (C, C++, Python, Perl, κ.λπ.), τότε θα πρέπει να του πάρει γύρω στην 1 εβδομάδα για να μάθει Objective-C και να μπορεί να αρχίσει να προγραμματίζει εφαρμογές για Mac ή iOS συσκευές.

Το βασικό πρόβλημα που υπάρχει είναι οι καθυστερήσεις και οι συνεχείς αναβολές. Αν κάποιος διαβάσει εντατικά την γλώσσα Objective-C τότε όλα είναι καλά :) Αν όμως διαβάζει 1 ώρα την εβδομάδα, τότε φαντάζεστε το αποτέλεσμα… Και όπως πάντα, η εξάσκηση κάνει την διαφορά.

Αρχίστε να γράφετε προγράμματα Objective-C το συντομότερο δυνατόν!