Αυτοί είναι οι κορυφαίοι όροι Επιστήμης Υπολογιστών που πρέπει να γνωρίζετε εάν είστε νέοι στον προγραμματισμό

Οι κρίσιμες ορολογίες και έννοιες CS εξηγούνται στα απλά αγγλικά

Δεδομένου ότι πολλοί φίλοι και οικογένειες από μη-CS υπόβαθρα με ρωτούν για διαφορετικές ορολογίες και έννοιες, θα προσπαθήσω να εξηγήσω τις ακόλουθες έννοιες της Πληροφορικής στην απλούστερη δυνατή γλώσσα.

Σε αυτόν τον γρήγορο οδηγό, θα μάθετε τι σημαίνει κάθε όρος / έννοια και γιατί έχει σημασία :

  • Ανάπτυξη Backend
  • Ανάπτυξη Frontend
  • Γλώσσες προγραμματισμού
  • Αλγόριθμοι
  • API
  • Εντομο
  • Ανοιχτή πηγή
  • Crowdsource

Στο τέλος αυτού του άρθρου, θα μοιραστώ επίσης κάποιους πόρους για να μάθετε περισσότερα!

Ανάπτυξη Backend

Ίσως έχετε ακούσει τον όρο «Ανάπτυξη Backend» που κυκλοφόρησε αρκετά. Ειδικά αν έχετε κολλήσει στο LinkedIn.

Το "Backend", σε αυτήν την περίπτωση, αναφέρεται σε ένα επίπεδο της τεχνολογίας στοίβας. Αυτό περιλαμβάνει κυρίως τη σύνταξη ή τη συντήρηση μιας υπηρεσίας ιστού με βάση δεδομένων για τη διατήρηση δεδομένων.

Συχνά, η ανάπτυξη backend σχετίζεται με τεχνολογίες όπως Java, Scala, Python, DynamoDB, MongoDB, nodeJS, MySQL, MapReduce και πολλά, πολλά άλλα.

Αυτό έρχεται σε αντίθεση με την ανάπτυξη front-end, η οποία αναφέρεται συχνά στο επίπεδο διεπαφής χρήστη (UI) ή στην πλευρά ενός χαρακτηριστικού που βλέπει ο πελάτης.

Γιατί είναι σημαντικό

Η κατανόηση των διαφορών μεταξύ ανάπτυξης frontend και backend σάς επιτρέπει να γνωρίζετε ποια στοιχεία πρέπει να σκεφτείτε πριν ξεκινήσετε να αναπτύσσετε μια εφαρμογή στο μέλλον.

Ανάπτυξη Frontend

Η ανάπτυξη του frontend συνεπάγεται συχνά την επεξεργασία λειτουργιών που απευθύνονται σε πελάτες, όπως μια ιστοσελίδα ή μια εφαρμογή iOS / Android.

Υπάρχουν διάφοροι τύποι τεχνολογιών που εμπλέκονται εδώ, όπως HTML, CSS, JavaScript, jQuery, React, Angular, Swift κ.λπ.

Ο λόγος που τους αποκαλώ τεχνολογίες και όχι γλώσσες προγραμματισμού είναι επειδή μερικά από αυτά είναι πλαίσια που σας βοηθούν να ρυθμίσετε τις βάσεις σας και να καθοδηγήσετε τον τρόπο που προγραμματίζετε, αλλά δεν είναι γλώσσες προγραμματισμού από μόνες τους. Παραδείγματα αυτών είναι React και Angular.

Η γλώσσα προγραμματισμού είναι απλώς ένας τρόπος για τον άνθρωπο να επικοινωνεί με υπολογιστές. Κάποιοι μπορεί να υποστηρίξουν ότι το HTML είναι γλώσσα προγραμματισμού… Νομίζω ότι αυτό είναι ένα θέμα για μια άλλη μέρα. ;

Γιατί είναι σημαντικό

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

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

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

Στον ανθρώπινο κόσμο, χρησιμοποιούμε γλώσσες όπως Αγγλικά, Μανταρίνια, Ισπανικά κ.λπ. για επικοινωνία.

Όταν πρόκειται για υπολογιστές, το ονομάζουμε γλώσσα προγραμματισμού . Μια γλώσσα προγραμματισμού επιτρέπει στους ανθρώπους και τους υπολογιστές να επικοινωνούν . Παραδείγματα γλωσσών προγραμματισμού είναι τα Java, C ++, Python και πολλά άλλα.

Γιατί είναι σημαντικό

