Καμία γλώσσα προγραμματισμού δεν είναι αντικειμενικά ανώτερη από άλλες. Επιπλέον, ένας καλός προγραμματιστής θα πρέπει να μιλάει άπταιστα πολλές γλώσσες και τουλάχιστον επιφανειακά να πλοηγείται σε μερικές ακόμη. Αλλά η εκμάθηση JavaScript, HTML και Ruby ταυτόχρονα είναι κακή ιδέα. Ακόμα και πολύ άσχημα. Πρέπει να ξεκινήσετε με ένα πράγμα.
Γιατί να μάθεις καθόλου προγραμματισμό
Ακόμα κι αν δεν πρόκειται για κάτι σοβαρό (πλήρες εισόδημα από την ανάπτυξη εφαρμογών ή το σχεδιασμό ιστοσελίδων, για παράδειγμα, ή την έναρξη του δικού σας έργου), η εκμάθηση προγραμματισμού είναι ένας τρόπος για να δημιουργήσετε σχέδια για μη πολύ έξυπνους, αλλά πολύ υπάκουα μηχανήματα - σίγουρα κοστίζει. Πρώτον, θα κάνει τον εγκέφαλο να λειτουργήσει, και αυτό είναι πάντα καλό. Ακόμη και ο Πρόεδρος των Ηνωμένων Πολιτειών μιλά για τα οφέλη της εκμάθησης κωδικοποίησης.
Δεύτερον, σε όλους όσους συνδέονται κατά κάποιο τρόπο με την τεχνολογία κατ' επάγγελμα. Το σκεπτικό για την επιλογή μιας γλώσσας προγραμματισμού θα δοθεί από οποιονδήποτε προγραμματιστή ιστότοπου στον πελάτη, οποιονδήποτε διαχειριστήεταιρικός πόρος - copywriter. Τουλάχιστον μια γενική εξοικείωση με το περιβάλλον ανάπτυξης στο οποίο εργάζονται οι συνάδελφοι θα σας επιτρέψει να βρείτε γρήγορα μια κοινή γλώσσα στην ομάδα και να υλοποιήσετε με μεγαλύτερη επιτυχία διάφορα έργα.
Πού να ξεκινήσετε να μαθαίνετε προγραμματισμό
Η επιλογή μιας γλώσσας προγραμματισμού, ειδικά της πρώτης, δεν είναι εύκολη υπόθεση. Θα είναι όμως πολύ δύσκολο αν δεν ξέρεις αγγλικά τουλάχιστον στο βασικό (σχολικό) επίπεδο. Φυσικά, ορισμένα όργανα είναι ρωσικά, άλλα μεταφράζονται στα ρωσικά από λάτρεις, αλλά το γεγονός παραμένει.
Ναι, και στο μέλλον θα είναι πολύ πιο εύκολο να βρεις δουλειά με γνώση μιας ξένης γλώσσας. Εδώ είναι επωφελές να διδάξετε αγγλικά σε όλους:
- υπάλληλοι που μπορούν να βρουν δουλειά σε μια εταιρεία με παγκόσμια φήμη;
- ελεύθεροι επαγγελματίες που θα μπορούν να εργάζονται σε αγγλόφωνες ανταλλαγές, όπου συνήθως υπάρχουν περισσότερες παραγγελίες και υψηλότερη αμοιβή.
Κριτήρια επιλογής γλώσσας προγραμματισμού
Θα χρειαστούν εκατοντάδες ώρες εξάσκησης για να μπορέσετε να γίνετε ικανοί στην πρώτη σας γλώσσα προγραμματισμού, επομένως δεν αξίζει τον κόπο να μάθετε άσκοπα οτιδήποτε. Η επιλογή της γλώσσας προγραμματισμού εξαρτάται από το περιβάλλον ανάπτυξης στο οποίο θέλετε να εργαστείτε, τις προσωπικές προτιμήσεις, τις προοπτικές και πολλά άλλα.
Πρώτα πρέπει να αποφασίσετε για τους στόχους. Για παράδειγμα, σε ποια πλατφόρμα (σε ποιο περιβάλλον) θέλετε να εργαστείτε: ιστός, κινητές συσκευές, παιχνίδια και τρισδιάστατα γραφικά ή μεγάλες εταιρείες.
Στην ανάπτυξη ιστού, πρέπει να επιλέξετε από διάφορους τομείς ευθύνης: front-end, back-end, full-stack. Οι προγραμματιστές front-end είναι υπεύθυνοι για την ταχύτητα φόρτωσης του ιστότοπου και τη σωστή λειτουργία κώδικα, οι προγραμματιστές back-end είναι υπεύθυνοι για τη σύνταξη κώδικα διακομιστή και οι ειδικοί full-stack μπορούν να εκπληρώσουν όλες τις απαιτήσεις των πελατών μόνοι τους. Οι προγραμματιστές πλήρους στοίβας έχουν τη μεγαλύτερη ζήτηση στην αγορά εργασίας σήμερα.
Οι τρεις πυλώνες ενός προγραμματιστή front-end είναι η JavaScript, η HTML και η CSS. Επιπλέον, πρέπει να γνωρίζετε τις τελευταίες τάσεις του Διαδικτύου και να μπορείτε να τις εφαρμόζετε στην καθημερινή σας εργασία. Η PHP είναι η βασική γνώση για ειδικούς στο back-end. Αυτό δεν είναι το μόνο εργαλείο, αλλά η βάση όλων των back-end ανάπτυξης. Ως δεύτερη γλώσσα, πρέπει να μάθετε Ruby ή Python. Η εμπειρία με βάσεις δεδομένων, τα βασικά στοιχεία της JavaScript και της SQL θα σας φανούν επίσης χρήσιμες. Εκτός από τις ίδιες τις γλώσσες προγραμματισμού, πρέπει να μελετήσετε όλα τα συνημμένα πρόσθετα.
Η ανάπτυξη εφαρμογών για κινητά χρησιμοποιεί JavaScript για Android και Objective-C για iOS. Είναι χρήσιμο να επισκεφτείτε τους επίσημους πόρους για προγραμματιστές και σε περίπτωση εργασίας με iOS, να εξοικειωθείτε επίσης με τη διεπαφή και τη λειτουργικότητα του Xcode, ενός δωρεάν περιβάλλοντος για τη δημιουργία εφαρμογών. Τα παιχνίδια και τα τρισδιάστατα κινούμενα σχέδια χρειάζονται C++.
Όσοι θέλουν στο μέλλον να βρουν δουλειά σε μια από τις εταιρείες υψηλής τεχνολογίας και δεν ανησυχούν πλέον για την ευημερία του αύριο, εκτελώντας καλά τα καθήκοντά τους, θα πρέπει να προχωρήσουν στην επιλογή αυτής ακριβώς της εταιρείας. Τα Windows λειτουργούν με C, το Google και το Facebook με Python και η Apple με Objective-C.
Η επιλογή της γλώσσας προγραμματισμού πρέπει να βασίζεται στους ακόλουθους παράγοντες:
- Ζήτηση στην αγοράεργασίας.
- Ευκολία μάθησης.
- Μακροπρόθεσμα.
- Τι έργα μπορούν να αναπτυχθούν σε αυτήν τη γλώσσα (επιλογή γλώσσας και περιβάλλον προγραμματισμού).
Αν το τελευταίο σημείο - οι πλατφόρμες και οι κατάλληλες γλώσσες προγραμματισμού παρατίθενται εν συντομία παραπάνω - όλα είναι λίγο πολύ ξεκάθαρα, τότε τι γίνεται με τα υπόλοιπα σημεία; Το Indeed.com, ο κορυφαίος ιστότοπος αναζήτησης εργασίας στον κόσμο, δημοσιεύει κατά καιρούς στατιστικά στοιχεία εργασίας (αναλογία προσφορών προς άτομα που αναζητούν εργασία). Θα ήταν καλό να επιλέξετε μια γλώσσα προγραμματισμού με βάση αυτά τα δεδομένα, αλλά δεν θα πρέπει να καθοδηγηθείτε μόνο από ξηρά στατιστικά στοιχεία.
Έτσι, υπάρχουν 2,7 ειδικοί για μία θέση προγραμματιστή Python, Java, Objective-C ή PHP. Αν κοιτάξετε τα δεδομένα JavaScript, μπορείτε να δείτε ότι αυτή είναι σίγουρα μια αγορά πωλητών - υπάρχουν μόνο 0,6 προγραμματιστές ανά θέση. Επιπλέον, η JavaScript αναπτύσσεται πολύ πιο γρήγορα από οποιαδήποτε άλλη γλώσσα, γεγονός που προσφέρει εξαιρετικές μακροπρόθεσμες προοπτικές.
Η λογική για την επιλογή C++, C, Objective-C, PHP ή οποιασδήποτε άλλης γλώσσας προγραμματισμού βασίζεται επίσης στην ευκολία εκμάθησης. Ένας αρχάριος, ειδικά αυτός που μαθαίνει τη γλώσσα από βιβλία ή μαθήματα, είναι απίθανο να αντιμετωπίσει πολύπλοκη C++ ή Java. Είναι σχετικά εύκολο να μάθεις Python, JavaScript ή Ruby. Η Ruby και η Python είναι και οι δύο αναγνώσιμες και έχουν μερικές από τις πιο ενεργές κοινότητες.
Για όσους δεν έχουν εμπειρία
Αν ο προγραμματισμός φαίνεται να είναι πολύ δύσκολο έργο, θα πρέπει να ξεκινήσετε με κάτι πιο εύκολο, όπως HTML ή CSS. Η HTML δεν είναι γλώσσαπρογραμματισμός με την πλήρη έννοια, μάλλον είναι μια γλώσσα σήμανσης για ιστοσελίδες. Το CSS είναι ένας πιο σύγχρονος «βοηθός» HTML που σας επιτρέπει να κάνετε τις σελίδες πιο ευχάριστες στο μάτι, να παίζετε με γραμματοσειρές, να προσθέτετε στοιχεία σχεδίασης στη σχεδίαση ιστοτόπων και ούτω καθεξής.
Όποιος έχει γράψει άρθρα για ελεύθερους επαγγελματίες πιθανότατα έχει συναντήσει HTML και όσοι έχουν δοκιμάσει το blog μπορεί να είναι εξοικειωμένοι με το CSS. Ναι, και οποιοδήποτε μάθημα στα βασικά του προγραμματισμού ξεκινά με αυτά τα δύο στοιχεία, επομένως η γνώση των βασικών δεν θα είναι περιττή. Μπορείτε να μάθετε από τα βιβλία:
- B. Lourson, R. Sharp "Learning HTML 5".
- K. Schmitt «CSS. Συνταγές προγραμματισμού."
Πριν, με μερικά έξυπνα βιβλία για CSS και HTML, θα μπορούσατε ήδη να κάνετε αίτηση για κάποια θέση, τώρα είναι ένα εφαλτήριο από το οποίο μπορείτε να προχωρήσετε.
Προγραμματιστές εφαρμογών Ιστού
Η επιλογή γλώσσας προγραμματισμού PHP ή JavaScript είναι για προγραμματιστές ιστού. Για να κάνετε τους πόρους του Διαδικτύου πιο όμορφους, πιο ενδιαφέροντες και πιο λειτουργικούς, χρειάζεστε JavaScript. Μπορείτε να κάνετε πολλά διαφορετικά πράγματα στη διεπαφή χρήστη με αυτό.
Η καλύτερη δικαιολογία για την επιλογή της γλώσσας προγραμματισμού PHP είναι η ανάπτυξη ιστού. Αν μιλάμε για την πλευρά του διακομιστή, PHP, Python, Ruby και το ίδιο JavaScript θα κάνουν. Η επιλογή της γλώσσας προγραμματισμού C είναι επίσης καλή ιδέα. Η Microsoft λειτουργεί σε C, η Python είναι σαν Lego και η Ruby είναι σαν πηλό.
Για σχεδιαστές ιστοσελίδωνκαι στοιχειοθέτες
Οι σχεδιαστές είναι δημιουργικοί άνθρωποι που μπορεί να θεωρούν τον εαυτό τους μακριά από τις ακριβείς επιστήμες. Αλλά η σύνταξη κώδικα είναι σαν να ζωγραφίζεις μια εικόνα, επομένως οι αμφιβολίες για το αν αξίζει να μάθεις καθόλου προγραμματισμό θα πρέπει να απορριφθούν αμέσως. Υπάρχει η άποψη ότι είναι καλύτερο να είσαι σχεδιαστής πρώτης κατηγορίας παρά προγραμματιστής δεύτερης κατηγορίας, αλλά ένας σχεδιαστής πρέπει να γνωρίζει JavaScript τουλάχιστον για να υλοποιήσει τις ιδέες του. Το σχετικά απλό Python ή Ruby θα κάνει επίσης.
Προγραμματιστές Android iOS
Οι εφαρμογές Android αναπτύσσονται συνήθως σε Java. Μπορείτε να εργαστείτε σε οποιοδήποτε λειτουργικό σύστημα - η επικράτηση των smartphone "Android" έχει κάνει την ανάπτυξη εφαρμογών σε αυτά πολύ δημοφιλή. Το περιβάλλον ανάπτυξης μπορεί να εγκατασταθεί τόσο σε Windows όσο και σε iOS.
Όσο για την Apple, η ανάπτυξη είναι πολύ πιο απαιτητική σε εργαλεία. Πρέπει να μάθετε το Objective-C, ένα κιτ ανάπτυξης και οδηγίες προγραμματιστή από την Apple. Μπορείτε να εργαστείτε μόνο με συσκευές "apple" - Mac με έκδοση λειτουργικού συστήματος 10.7 ή νεότερη.
Αν ένα παιδί θέλει να μάθει να κωδικοποιεί
Μια τέτοια επιθυμία εκ μέρους της νεότερης γενιάς είναι αξιέπαινη. Αυτό ανοίγει νέες ευκαιρίες για τα παιδιά και απλά απίστευτους τρόπους έκφρασης. Το παιδί είναι αρκετά ικανό να δημιουργήσει ανεξάρτητα ένα σύντομο κινούμενο σχέδιο ή ένα απλό παιχνίδι. Ο προγραμματισμός δεν είναι πιο δύσκολος για τα παιδιά από τις ξένες γλώσσες, και επίσης ανοίγει περισσότερες προοπτικές ήδη στην εφηβεία.
Μπορείτε να ξεκινήσετε μεΓρατσουνιά. Αυτή η υπηρεσία απευθύνεται σε παιδιά από 8 ετών και θα σας επιτρέψει να δημιουργήσετε κινούμενα σχέδια, παιχνίδια, κινούμενα σχέδια. Το μέσο διανέμεται δωρεάν. Πιθανότατα, το παιδί δεν θα χρειαστεί καν τη βοήθεια των γονιών, είναι πολύ απλό να κατανοήσει κανείς την υπηρεσία.
Τι πρέπει να γνωρίζετε εκτός από τη γλώσσα προγραμματισμού
Εκτός από τη γλώσσα προγραμματισμού και τα αγγλικά, πρέπει να γνωρίζετε και κάτι άλλο. Όλα εξαρτώνται από την επιλεγμένη κατεύθυνση. Πρέπει να μάθετε πλαίσια, αλγόριθμους, βάσεις δεδομένων και δομές δεδομένων, αποθετήρια κώδικα, να κατανοήσετε πώς λειτουργεί η τεχνολογία, να μελετήσετε φυσική και βιολογία για να δημιουργήσετε robs και να μάθετε πολλά περισσότερα. Στην αρχή, είναι καλύτερα να μην βιάζεστε στην πισίνα με το κεφάλι σας, να μαθαίνετε σταδιακά, να διαβάζετε άρθρα για εξειδικευμένους πόρους και να κατανοείτε σταδιακά νέους όρους.
Γενικά, η κύρια ικανότητα κάθε προγραμματιστή είναι να μπορεί να χρησιμοποιεί το Google. Χωρίς αυτό, τίποτα δεν θα λειτουργήσει καθόλου. Μπορείτε να απευθυνθείτε σε φόρουμ όπου συγκεντρώνονται προγραμματιστές που εργάζονται σε μια συγκεκριμένη γλώσσα, να αναζητήσετε κάποιες έτοιμες λύσεις ή να μελετήσετε πόρους αγγλικής γλώσσας.
Κλείσιμο
Υπάρχει ένα μυστικό που θα σε βοηθήσει να γίνεις ο καλύτερος όχι μόνο στον τομέα του προγραμματισμού, αλλά γενικά οπουδήποτε. Απλά πρέπει να κάνεις κάτι. Ένας καλός τρόπος είναι να βρείτε ένα πρόβλημα που πρέπει να λυθεί. Ίσως πρέπει να δημιουργήσετε έναν ιστότοπο επαγγελματικών καρτών για τη δική σας επιχείρηση, να βρείτε ένα βολικό εργαλείο για τον έλεγχο των οικονομικών σας ή να αυτοματοποιήσετε τη διανομή των tweets στους συνδρομητές σας; Στη συνέχεια, θα πρέπει να βεβαιωθείτε ότι ο στόχος είναι εφικτός, γιατί χωρίς εμπειρία και ομάδα, η δημιουργία ενός κλώνου Call of Duty είναι απίθανο να πετύχει. Τώρα ήρθε η ώραεπιλέξτε ένα σύνολο τεχνολογιών που θα λύσουν το πρόβλημα.
Εξάλλου, δεν μπορείς ποτέ να ελπίζεις ότι θα γίνεις πραγματικός επαγγελματίας σε έναν μήνα ή ακόμα και σε ένα χρόνο. Για κάποιους, ο προγραμματισμός είναι πολύ εύκολος, άλλοι μελετούν τόνους πληροφοριών και κάνουν δεκάδες εφαρμογές μέχρι να καταλάβουν τελικά πλήρως πώς λειτουργεί αυτή ή η άλλη εντολή. Και οι δύο αυτές διαδρομές είναι σωστές. Απλώς πρέπει να κάνετε κάτι.
Και δεν έχει μεγάλη σημασία ποια γλώσσα προγραμματισμού να επιλέξετε. Ωστόσο, πρέπει να μάθετε μερικά από αυτά. Επιπλέον, πολλά εργαλεία και τεχνικές είναι παρόμοια σε διαφορετικές γλώσσες. Θα είναι πιο εύκολο να μεταβείτε σε κάτι άλλο, να ολοκληρώσετε την εκμάθηση προβληματικών θεμάτων αργότερα από το να αφαιρέσετε την πρώτη γλώσσα. Και σίγουρα ευχαριστεί.