Ποια είναι η καλύτερη γλώσσα προγραμματισμού για μάθηση;

Από πού πρέπει να αρχίσετε να μαθαίνετε;

Φωτογραφία από τον Chris Ried στο Unsplash

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

Κάθε φορά που ακούω μια τέτοια ερώτηση ποια γλώσσα είναι η καλύτερη για μάθηση, απαντώ: "Λοιπόν, εξαρτάται." Ναι, δεν υπάρχει ξεκάθαρη απάντηση για να πούμε ποια γλώσσα είναι η καλύτερη για όλους τους σκοπούς. Κάθε γλώσσα έχει τους δικούς της στόχους, πλεονεκτήματα και μειονεκτήματα. Κάθε γλώσσα προγραμματισμού είναι καλή και χρήσιμη για συγκεκριμένες εργασίες. Η σωστή ερώτηση μπορεί να αναδιατυπωθεί ως εξής: "Ποια είναι η πιο κατάλληλη ή κατάλληλη γλώσσα για μένα να επιλέξω;" Τώρα, αυτό το ερώτημα είναι πιο λογικό. Πριν απαντήσω σε αυτό, συνήθως ζητώ μερικές ακόμα ερωτήσεις για να καταλάβετε σαφώς τι θέλετε πραγματικά.

1. Τι θέλετε να αναπτύξετε;

Αν θέλετε να ξεκινήσετε τον προγραμματισμό, πρέπει να γνωρίζετε την περιοχή και τον τύπο εφαρμογών / λογισμικού που θέλετε να αναπτύξετε. Ενδιαφέρεστε για την ανάπτυξη παιχνιδιών; λογισμικό αυτοματισμού γραφείου; επιστημονικούς υπολογισμούς; βοηθητικό λογισμικό; εφαρμογή υλικού; και ούτω καθεξής. Η απάντηση δείχνει την κατεύθυνση προς τον προγραμματισμό.

Αλλά τι εάν δεν γνωρίζετε την απάντηση, ή τουλάχιστον δεν είστε βέβαιοι για την απάντηση ;! Υπάρχουν τόσοι πολλοί άνθρωποι που δεν γνωρίζουν την απάντηση και απλά θέλουν να ξεκινήσουν τον προγραμματισμό. Έτσι, μπορείτε να το σκεφτείτε ως αυτό που σας ενθάρρυνε να αποφασίσετε να μάθετε μια γλώσσα προγραμματισμού; Ήταν ένα ενδιαφέρον λογισμικό; Πιθανώς, θέλετε να αναπτύξετε ένα παρόμοιο λογισμικό. Ή ήταν προγραμματιστής; Πιθανώς, θέλετε να είστε σαν τον. Ή ήταν είδηση ​​ότι έχετε διαβάσει; Πιθανώς, θέλετε να αναπτύξετε το ίδιο πράγμα όπως στις ειδήσεις. Ως εκ τούτου, είναι σημαντικό να γνωρίζετε τι πρόκειται να κάνετε πριν επιλέξετε μια τυχαία γλώσσα.

