Όπως λέει και το παλιό ρητό, λίγα πράγματα στη ζωή είναι χειρότερα από το να φέρνεις ένα μαχαίρι σε έναν καβγά. Ως έμπειρος προγραμματιστής, μπορώ να σας πω ότι αυτό ισχύει 100% και για τον κόσμο του προγραμματισμού. Πρέπει να παραμείνετε σχετικοί σε έναν κλάδο που αλλάζει πιο γρήγορα από ό,τι γράφω αυτό το άρθρο. Επίσης, έχετε τόσες πολλές διαφορετικές εργασίες να κάνετε. Έτσι, μετά από χρόνια επιβίωσης σε αυτό το περιβάλλον, κρατάω πάντα τα αγαπημένα μου παιχνίδια κοντά και φορτωμένα. Για μια αθόρυβη και ακριβή δουλειά, υπάρχει η αξιόπιστη C++ μου. Αν θέλω να κάνω μια μεγάλη έκρηξη δεδομένων, επιλέγω το R, κάπως υπερβολικό, αλλά πειστικά ισχυρό. Αλλά αν τα πράγματα γίνονται πραγματικά ακατάστατα, αφαιρώ το JavaScript μου από τον τοίχο: με κράτησε ζωντανό στο παρελθόν και μπορεί να χρειαστεί ακόμα λίγη κατάχρηση. Καμία γλώσσα δεν είναι καλή ή κακή για όλους. Εξαρτάται από εσάς και τη δουλειά που πρέπει να κάνετε. Ας συζητήσουμε λοιπόν αν πρέπει να συμβαδίζετε πάντα με τη μόδα ή να μένετε στα παλιά καλά πράγματα. Αυτή η ερώτηση είναι λίγο πιο δύσκολη από όσο φαίνεται…
Δεδομένης της καινοτόμου φύσης της τεχνολογίας, η συζήτηση για το αν θα μάθουμε άλλη γλώσσα μπορεί να ακούγεται εντελώς ανόητη. Πράγματι, αν ο κόσμος έμενε ακίνητος, θα χρησιμοποιούσαμε ακόμα πήλινες πλάκες και άβακες. Ευτυχώς, η επιθυμία για καινοτομία οδηγεί σε συνεχείς προόδους, απαιτώντας συνεχείς αναβαθμίσεις δεξιοτήτων. Για παράδειγμα, στη δεκαετία του 1960, η επικοινωνία με υπολογιστές περιελάμβανε το άνοιγμα τρυπών στο χαρτί και την τροφοδοσία του σε μια μηχανή. Σήμερα, οι υπολογιστές χωράνε στις τσέπες μας και οι μόνες τρύπες που συναντάμε είναι στους προϋπολογισμούς μας μετά την αγορά τους. Φανταστείτε τον πιο προηγμένο προγραμματιστή από τη δεκαετία του '60 να προσπαθεί να παραμείνει σχετικός χωρίς να εξελίξει τις δεξιότητές του.
Οι γλώσσες προγραμματισμού εξελίσσονται πιο γρήγορα από τους δημιουργούς τους. Νέες απαιτήσεις, ιδέες και εργαλεία που αλλάζουν ριζικά τις παραδοσιακές προσεγγίσεις και πρακτικές εμφανίζονται με αξιοσημείωτο ρυθμό. Οι ειδικοί που αγνοούν αυτό το γεγονός γίνονται τόσο ξεπερασμένοι όσο και οι γλώσσες στις οποίες προσκολλώνται. Χαρακτηριστικό παράδειγμα είναι η COBOL, η οποία, παρά το γεγονός ότι ήταν δημοφιλής στη δεκαετία του '60 για επιχειρηματικές εφαρμογές, έχει καταστεί σχεδόν ξεπερασμένη με τις τεχνολογικές εξελίξεις.
Ένας άλλος λόγος για να μάθετε μια νέα γλώσσα προγραμματισμού είναι οι προοπτικές σταδιοδρομίας. Κατανοώντας ότι η μεγαλύτερη γνώση των πιο πρόσφατων τεχνολογιών αυξάνει τις πιθανότητές τους να αποκτήσουν θέσεις εργασίας με υψηλή αμοιβή, ορισμένοι ειδικοί μελετούν με ενθουσιασμό νέες γλώσσες. Αυτή η προσπάθεια είναι δικαιολογημένη: η γνώση των νέων τεχνολογιών αναμφίβολα διευρύνει τις ευκαιρίες εργασίας. Μερικές φορές, οι νέες τεχνολογίες είναι απαραίτητες ακόμα κι αν η ίδια η γλώσσα παραμένει σχετική, αλλά η εταιρεία αλλάζει τη στοίβα τεχνολογίας της. Σε τέτοιες περιπτώσεις, οι εργαζόμενοι πρέπει είτε να προσαρμοστούν είτε να βρουν νέες θέσεις εργασίας. Συνήθως, επιλέγουν να μάθουν τη νέα τεχνολογία.
Η εκμάθηση νέων γλωσσών είναι επωφελής όχι μόνο για πρακτικούς λόγους αλλά και για δημιουργικότητα. Μπορεί να προσφέρει νέες προσεγγίσεις σε γνωστές εργασίες, διευρύνοντας τις προοπτικές και τις δυνατότητες. Για παράδειγμα, το Symfony, ένα δημοφιλές πλαίσιο PHP, εμπνεύστηκε το πλαίσιο Spring που βασίζεται σε Java. Πολλοί προγραμματιστές βιβλιοθηκών ανοιχτού κώδικα έχουν πάρει ιδέες από βιβλιοθήκες που έχουν υλοποιηθεί σε άλλες γλώσσες και θα μπορούσατε να είστε ο επόμενος καινοτόμος.
Αλλά για του λόγου το αληθές, ας δούμε αντίστροφα όλα τα πράγματα που συζητήσαμε στο προηγούμενο κεφάλαιο. Γνωρίζετε πότε χρησιμοποιήθηκαν για τελευταία φορά οι κάρτες διάτρησης; Απλώς μαντέψτε… Και εκτός κι αν εξαπατήσατε γυρίζοντας την απάντηση αυτή τη στιγμή στο γκουγκλ, η εικασία σας θα ήταν πιθανώς λάθος. Η σωστή απάντηση είναι το 2014. Εκείνη τη χρονιά, τα τελευταία χαρτιά διάτρησης
Ποιες είναι οι πιθανότητες μια γλώσσα προγραμματισμού που γνωρίζετε ή πρόκειται να μάθετε, να καταστεί απαρχαιωμένη και άχρηστη σύντομα; Δεν υπάρχει πραγματική απάντηση σε αυτό, μόνο εικασίες. Μερικοί συγγραφείς εκτιμούν ότι ο μέσος κύκλος ζωής μιας γλώσσας προγραμματισμού βρίσκεται οπουδήποτε
Με άλλα λόγια, οι γλώσσες που υπάρχουν εκεί έξω για αρκετό καιρό θα παραμείνουν πιθανότατα μαζί μας για μερικές ακόμη δεκαετίες. Αντίθετα, υπάρχει πιθανότητα τα φανταχτερά νέα πράγματα να ξεπεραστούν πολύ σύντομα – αλλά αυτό μένει να το δούμε. Κάθε χρόνο μιας γλώσσας σε ενεργό υπηρεσία αυξάνει τις πιθανότητές της να επιβιώσει περισσότερο.
Τι πρέπει να κάνουμε λοιπόν; Μάθετε μια γλώσσα; Ένα νέο ή ένα παλιό; Λοιπόν, η ίδια η μάθηση είναι πάντα καλή. Η έρευνα δείχνει ότι σχεδόν οι μισοί προγραμματιστές σκέφτονται να μάθουν μια νέα γλώσσα. Σύμφωνα με το JetBrains "
Για παράδειγμα, η πλειοψηφία των προγραμματιστών COBOL ήταν
Αν προτιμάτε τη ζωντανή ζωή των startups ή τη δύναμη των τεχνολογικών κολοσσών, θα πρέπει να επιλέξετε κάτι πιο σύγχρονο και πολλά υποσχόμενο. Βλέποντας τι κάνουν οι άλλοι μπορεί να σας δώσει μια ιδέα: για παράδειγμα, ελέγξτε την ενημερωμένη κατάταξη των γλωσσών προγραμματισμού από
Η γνώση που αποκτάται χωρίς πρακτική εφαρμογή γίνεται γρήγορα ξεπερασμένη. Επομένως, η εκμάθηση μιας νέας γλώσσας μόνο για να σημειώσετε ένα πλαίσιο είναι άσκοπη. Αντίθετα, σκεφτείτε πώς μπορείτε να το χρησιμοποιήσετε στην τρέχουσα εργασία σας. Εάν η εταιρεία σας χρησιμοποιεί ήδη την τεχνολογία, μπορεί να είναι ένα μεγάλο κίνητρο για μάθηση. Απλώς ζητήστε από τον διευθυντή ή τον επικεφαλής της ομάδας σας να σας αναθέσει εργασίες που σχετίζονται με αυτό, επιτρέποντάς σας να εμπεδώσετε τις γνώσεις σας μέσω της εξάσκησης. Εάν η εργασία σας χρησιμοποιεί μια σταθερή στοίβα τεχνολογίας και δεν υπάρχει ευκαιρία να μάθετε κάτι νέο, μπορείτε πάντα να δημιουργήσετε το δικό σας δευτερεύον έργο για να εξερευνήσετε νέα όρια ανεξάρτητα. Απλά φροντίστε να μην παραβιάσετε τη σύμβαση εργασίας σας ενώ το κάνετε.
Ακόμα κι αν μόλις ξεκινάτε το δρόμο σας στην ανάπτυξη, η στρατηγική παραμένει η ίδια: επιλέξτε μια τεχνολογία που μπορείτε να χρησιμοποιήσετε στην πραγματική ζωή (στην εργασία ή σε ένα δευτερεύον έργο). Επιλέξτε μια γλώσσα με λαμπρό μέλλον, όχι μια γλώσσα που αποφεύγει η κοινότητα προγραμματιστών. Δεδομένου ότι μόλις ξεκινάτε το ταξίδι σας και δεν επιβαρύνεστε από υψηλούς μισθούς και προσδοκίες ως ειδικός, μπορείτε εύκολα και γρήγορα να αλλάξετε τη στοίβα τεχνολογίας σας εάν η δεύτερη γλώσσα που μαθαίνετε σας αρέσει περισσότερο από την πρώτη. Έχετε μεγαλύτερη ευελιξία στην επιλογή σας και αξίζει να επωφεληθείτε από αυτό το όφελος. Απλώς μην το παρακάνετε: οι πολύ συχνές αλλαγές στην τεχνολογία σας και η συντριπτική ροή γνώσεων μπορεί να είναι επιζήμιες. Βρείτε μια ισορροπία μεταξύ αυτού που θέλετε και αυτού που μπορείτε να διαχειριστείτε και σίγουρα θα πετύχετε.
Για ορισμένους προγραμματιστές, ειδικά εκείνους με πολλά χρόνια εμπειρίας, η συμβουλή μου μπορεί να φαίνεται προφανής. Αλλά όπως λέει και η παροιμία, «Η επανάληψη είναι η μητέρα της μάθησης», και κανείς δεν διέψευσε ποτέ την αλήθεια αυτών των σοφών λόγων. Ελπίζω το άρθρο μου να ενθαρρύνει όσους το ήθελαν από καιρό, αλλά ήταν πολύ τεμπέληδες να αναλάβουν δράση και να παρακινήσουν τους πρόθυμους αρχάριους. Ελπίζω οι συμβουλές μου να αποδειχθούν χρήσιμες και ίσως ακόμη και να εμπνεύσουν περαιτέρω επαγγελματική ανάπτυξη.