Η εκμάθηση μιας γλώσσας προγραμματισμού σάς επιτρέπει να καταλάβετε πώς λειτουργεί κάτι που βλέπετε στο Διαδίκτυο κάτω από την κουκούλα - είναι σαν να γνωρίζετε πώς και γιατί λειτουργεί το αυτοκίνητό σας. Με λίπος αγκώνα, θα μπορείτε να δημιουργήσετε τις δικές σας εφαρμογές, όπως το Candy Crush ή το Twitter.

Αλγόριθμοι

Μια διαδικασία ή ένα σύνολο κανόνων που πρέπει να ακολουθούνται σε υπολογισμούς ή άλλες λειτουργίες επίλυσης προβλημάτων, ειδικά από έναν υπολογιστή. - Google :)

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

Ένα από τα πρώτα προβλήματα που μαθαίνουμε ως φοιτητές πληροφορικής είναι το πρόβλημα της ταξινόμησης. Η ουσία είναι να ταξινομήσετε ένα σύνολο ή μια συλλογή αντικειμένων με τον πιο αποτελεσματικό τρόπο.

Υπάρχουν πολλοί τρόποι ταξινόμησης. Ένα δημοφιλές είναι το Bubble Sort, αλλιώς γνωστό ως «είδος σύγκρισης». Περιλαμβάνει τη σύγκριση και τη συλλογή του μεγαλύτερου από δύο αντικείμενα και την επανάληψη για όλα τα άλλα στοιχεία έως ότου τελικά όλα ταξινομηθούν. Άλλοι περιλαμβάνουν το Ταξινόμηση εισαγωγής, το Ταξινόμηση συγχώνευσης και πολλά, πολλά άλλα!

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

Γιατί είναι σημαντικό

Οι αλγόριθμοι είναι ο πυρήνας της Επιστήμης Υπολογιστών - η κατανόηση των αλγορίθμων και ο τρόπος λειτουργίας τους σε κάνουν καλύτερο μηχανικό λογισμικού. Περίοδος.

API

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

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

Αυτή είναι η ιδέα πίσω από πολλές εταιρείες αυτές τις μέρες - αυτές οι εταιρείες δημιουργούν ένα «πηγάδι» πολύτιμων δεδομένων και, στη συνέχεια, τα πωλούν σε άλλους που επιθυμούν να έχουν πρόσβαση σε αυτά τα δεδομένα μέσω ενός API.

Γιατί είναι σημαντικό

Το Διαδίκτυο βασίζεται σήμερα σε απρόσκοπτη επικοινωνία μεταξύ διαφορετικών υπηρεσιών. Έτσι μπορούμε να δημιουργήσουμε εργαλεία / ιστότοπους που μιλούν μεταξύ τους. Το API είναι το θεμελιώδες επίπεδο που επιτρέπει την πραγματοποίηση όλης της επικοινωνίας. Γι 'αυτό είναι σημαντικό να γνωρίζουμε πώς και τι χρησιμοποιεί το Διαδίκτυο για να επικοινωνήσει.

Σφάλμα;

Ίσως έχετε δει το ακόλουθο meme σε ιστότοπους κοινωνικών μέσων και ίσως δεν καταλάβατε τι εννοούσε πραγματικά.

Ένα σφάλμα είναι ένα σφάλμα σε ένα πρόγραμμα υπολογιστή που εμποδίζει την εκτέλεση του προγράμματος όπως αναμένεται.

Για παράδειγμα, ας υποθέσουμε ότι κατεβάσατε μια εφαρμογή iOS, που είναι ένας τύπος προγράμματος υπολογιστή, που υποτίθεται ότι δείχνει την τοπική θερμοκρασία καιρού στο Φαρενάιτ. Ωστόσο, η εφαρμογή iOS ενδέχεται να εμφανίζει τη θερμοκρασία μόνο σε Κελσίου, αντί για το Fahrenheit που περιμένατε.

Σε μια τέτοια περίπτωση, το πρόγραμμα δεν εκτελείται όπως αναμενόταν (θα πρέπει να εμφανίζει Fahrenheit, όχι Celsius) και θα λέγατε το σφάλμα ως σφάλμα.

Αυτό είναι τόσο συνηθισμένο στη βιομηχανία που οι μηχανικοί λογισμικού το μετέτρεψαν σε ένα αστείο, εξ ου και το meme, "δεν είναι σφάλμα, είναι ένα χαρακτηριστικό".

Γιατί είναι σημαντικό

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