Εάν γνωρίζετε την απάντηση, τότε θα πρέπει να διερευνήσετε τις πιο σχετικές γλώσσες και τεχνολογίες σε αυτήν την περιοχή. Για παράδειγμα, αν σας ενδιαφέρει:

  • αυτοματοποιώντας μερικές από τις καθημερινές σας συνήθεις εργασίες: συνιστώνται γλώσσες δέσμης ενεργειών - δηλαδή γλώσσες που βασίζονται σε διερμηνέα (π.χ. Python, JavaScript ή VBScript).
  • αναπτύσσοντας ιστότοπους με ωραία εμφάνιση: συνιστώνται τεχνολογίες και γλώσσες μπροστινού μέρους (π.χ. HTML, CSS, JavaScript, JQuery κ.λπ.).
  • ανάπτυξη εφαρμογών μέσω διαδικτύου: συνιστώνται τεχνολογίες και γλώσσες τεχνολογίας back-end (π.χ. ASP, PHP, Node.JS, Java, Django Python, Go, κ.λπ.).
  • εργασία με δεδομένα και βάσεις δεδομένων: συνιστώνται γλώσσες σχετικές με τη βάση δεδομένων (όπως SQL) και πλατφόρμες (π.χ. MySQL, SQLServer, Mongo κ.λπ.).
  • ανάπτυξη επιχειρηματικού λογισμικού: συνιστώνται γλώσσες που βασίζονται σε μεταγλωττιστές (π.χ. Java, C ++, C #, κ.λπ.).
  • κάνοντας κάποια εκπληκτικά πράγματα στην τεχνητή νοημοσύνη ή στους επιστημονικούς υπολογισμούς: Python, R, Go, Julia. Matlab κ.λπ. συνιστώνται.
  • και τα λοιπά.

Όπως έχετε δει, για καθεμία από αυτές τις κατηγορίες (οι οποίες δεν περιορίζονται στην παραπάνω λίστα), υπάρχουν πολλές γλώσσες από τις οποίες μπορείτε να επιλέξετε. Σε αυτό το στάδιο, εάν ξέρετε τι θέλετε να κάνετε, μπορείτε να στοχεύσετε τις παρόμοιες εταιρείες και τους ανθρώπους που κάνουν στην πραγματικότητα παρόμοια δουλειά όπως εσείς επιθυμείτε να κάνετε για να βρείτε τις πιο σχετικές γλώσσες και τεχνολογίες. Επομένως, μπορεί να έχετε λιγότερες επιλογές, αλλά εξακολουθούν να υπάρχουν τόσα πολλά γλωσσά προγραμματισμού. Γι 'αυτό ζητώ τη δεύτερη ερώτηση.

2. Γιατί και πού θέλετε να χρησιμοποιήσετε τη γλώσσα;

Αυτή η ερώτηση μπορεί να είναι λίγο συγκεχυμένη. Επιτρέψτε μου να επαναλάβω την ερώτησή μου. Θέλετε να μάθετε και να χρησιμοποιείτε αυτή τη γλώσσα για διασκέδαση και / ή μόνο για τον εαυτό σας; ή θέλετε να έχετε ως δεξιότητα να προσληφθείτε; Ποιος πρόκειται να χρησιμοποιήσει το αναπτυγμένο λογισμικό ή τον κώδικα σας;

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

Για παράδειγμα, ένας φίλος μου, ένας μηχανολόγος μηχανικός, με ρώτησε κάποτε «ποια είναι η καλύτερη γλώσσα για μάθηση;» και όταν τον ρώτησα: «Πού θέλετε να το χρησιμοποιήσετε;» Απάντησε ότι έχει ακούσει ότι η μηχανική οι μηχανικοί με τις γνώσεις προγραμματισμού μπορούν να βρουν εύκολα θέσεις εργασίας με υψηλότερο μισθό. Έτσι, τον ρώτησα: "ποιες είναι αυτές οι γλωσσικές δεξιότητες που οι εταιρείες αυτές περιμένουν από έναν μηχανικό μηχανικό;" Είπε: "Java και Python." Έτσι, απάντησε ο ίδιος. Όταν η αγορά-στόχος αναζητά αυτές τις δύο γλώσσες, τι μπορώ να συστήσω;

3. Πόσο χρόνο θέλετε να περάσετε;

Οι σύγχρονες γλώσσες προγραμματισμού (π.χ. Python) είναι πολύ εύκολο να μάθουν και να κωδικοποιήσουν. και συνήθως κάνουν πολλά πράγματα πίσω από μια σκηνή χωρίς να τα παρατηρήσετε. Αυτό είναι ένα υπέροχο πράγμα, ωστόσο, έχει κάποιες παρενέργειες. Προκαλεί πιο αργό λογισμικό με περισσότερη κατανάλωση μνήμης. Ένα παρόμοιο έργο σε άλλες συμβατικές γλώσσες, όπως C, C ++ ή Java, μπορεί να απαιτεί πολύ περισσότερες γραμμές κώδικα και μπορεί επίσης να χρειαστεί να καταλάβετε μια βαθύτερη λογική πίσω από τον κώδικα που γράφετε. Ωστόσο, είναι συνήθως ταχύτεροι, πιο αποδοτικοί στη μνήμη, ενώ μπορεί να χρειαστούν δεκαετίες για να γίνουν δεκτοί σε αυτές τις γλώσσες (ειδικά C ++).

Αν θέλετε να μάθετε κάτι γρήγορα, εάν θέλετε να κωδικοποιήσετε ταχύτερα, δυναμικά και λιγότερο περίπλοκα, μπορείτε να επιλέξετε Python. Εάν θέλετε κάτι ισχυρό, γρήγορο και αποτελεσματικό, μπορείτε να επιλέξετε C ++ ή Java. Ωστόσο, χρειάζονται πολύ περισσότερο χρόνο για να μάθουν και να κωδικοποιήσουν το ίδιο πράγμα στην C ++ έναντι της Python. Αυτή η γενίκευση είναι μόνο ένα παράδειγμα και εξαρτάται σε μεγάλο βαθμό από την απάντησή σας στην πρώτη ερώτηση.

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

Πώς να μάθετε την επιλεγμένη γλώσσα;

Υπάρχουν πολλοί πόροι για να μάθετε μια νέα γλώσσα προγραμματισμού ή να βελτιώσετε τις δεξιότητες προγραμματισμού, όπως βιβλία, YouTube, online μαθήματα και πολλά άλλα. Δεν πειράζει πραγματικά πώς το μαθαίνεις, αλλά πρέπει να θυμάσαι δύο πράγματα ανεξάρτητα από τη γλώσσα που μαθαίνεις:

  1. Η αλγοριθμική σκέψη (δηλαδή η διαρθρωτική σκέψη) είναι ο τρόπος δομής ενός προγράμματος στο μυαλό σας, κατόπιν μετατρέπετε τις σκέψεις σας σε έναν κώδικα. Είναι η πιο σημαντική δεξιότητα για έναν προγραμματιστή να αναπτυχθεί. Μόλις καταφέρετε να ελέγξετε την αλγοριθμική σκέψη σας, μπορείτε εύκολα να μάθετε άλλες γλώσσες και να επεκτείνετε τις γνώσεις προγραμματισμού. Τα βασικά υλικά για την Αλγοριθμική Σκέψη είναι μια καλή γνώση της γλωσσικής δομής (π.χ. σύνταξη), των χαρακτηριστικών, καθώς και των μαθηματικών.
  2. Μάθετε τη δομή. Έχω δει πολλούς προγραμματιστές ότι απλά πηδούν πάνω σε ορισμένες δομές και μαθήματα, καθώς υποθέτουν ότι τα γνωρίζουν ή μπορεί να μην είναι σημαντικά. Αυτό είναι το μεγαλύτερο λάθος. Ως εκπαιδευόμενος, ακόμη και ως επαγγελματίας προγραμματιστής, θα πρέπει να περάσετε από όλες τις γλωσσικές δομές και λεπτομέρειες σύνταξης για να μάθετε τη δύναμη και τις δυνατότητες της νέας γλώσσας προγραμματισμού. Εάν λείπει ένα μόνο σημείο μπορεί να σας κοστίσει περισσότερες γραμμές κώδικα και απογοήτευση στο μέλλον.

Ποιο είναι το μέλλον της επιλεγμένης γλώσσας προγραμματισμού;

Στην ιστορία της βιομηχανίας ηλεκτρονικών υπολογιστών, τίποτα δεν είναι επίμονο. Μια ζεστή και σύγχρονη γλώσσα σήμερα, ίσως μια νεκρή και ξεχασμένη γλώσσα αύριο. Έτσι, θα πρέπει να είστε προετοιμασμένοι γι 'αυτό.

Τη στιγμή της σύνταξης αυτού του άρθρου, η Python είναι πολύ δημοφιλής και έχει μεγάλη ζήτηση σήμερα. Χάρη στη μεγάλη κοινότητα προγραμματιστών της Python για την παροχή διαφόρων πακέτων. Αλλά θα είναι ζεστό στο μέλλον; Αυτή είναι μια διαφορετική και δύσκολη ερώτηση που πρέπει να απαντήσω.

συμπέρασμα

Αν είστε διατεθειμένοι να ξεκινήσετε το ταξίδι του να είστε προγραμματιστής υπολογιστών, θα πρέπει να είστε σαφείς με τον εαυτό σας για το τι πρόκειται να αναπτύξετε, πού πρόκειται να το χρησιμοποιήσετε, ποιος πρόκειται να το χρησιμοποιήσει και γιατί το αναπτύσσετε. Στη συνέχεια, μπορείτε εύκολα να βρείτε πόρους και άτομα για να σας προτείνουμε την κατάλληλη γλώσσα που καλύπτει τις ανάγκες σας. Δεν υπάρχει διακριτή και απόλυτη καλύτερη γλώσσα προγραμματισμού. Κάθε γλώσσα γίνεται για κάποιο σκοπό και είναι σημαντικό να προσδιορίσετε τη δική σας πριν επιλέξετε την γλώσσα.

Ο προγραμματισμός δεν είναι εύκολος στόχος, απαιτεί υπομονή, πολλή πρακτική, σκέψη και συνεχή μάθηση. Καλή τύχη για το ταξίδι σας.

Μπορείτε επίσης να προσκαλέσετε να διαβάσετε: