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

Η γλώσσα προγραμματισμού Go αν και μόλις 10 ετών, έχει αρχίσει τα τελευταία χρόνια να τραβάει τα βλέμματα, ιδιαίτερα σε ότι έχει να κάνει με Cloud υποδομές, στην υποδομή δικτύωσης και φυσικά στους DevOps.

Μεγάλα projects είναι γραμμένα σε Go, όπως για παράδειγμα το Docker, Kubernetes, Terraform, etcd,
istio, LXD κ.α. ενώ πολλές εταιρείες ήδη το χρησιμοποιούν επίσης και για γενικού σκοπού ανάπτυξης εφαρμογών.

Οι δυνατότητες που παρέχει η Go έχουν βοηθήσει τα παραπάνω έργα στο να προσελκύσουν μεγάλο αριθμό χρηστών, ενώ η ευκολία χρήσης και εκμάθησής της, επέτρεψε σε αυτά να έχουν πολλές συνεισφορές. Τα πλεονεκτήματα της Go προέρχονται από το συνδυασμό απλών και αποδεδειγμένων προγραμματιστικών ιδεών μαζί με την αποφυγή πολλώ από τα προβλήματα που εντοπίζονται σε άλλες γλώσσες.

Έτσι λοιπόν, από καιρό σκεφτόμουν να αφιερώσω χρόνο στο να συντάξω μια ολοκληρωμένη σειρά μαθημάτων για την Go και με την βοήθεια του @billniakas που επιμελήθηκε τα κείμενα μέσα στα σχόλια του κώδικα, βγάλαμε αυτή την σειρά μαθημάτων ελπίζοντας να βοηθήσουμε με την σειρά μας όλους όσους ενδιαφέρονται να μάθουν για την Go.

Το άρθρο “Go – Εισαγωγή στον προγραμματισμό με Golang” :

θα σας κάνει μια εισαγωγή για την γλώσσα Go και θα καλύψει τα παρακάτω θέματα:

  1. Ποιες συνθήκες οδήγησαν στην εμφάνιση της Go;
  2. Γιατί όχι C++, Python ή Java ;
  3. Που χρησιμοποιείται η Go ;
  4. Πως κάνω εγκατάσταση την Go
  5. Εγκατάσταση περιβάλλοντος ανάπτυξης για την Go
  6. Βασική δομή ενός Go project και του κώδικα
  7. Μαθήματα προγραμματισμού με την Go

Στο 7, αφού έχετε διαβάσει και έχετε ακολουθήσει της οδηγίες, θα ξεκινήσετε να μαθαίνετε την Go, hands-on ή batteries included… που λένε και στο χωρίο μου :smile:

Ελπίζω να σας φανεί χρήσιμο και σας εύχομαι καλή διασκέδαση !

11 Likes

Υπάρχει λόγος να εγκαταστήσει κανείς την Go με snap ή κάποιον άλλο package manager; Εγώ απλά κατεβάζω το binary, καντε το εκτελέσιμο και βάλτε το στο $PATH.

Υπάρχουν κάποιοι λόγοι που κανείς θέλει να προτιμήσει τα αποθετήρια τής διανομής του. Αλλά γενικά η όλη ιστορία με τα snaps μού δίνει στα νεύρα. Φυσικά και κανείς δεν πρέπει να χρησιμοποιεί snaps. Το ανεξάρτητο λογισμικό που εκ τών πραγμάτων είναι ανεξάρτητο από την διανομή είναι συγκριτικά πολύ-πολύ λογικότερο απλούστατα να κατεβάζεις και να τρέχεις τα εκτελέσιμα.

Συγκεκριμένα για την Go ? Όχι φυσικά, γιαυτο έδωσα και το λινκ στο επίσημο site.

Απλά στο Ubuntu όταν το κανείς εγκατάσταση από το Ubuntu Store ουσιαστικά εγκαθιστά snap. Ο τελικός χρήστης δεν το βλέπει και δεν χρειάζεται να το βλέπει ούτε να τον νοιάζει.

Για τις περισσότερες εφαρμογές προσωπικά χρησιμοποιώ snap/flatpak διότι είναι cross platform και έτσι δεν ψάχνω πως κάνω εγκατάσταση το Χ λογισμικό όταν δοκιμάζω διανομές. π.χ επειδή έχω 3 pc με διαφορετικές διανομές το μόνο που με ενδιαφερει είναι η εφαρμογή να γίνει εγκατάσταση και να την χρησιμοποιώ.
Με αλλά λόγια δε πα να χρησιμοποιώ Ubuntu / Debian / Fedora / Arch / openSUSE … ξέρω ότι υπάρχει το snap/flatpak όποτε όλα γίνονται εγκατάσταση με τον ίδιο τρόπο, αναβαθμίζονται αυτόματα και στο background και εγώ συνεχίζω απρόσκοπτα την δουλειά μου :slight_smile:

2 Likes

Αυτή τη δαιμονοποιηση των snap/flatpack δεν μπορώ να την καταλάβω…

εγω δεν μπορω να καταλαβω γιατι τα χρησιμοποιουνε :rofl: :joy:

1 Like

Συνήθως καταλαμβάνουν περισσότερο χώρο και είναι πιο αργά στην εκτέλεση.

Ας μην συνεχίσουμε και βγούμε offtopic…δικό μου λάθος :sweat_smile:

1 Like