Argyris Prosilis Logo

Γιατί αποφάσισα να γίνω Go Engineer

Δημοσιεύτηκε : 25/10/2021
Προβολές : 217
Γιατί αποφάσισα να γίνω Go Engineer

Ξεκίνησα να προγραμματίζω σε γλώσσα PHP το 2010. Τότε η PHP έκδοση 5.x αποτελούσε ιδανική λύση για μικρά και μεσαία web projects. Σήμερα η έκδοση 7/8.x έχει αναβαθμιστεί σημαντικά προσφέροντας πλήρη υποστήριξη σε αντικειμενοστραφή προγραμματισμό (OOP), ισχυρά frameworks όπως το Laravel και ένα τεράστιο community υποστήριξης σε παγκόσμιο επίπεδο. Η ταχύτητα εκτέλεσης και η υψηλή κατανάλωση πόρων που για χρόνια αποτελούσε το αδύναμο σημείο της PHP έχει επίσης βελτιωθεί σε εντυπωσιακό βαθμό.

Μου αρέσει να προγραμματίζω σε PHP ακόμα και σήμερα, όχι όμως την PHP των εκδόσεων 5.x και πίσω η οποία βασίστηκε στην λογική των scripts και του “χύμα” κώδικα. Το website μου αναπτύχθηκε σε PHP 8, Laravel 8.x.

Τον τελευταίο 1.5 χρόνο ξεκίνησα να ασχολούμαι με την Go, μια σύγχρονη και ισχυρή γλώσσα της Google η οποία αναπτύχθηκε με στόχο να καλύψει τις ανάγκες της cloud εποχής. Η Go ή GoLang ειναι μια γλώσσα απλή σε σύνταξη, κάνει compile τον κώδικα ενώ οι εφαρμογές που κατασκευάζεις τρέχουν σε υψηλές ταχύτητες καταναλώνοντας παράλληλα ελάχιστους πόρους συστήματος.

Παρακάτω θα περιγράψω κάποια επιπλέον ελκυστικά χαρακτηριστικά της γλώσσας σε σχέση με την PHP.

  1. Built-in dependency manager: Δεν χρειαζόμαστε επιπλέον εγκαταστάσεις προγραμμάτων. Η Go διαθέτει built-in DM.
  2. Built-in web server: Δεν χρειαζόμαστε (απαραίτητα) web servers όπως ο Apache ή ο nginx ούτε γνώσεις για να κάνουν manage και σχετικό configuration. Η Go διαθέτει built-in web server.
  3. Built-in template engines: Δεν χρειαζόμαστε να εγκαταστήσουμε ξεχωριστές βιβλιοθήκες για να μπορέσουμε να έχουμε (html) template engines όπως είναι η twig ή η blade. Η Go διαθέτει built-in template engine.
  4. Built-in testing package: Δεν χρειαζόμαστε να εγκαταστήσουμε ξεχωριστές βιβλιοθήκες για να κάνουμε testing τον κώδικα μας όπως ειναι το PHPUnit. Η Go διαθέτει built-in testing package.
  5. Memory Caching: Στην Go έχουμε την δυνατότητα να κρατήσουμε τιμές στην μνήμη ακόμα και με το πέρας ενός request χωρίς την δυνατότητα να αποθηκεύσουμε τις τιμές σε αρχείο, σε βάση δεδομένων ή στο redis. Αυτό το χαρακτηριστικό στην PHP δεν μπορεί να υπάρξει τουλάχιστον στην βασική της εγκατάσταση.
  6. Package installation: Πολλές φορές στην PHP για να εγκαταστήσουμε ένα πακέτο όπως για παράδειγμα αυτό της mongoDB, είναι απαραίτητο αφενός να εγκαταστήσουμε το πακέτο μέσα από τον composer, αφετέρου να κατεβάσουμε, εγκαταστήσουμε - παραμετροποιήσουμε και την αντίστοιχη βιβλιοθήκη κάτι που οδηγεί συχνά σε ένα περιττό complexity. Στην Go η  παραπάνω διαδικασία είναι εξαιρετικά πιο απλή.
  7. Ταχύτητα και κατανάλωση πόρων : Όπως είπαμε και παραπάνω η Go κάνει άριστη χρήση του hardware προσφέροντας όμως εντυπωσιακές ταχύτητες. Αυτό φυσικά μπορεί να ανιχνευθεί και εκτιμηθεί σε μεσαίου+ μεγέθους project.
  8. Dockerfile : Εξαιτίας των παραπάνω ένα Dockerfile στην Go μπορεί να σεταριστεί πιο εύκολα απαιτώντας λιγότερες γραμμές κώδικα.
  9. Coding standards: Στην Go υπάρχουν βασικά coding standards τα οποία είναι απαραίτητο να εφαρμόσεις διαφορετικά ο κώδικας δεν θα κάνει compile. Αυτό είναι απαραίτητο και σημαντικό καθώς σε μεγάλες εφαρμογές με πολλούς προγραμματιστές ολοι εφαρμόζουν παρόμοιο τρόπο γραφής.
  10. Microservices : Η Go σχεδιάστηκε όπως είπαμε για τις ανάγκες του σήμερα και αποτελεί ιδανική λύση για την ανάπτυξη microservices, εξαιτίας όλων όσων περιγράψαμε παραπάνω.

Η go λοιπόν, ειναι μια γλώσσα που με έχει γοητεύσει και σκοπεύω να επενδύσω χρόνο και projects πάνω της. Εσείς;

Διαβάστε επίσης

Startups : Γιατί PHP Laravel έναντι άλλης PHP πρότασης

Startups : Γιατί PHP Laravel έναντι άλλης PHP πρότασης

Το Laravel αποτελεί σήμερα το πιο δημοφιλές με διαφορά, framework στην κοινότητα των προγραμματιστών της PHP σε παγκόσμιο επίπεδο. Αυτό το δείχνουν οι σχετικές έρευνες και φυσικά δεν είναι τυχαίο.

Οι ρεαλιστές ειναι αναποφευκτα και γενναίοι

Οι ρεαλιστές ειναι αναποφευκτα και γενναίοι

Πριν περίπου ένα χρόνο, η Ήρα έτρεχε με λαχτάρα προς τα μένα για να πάμε βόλτα. Ο πατέρας μου άνοιγε εκείνη τη στιγμή την πόρτα του αυτοκινήτου του, όπου έπεσε πάνω με δύναμη και άρχισε να κλαίει έντονα από τους πόνους.

Ψάχνετε Προγραμματιστή;