Ανοιχτή πηγή

Θα προσπαθήσω να εξηγήσω το Open Source με μια απλή αναλογία που σκέφτηκα :)

Φανταστείτε ότι είστε ο κάτοχος μιας βάσης λεμονάδας και διαθέτετε μια ειδική συνταγή για να φτιάξετε την καλύτερη λεμονάδα στην πόλη. Δεν μοιράζεστε τη μυστική συνταγή με κανέναν επειδή φοβάστε ότι κάποιος άλλος μπορεί να την πάρει και να κλέψει τους πελάτες σας. Η μυστική συνταγή σας θεωρείται "Κλειστή πηγή" σε αυτήν την περίπτωση, όπου σε κανέναν εκτός από εσάς επιτρέπεται η πρόσβαση σε αυτήν.

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

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

Γιατί είναι σημαντικό

Το Διαδίκτυο έχει προχωρήσει πολύ πιο γρήγορα τα τελευταία χρόνια λόγω του ανοιχτού κώδικα. Είναι μια επανάσταση και όλοι πρέπει να γνωρίζουν γιατί είναι λογικό να κάνουμε τα πράγματα δωρεάν και να τα μοιραζόμαστε με τον κόσμο.

Πλήθος

Crowdsourcing - Για να αποκτήσετε (πληροφορίες ή εισαγωγή σε μια συγκεκριμένη εργασία ή έργο) με την προσθήκη υπηρεσιών μεγάλου αριθμού ατόμων, είτε αμειβόμενων είτε μη αμειβόμενων, συνήθως μέσω του Διαδικτύου.

Το Crowdsource είναι η ιδέα να αποκτήσετε μια μεγάλη ομάδα ανθρώπων να συνεισφέρουν σε μια κοινή αιτία.

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

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

Γιατί είναι σημαντικό

Το Διαδίκτυο επέτρεψε σε ολόκληρο τον πληθυσμό να ενωθεί και να βάλει τους καλύτερους εγκεφάλους του πίσω από μερικές από τις πιο δύσκολες προκλήσεις στον κόσμο. Η Crowdsourcing μας επέτρεψε να το κάνουμε απρόσκοπτα μέσω του Διαδικτύου. Νομίζω ότι αυτό είναι ένα τεράστιο βήμα προς τα εμπρός για την ανθρωπότητα.

Προτεινόμενοι πόροι

  • Stanford's Online CS 101 - το μάθημα σας δίνει μια βασική επισκόπηση των ορολογιών CS, πώς λειτουργεί το Διαδίκτυο, πώς διαμορφώνονται και επεξεργάζονται ψηφιακές εικόνες κλπ. Το καλύτερο από όλα, είναι ΔΩΡΕΑΝ!
  • Python Crash Course - Ένας από τους καλύτερους πόρους για να ξεκινήσετε με τον προγραμματισμό Python. Αν θέλετε να λερώσετε τα χέρια σας με προγραμματισμό, σας συνιστώ να ξεκινήσετε με το Python και το παρακάτω βιβλίο.
  • Python, Πρακτικός οδηγός - Αυτό είναι ένα ενδιαφέρον βιβλίο για να πάρετε, αφού τελειώσετε με το Python Crash Course. Φαντάζομαι ότι μπορείτε να κάνετε τα περισσότερα πράγματα εδώ χωρίς το βιβλίο, αλλά σας δίνει πιο λεπτομερείς οδηγίες βήμα προς βήμα για το πώς να το κάνετε. Ιδανικό για άτομα που προτιμούν να μάθουν για παράδειγμα.
  • Εισαγωγή στους αλγόριθμους - Εάν θέλετε να μάθετε περισσότερα σχετικά με τους αλγόριθμους, που αποτελούν βασικό δόγμα της επιστήμης των υπολογιστών, αυτό το βιβλίο συνιστάται ιδιαίτερα. Αυτό είναι ΤΟ βιβλίο για πολλά μαθήματα CS.
  • Acing the Coding Interview - Αυτό είναι το προσωπικό μου πρόγραμμα προπόνησης, όπου σας δείχνω πώς ετοιμάστηκα για τις συνεντεύξεις μου, τις συμβουλές και τα κόλπα μου για τη συνέντευξη κωδικοποίησης και πολλά άλλα.

Η Zhia Chong είναι μηχανικός λογισμικού στο Twitter. Παρόλο που δεν παίζει κώδικα, παίζει τένις, γράφει άρθρα ή κάνει βίντεο στο Youtube.

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