911, επείγον;
Ποια είναι η επείγουσα ανάγκη σας;
911, τι επείγον...
911, ποια...
Στις 9 Απριλίου 2014, η υπηρεσία βοήθειας του 911 σταμάτησε ξαφνικά
για εκατομμύρια ανθρώπους σε όλες τις ΗΠΑ.
Παρέμεινε ανενεργή για πάνω από έξι ώρες.
Πάνω από 6.000 τηλεφωνήματα δεν μπορούσαν να απαντηθούν.
Η κυβέρνηση εντόπισε το πρόβλημα σε έναν Η/Υ
σε ένα τηλεφωνικό κέντρο στο Ίνγκλγουντ, Κολοράντο.
Ήταν ένα απλό λάθος προγραμματισμού.
Οι προγραμματιστές του υπολογιστή
επέλεξαν να θέσουν ανώτατο όριο στον αριθμό τηλεφωνημάτων που καταγράφει,
ένα όριο που πίστευαν πως δεν θα φτάσει ποτέ..
Εκείνο το βράδυ του 2014, το έφτασε.
Ο υπολογιστής ακολούθησε πιστά τις οδηγίες του.
Έφτασε το όριο και σταμάτησε να δρομολογεί κλήσεις.
Το πρόβλημα δεν ήταν ο υπολογιστής,
ούτε λάθος στον κώδικα.
Ήταν ο ίδιος ο προγραμματισμός,
η διαδικασία λήψης αποφάσεων με την οποία επικοινωνούν οι άνθρωποι
με τον υπολογιστή.
Αυτή η δύναμη συνοδεύεται από μεγάλη ηθική ευθύνη.
Ασύγκριτο να το κάνεις.
Δεν υπάρχει υποκατάστατο.
Με τον ίδιο τρόπο που αυτοί που χτίζουν μια πόλη
καθορίζουν πώς θα ζήσεις τη ζωή σου,
νομίζω πως ο κώδικας ελέγχει τη διαδικτυακή μας ζωή, τη ζωή μας.
Όχι μόνο στο διαδίκτυο,
αλλά όταν καλούμε αριθμούς επείγουσας ανάγκης...
ή πάμε στον γιατρό...
ή μπαίνουμε στο αυτοκίνητο.
Είμαστε κοντά σε έναν κώδικα κάθε μέρα.
Μόλις το ένα τρίτο του ένα τοις εκατό ξέρει πώς να γράφει έναν.
Για τη συντριπτική πλειοψηφία, είναι κάτι ακατανόητο.
Δεν χρειάζεται να είναι.
Πώς λειτουργεί ο κώδικας;
Και ποιο νέο κόσμο χτίζουμε με αυτόν;
ΜΙΑ ΠΡΩΤΟΤΥΠΗ ΣΕΙΡΑ ΝΤΟΚΙΜΑΝΤΕΡ ΤΟΥ NETFLIX
Ο υπολογιστής.
Μια ιδιοφυής συλλογή από ηλεκτρονικό υλισμικό
που δημιούργησε ο άνθρωπος.
Τα μηχανήματά μας αρκούν για να λύσουμε τα προβλήματα,
αλλά δεν έχουμε επαρκείς περιγραφές για το πώς.
Όταν ακούς για προγραμματισμό, τον θεωρείς πολύ δύσκολο.
Είναι πολύ σημαντικό να θυμάσαι πως ό,τι χρησιμοποιείς στον υπολογιστή
δημιουργήθηκε από κάποιο ανθρώπινο ον.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Ας πούμε ότι ρωτάει ένας εξωγήινος "Ποια η σημασία του κώδικα;
Τι είναι;"
Θα έλεγα "Ξέρεις,
ζούμε σε αυτή την υπαρκτή Γη και πριν από 50 χρόνια,
μια μικρή ομάδα ανθρώπων άρχισαν να χτίζουν έναν άλλο πλανήτη.
Δεν ήταν όμως πραγματικός, αλλά εικονικός.
Κοιτάξτε τριγύρω σας στον δρόμο και θα δείτε να περπατάνε
με το κεφάλι σκυφτό κοιτάζοντας τα κινητά τους.
Βρίσκονται σε αυτόν τον άλλο κόσμο.
Αυτό είναι ο κώδικας.
Τα υλικά εκείνου του άλλου κόσμου.
Αυτός ο αργαλειός είναι πρόγονος κάθε υπολογιστή και smartphone
στη Γη.
Εφευρέθηκε το 1804
και η μεγάλη του καινοτομία ήταν αυτές οι κάρτες.
Οι τρύπες σε κάθε κάρτα επέτρεπαν μόνο σε ορισμένες ακίδες να περάσουν.
Με χιλιάδες τρύπες σε εκατοντάδες κάρτες,
οι υφαντές έφτιαχναν πιο περίπλοκα σχέδια από πριν.
Οι περίτεχνες εσάρπες έγιναν η νέα τρέλα της Ευρώπης.
Και τα υφασμένα σχέδια ήταν τόσο λεπτομερή που έμοιαζαν με σκίτσα,
όπως αυτό του εφευρέτη του αργαλειού.
Πριν από τους αργαλειούς, η κάθε κλωστή επιλεγόταν με το χέρι
από τα "αγόρια για το σχέδιο".
Και τα μαθηματικά με το χέρι γίνονταν,
από τους αποκαλούμενους "υπολογιστές".
Οι πρώτοι υπολογιστές ήταν άνθρωποι.
Τα μηχανήματα που είχαμε για βοήθεια,
έλυναν μόνο ένα μαθηματικό πρόβλημα,
όπως ο άβακας για πρόσθεση κι αφαίρεση.
Ο Βρετανός μαθηματικός Τσαρλς Μπάμπιτζ ήθελε ένα μηχάνημα
που θα έλυνε όποιο μαθηματικό πρόβλημα ήθελες
ή μάλλον, το προγραμμάτιζες για να το λύσει.
Σχεδίασε ένα μηχάνημα που το ονόμαζε "Αναλυτική Μηχανή".
Η ιδέα του Μπάμπιτζ τού εξασφάλισε μια θέση στην Ιστορία.
Οι υπολογιστές εφευρέθηκαν πρώτα από τον Μπάμπιτζ,
έναν πολύ εκκεντρικό Βρετανό εφευρέτη.
Ο Μπάμπιτζ είχε εμπνευστεί το πώς θα λειτουργούσε.
Είχε ένα αντίγραφο της εικόνας στο σπίτι του.
Η Αναλυτική Μηχανή του Μπάμπιτζ, όπως ο αργαλειός του Τζακάρντ,
είχαν υλικά μέρη: "υλισμικό".
Και σαν τον αργαλειό,
έδινες οδηγίες με κάρτες που είχαν τρύπες.
Μέσα από τις τρύπες περνούσαν ακίδες
κι η απουσία τους έκανε άλλες ακίδες να κινηθούν προς τα πίσω,
δημιουργώντας μια αλυσίδα μηχανικών υπολογισμών.
Οι κάρτες με τις διαφορετικές τρύπες, είναι το λογισμικό.
Ο Μπάμπιτζ δεν τελείωσε ποτέ την Αναλυτική Μηχανή,
αλλά μια νεαρή που δούλευε μαζί του είδε ότι η δυναμική της
ξεπερνούσε τα μαθηματικά.
Η Έιντα Μπάιρον, κόμισσα του Λάβλεϊς έγραψε,
"τα όρια της αριθμητικής ξεπεράστηκαν τη στιγμή που η ιδέα
εφαρμογής καρτών ήρθε στο προσκήνιο..."
Είδε ό,τι και ο Τζακάρντ:
οι τρύπες αντιπροσώπευαν κάτι παραπάνω από αριθμούς.
Μπορεί να είναι μοτίβα,
μουσική...
ή ολόκληρες προτάσεις.
Σκεφτείτε την σαν κώδικα του Μορς.
Κάθε γράμμα στο αλφάβητο του Μορς εκφράζεται σαν δύο σύμβολα μόνο:
...ή...
είναι δυαδικό.
Και με αυτά τα μπιπ μόνο, μπορούμε να πούμε οτιδήποτε,
όπως αυτό το σήμα κινδύνου που στάλθηκε από τον Τιτανικό το 1912.
Το "SOS" δεν είναι αρχικά για κάτι.
Είναι απλώς πολύ απλό να το στείλεις με Μορς.
Μπορείτε να σκεφτείτε κάθε γράμμα ως συνδυασμό
από μηδέν και ένα.
Σας φαίνεται γνωστό;
Είναι ο δυαδικός κώδικας.
Έτσι γεφυρώνουμε το χάσμα μεταξύ μηχανών και ανθρώπινης γλώσσας.
Κάθε άσος ή μηδέν είναι ένα δυαδικό ψηφίο ή "μπιτ".
Είναι τα άτομα των σύγχρονων υπολογιστών.
Ίσως τα ξέρετε με άλλο όνομα:
οχτώ μπιτ σε ένα μπάιτ.
Μια εικόνα στους υπολογιστές σας είναι περίπου 1,1 μεγαμπάιτ.
Είναι οχτώ εκατομμύρια οχτακόσιες χιλιάδες άσοι και μηδέν.
Όπως οι τελείες και οι παύλες στον Μορς είναι ένας τρόπος γραφής...
έτσι είναι και στον δυαδικό κώδικα οι άσοι και τα μηδέν,
ό,τι δηλαδή συμβαίνει στον σύγχρονο υπολογιστή:
φορτίο ή μη φορτίο.
Αυτό είναι ένα απλό ηλεκτρικό κύκλωμα.
Φανταστείτε εκατομμύρια τέτοια να δουλεύουν μαζί.
Έτσι είναι ο υπολογιστής σήμερα.
Σε αυτό το κύκλωμα, αυτό είναι ένα μπιτ.
Είναι σβηστός ο λαμπτήρας; Μηδέν.
Αναμμένος; Άσος.
Οι υπολογιστές κατανοούν μόνο τον ηλεκτρισμό,
έτσι αυτό που κάνουν οι προγραμματιστές είναι,
τελικά,
διαχείριση του ηλεκτρικού φορτίου.
Λειτουργούν, γιατί αν ενωθούν με τον σωστό τρόπο
αυτά τα φορτία αντιπροσωπεύουν ένα είδος λογικής.
Βασικά, η λογική είναι μια προβλέψιμη σειρά γεγονότων ή συμβάντων,
όπως το κλείσιμο αυτού του διακόπτη...
και αυτού για να χτυπήσει το κουδούνι.
Οι κομπιουτεράδες το λένε "Λογικό κύκλωμα ΚΑΙ'".
Ή λογική "πύλη".
Για να δούμε αν θα το κάνω χωρίς να τρυπήσω το τραπέζι.
Σε μία ΚΑΙ πύλη, πρέπει και τα δύο κυκλώματα να κλείσουν
για να ανάψει το φως.
Υπάρχουν και οι Ή πύλες,
όπου το φως ανάβει, αν ένα από τα κυκλώματα κλείσει.
Μπορείς να το θέσεις αλλιώς.
Έστω ότι ένα κύκλωμα είναι κλειστό, τότε ανάβει το φως.
Αυτή η δήλωση "έστω... τότε",
είναι αλγόριθμος.
Στη δημοφιλή κουλτούρα σήμερα, η λέξη "αλγόριθμος" προκαλεί σύγχυση.
Το έχουμε ξαναδεί οι αλγόριθμοι να ξεφεύγουν!
Η λειτουργία τους είναι μυστήριο για τους περισσότερους.
Τι διάολο είναι ο αλγόριθμος;
Είναι απλώς ένα σύνολο εντολών.
Φανταστείτε να μπαίνετε σε ένα μαγαζί.
Μπορείτε να πάτε αριστερά και μετά δεξιά.
Ή πρώτα δεξιά και μετά αριστερά.
Ή να κάνετε τέσσερις φορές αριστερά, να τρέξετε στο πάρκο,
περνώντας τη λεωφόρο, και μετά να κάνετε τέσσερις φορές δεξιά.
Όπως υπάρχουν διαφορετικές διαδρομές για το ίδιο μέρος,
στον προγραμματισμό, υπάρχουν διαφορετικοί αλγόριθμοι
για να λυθεί το ίδιο πρόβλημα.
Ο στόχος είναι να βρεθεί ο πιο αποτελεσματικός και αποδοτικός.
Ένας όμορφος κώδικας δεν επαναλαμβάνεται.
Είναι πολύ κομψός, πολύ ισχυρός.
Οι υπολογιστές που έτρεχαν αλγόριθμους έκαναν ό,τι τους λέγαμε,
αλλά πολύ πιο γρήγορα,
κάτι που έκανε τους ανθρώπους πολύ πιο ισχυρούς.
Όταν οι επιστήμονες κατασκεύαζαν την πυρηνική βόμβα σύντηξης,
χρησιμοποίησαν κυρίως ανθρώπινους υπολογιστές.
Αλλά μετά στράφηκαν στο εξής:
τον ENIAC που έτρεχε θερμοπυρηνικούς υπολογισμούς για έξι εβδομάδες.
Τα αποτελέσματα συνεισέφεραν άμεσα
στην πρώτη επιτυχημένη δοκιμή το 1952
μιας βόμβας εκατοντάδες φορές πιο ισχυρής από τις βόμβες σχάσης,
που ρίχτηκαν σε Χιροσίμα και Ναγκασάκι στον Β Παγκόσμιο.
Η δύναμη του προγραμματισμού ενίσχυσε την ικανότητα του ανθρώπου
να κάνει ό,τι θέλει.
Στη δεκαετία του '40 ήθελε ακόμα πολλή δουλειά.
Δεν φτάνεις ψηλά γράφοντας προγράμματα σε άσους και μηδέν.
Οι άνθρωποι ήθελαν τη δύναμη που έδινε ο προγραμματισμός.
Αλλά ήθελαν και ευκολότερο τρόπο.
Η ιστορία του προγραμματισμού από τότε ήταν να έρθει όλο και πιο κοντά
στην ανθρώπινη γλώσσα,
δημιουργώντας ό,τι όλοι οι προγραμματιστές χρησιμοποιούν σήμερα:
γλώσσες προγραμματισμού.
Σε σύγκριση με τους άσους και τα μηδέν, αυτές οι γλώσσες είναι αφηρημένες.
Η αφηρημένη έννοια είναι δύσκολη.
Οι αφηρημένες γλώσσες βασικά μοιάζουν με τους άσους και τα μηδέν,
απλώς βρήκαμε καλύτερους τρόπους να τα οργανώσουμε.
Σκεφτείτε το με βιολογικούς όρους.
Οι άνθρωποι είναι απίστευτα πολύπλοκοι,
αλλά το 99% του σώματός μας αποτελείται από μόνο έξι στοιχεία.
Και ανεβαίνουμε στα μεγαλύτερα μόρια.
Ανάμεσα σε αυτό το επίπεδο οργάνωσης και εκείνο που είναι το πιο απλό έμβιο ον
υπάρχει μια απόσταση.
Οι άνθρωποι έχουν εγκέφαλο, που κάνει τόσο προχωρημένα πράγματα,
που δυσκολεύεσαι να πιστέψεις πως είναι φτιαγμένοι από τα ίδια υλικά.
Οι υπολογιστές μοιάζουν με αυτό, αλλά είναι πιο απλοί.
Αυτό είναι το θετικό.
Η ιστορία του προγραμματισμού σημαίνει την απομάκρυνση αυτού του κουτιού
από το δυαδικό σύστημα, για να βρούμε
πιο εύκολους, γρήγορους και ισχυρούς τρόπους προγραμματισμού,
χωρίς να πρέπει να ασχοληθούμε, ούτε καν να καταλάβουμε,
τις δυαδικές και λογικές πύλες από κάτω.
Αυτό επιτρέπει στους προγραμματιστές να φτιάχνουν όλα όσα γνωρίζουμε.
Το πρώτο βήμα για εκεί ήταν...
"Η γλώσσα μηχανής", πιο εύκολη να διαβάσεις και να γράψεις,
όπου αντί για 0-1-0-0-0-1-1-1,
ας το πούμε "add",
και ένα πρόγραμμα, ο συναρμολογητής, θα μεταφράσει τα γράμματα
A-D-D στα αντίστοιχα μηδέν και άσους.
Σε αυτό το επίπεδο, το δυαδικό σύστημα οργανώνεται σε γράμματα και αριθμούς,
όπως τα άτομα οργανώνονται σε μόρια.
Ο προγραμματισμός σε γλώσσα μηχανής δεν ήταν εύκολος ακριβώς,
γιατί οι υπολογιστές χρησιμοποιούσαν διαφορετικές γλώσσες.
Αν έγραφες ένα πρόγραμμα για κάποιον, δεν θα λειτουργούσε στον άλλον.
Πολύ γρήγορα, άρχισαν να σκέφτονται,
ότι θέλουμε να δώσουμε στον υπολογιστή
όρους που χρησιμοποιούμε καθημερινά.
Έχουμε γλώσσες προγραμματισμού
που φτιάξαμε με τη γλώσσα μηχανής
και από αυτές, φτιάξαμε κι άλλες γλώσσες.
Θα έχετε ακούσει τα ονόματά τους.
-LISP... -BASIC...
-Java... -C++...
-Python 3... -HTML 5...
PEARL, PHP, a little bit of C...
Όπως οι προφορικές γλώσσες είναι διαφορετικοί τρόποι
έκφρασης της ίδιας ιδέας σε άλλους ανθρώπους,
οι γλώσσες προγραμματισμού είναι διαφορετικοί τρόποι έκφρασης
της ίδιας ιδέας σε υπολογιστές.
Έχουμε παραπάνω από μία γλώσσα υψηλού επιπέδου,
γιατί οι διαφορετικές γλώσσες
φροντίζουν διαφορετικές ανάγκες.
Δείτε αυτές τις δύο.
Αυτή εδώ, η COBOL, δημιουργήθηκε στα τέλη του '50
ως μια ευκολότερη γλώσσα για τις επιχειρήσεις.
Μοιάζει πολύ με τα Αγγλικά, αν κάθε συζήτηση
τελείωνε με τη φράση "STOP RUN".
Η CPL δημιουργήθηκε το 1960 και είχε πιο επιστημονικό υπόβαθρο.
Σαν τη βιολογική εξέλιξη.
Οι πιο περίπλοκοι οργανισμοί αναπτύσσουν χαρακτηριστικά
για να προσαρμόζονται καλύτερα στα περιβάλλοντά τους.
Ειλικρινά, είναι και θέμα γούστου.
Στους ανθρώπους αρέσουν διαφορετικά εργαλεία έκφρασης.
Για παράδειγμα, η γλώσσα C++...
Ο Ιλον Μασκ δεν είναι φίλος της.
Μπορείς να εφεύρεις μία.
Αυτή είναι μια γλώσσα υψηλού επιπέδου φτιαγμένη αποκλειστικά από τη λέξη "μου".
Σοβαρά. Λέγεται COW (ΑΓΕΛΑΔΑ).
Αυτή εδώ είναι φτιαγμένη από ατάκες του Άρνολντ Σβαρτζενέγκερ.
Κάθε φορά που σκέφτομαι "Εντάξει, τελειώσαμε τώρα",
κάποιος άλλος φτιάχνει μια άλλη και αποκτά πιστούς οπαδούς.
Δεν βλέπω τέλος στην εφεύρεση καινούριων γλωσσών.
Όλες αυτές οι γλώσσες έχουν ως βάση τους τη λογική.
Για παράδειγμα, ένας προγραμματιστής στο Netflix θα έλεγε
"Έστω ότι βλέπεις πάνω από δύο ώρες,
τότε δείξε αυτό".
Για να επηρεάσει ο κώδικας τις ζωές των ανθρώπων,
έπρεπε οι περισσότεροι να χρησιμοποιούν υπολογιστές.
Αυτό σήμαινε πως έπρεπε να είναι πιο εύχρηστοι, πιο φιλικοί,
κι αυτό απαιτούσε ένα ακόμα μεγάλο άλμα.
Το οποίο ξεκίνησε εδώ,
σε μια επίδειξη του Νταγκ Ίνγκλμπαρτ το 1968.
Θα δούμε την οθόνη όπου δουλεύει
και το πώς κινείται το σημείο ανίχνευσης
σε συνδυασμό με τις κινήσεις αυτού του ποντικιού.
Σήμερα, ο προγραμματισμός δεν γίνεται γράφοντας δηλώσεις σε χαρτί
και δίνοντάς τες σε κάποιον που τις δακτυλογραφεί.
Κάθεσαι στην οθόνη, έχεις γραφική διεπαφή χρήστη.
Σήμερα τις λέμε GUI.
Με αυτές, ο προγραμματισμός γίνεται και χωρίς πληκτρολόγηση.
Ή χρησιμοποιούν πιο εύκολα τον κώδικα.
Συνήθως εργάζεσαι σε προγραμματιστικό περιβάλλον
σαν αυτό που ο Άλαν και οι συνεργάτες του
δημιούργησαν τόσο όμορφα
στο Κέντρο Ερευνών Xerox στο Πάλο Άλτο στις αρχές της δεκαετίας του '70.
"Ο Άλαν".
Αυτός ο Άλαν.
Τον θεωρώ πατέρα της προσωπικής χρήσης υπολογιστών,
γιατί ήταν ο πρώτος που άρθρωσε αυτό το όραμα.
Και πρέπει να ομολογήσω ότι το θεωρούσα επιστημονική φαντασία.
Όταν γίνονται μεγάλα πράγματα,
υπάρχει συνήθως ολόκληρη κοινότητα.
Και το Παρκ ήταν φανταστικό.
Ήταν σαν μαγεία.
Η γραφική διεπαφή χρήστη επέτρεψε σε εκατομμύρια ανθρώπους
να χρησιμοποιήσουν υπολογιστές με φυσικό τρόπο γι' αυτούς.
Όταν η Xerox πρωτοδιαφήμισε τις διεπαφές το 1979,
έδειξαν πώς ο κώδικας μπορούσε να αλλάξει την καθημερινότητα.
Έρχεσαι στο γραφείο σου και ένα μηχάνημα Xerox
σου παρουσιάζει το πρωινό ταχυδρομείο στην οθόνη.
Σύντομα, συστήματα της Xerox σαν αυτό
θα σε βοηθάνε να διαχειριστείς το πιο πολύτιμο πλεονέκτημα:
την πληροφορία.
Υπήρχαν άτομα σαν εμένα και πολλά άτομα
σε αυτήν την ερευνητική κοινότητα που ήθελαν να βελτιώσουν τον κόσμο.
Είχαν μια ιδέα που είχε βαθιά σχέση με την ανθρώπινη βελτίωση.
Κάτι που θα αλληλεπιδρούσε μαζί μας,
το κοινό,
τον κανονικό άνθρωπο, και να μας καταστήσει ικανούς
να κάνουμε περισσότερα από πριν.
Μας κατέστησε όντως ικανούς να κάνουμε περισσότερα.
Οι διεπαφές ήταν μεγάλο άλμα σε αυτό το φάσμα.
Και μετά ήρθε η επόμενη καινοτομία που άλλαξε τον κόσμο.
Ένας νέος τρόπος να μοιραζόμαστε τα πάντα που θα φτιάχναμε με κώδικα.
Στην τηλεόραση, ο κόσμος άρχισε να προβλέπει τι θα σήμαινε
η ξαφνική πρόσβαση στον κώδικα.
Φανταστείτε να πίνετε τον πρωινό σας καφέ,
και να ανοίγετε τον υπολογιστή για να διαβάσετε την εφημερίδα.
Φανταστείτε έναν κόσμο όπου κάθε λέξη που γράφτηκε, κάθε εικόνα ενός πίνακα,
κάθε ταινία, θα ερχόταν άμεσα στο σπίτι σας.
Βρισκόμαστε στα πρόθυρα για κάτι συναρπαστικό και τρομακτικό.
-Είναι μόνο ένα εργαλείο, σωστά; -Όχι, δεν είναι.
Τα πιο επιδραστικά λογισμικά σήμερα χρησιμοποιούν όλες αυτές τις καινοτομίες.
Ένας φοιτητής χρησιμοποίησε μια υψηλού επιπέδου γλώσσα, την PHP,
για να φτιάξει κάτι που μοιράστηκε στο διαδίκτυο,
προς χρήση σε υπολογιστές με διεπαφές.
Το περιέγραψε στην πρώτη του τηλεοπτική συνέντευξη το 2004.
Είναι διαδικτυακός κατάλογος που συνδέει ανθρώπους
μέσω των κοινωνικών δικτύων των φοιτητών.
Τώρα έχουμε φτάσει τα 100.000 άτομα και ποιος ξέρει μετά.
Εκεί πού φτάσαμε ήταν πάνω από δύο δισεκατομμύρια άτομα
στο Facebook τον μήνα.
Πλέον, οι προγραμματιστές διαμορφώνουν τις ζωές δισεκατομμυρίων.
Πώς θα δουλέψουν, ψωνίσουν, φάνε, βγουν ραντεβού και χαλαρώσουν.
Τι κάνετε τώρα;
Με βλέπετε σε έναν φυλλομετρητή του Netflix.
Το ίδιο το Netflix είναι κώδικας και τρέχει στο διαδίκτυο
που είναι κώδικας,
και τρέχει στον υπολογιστή που σχεδιάστηκε χρησιμοποιώντας κώδικα.
Είναι το ένα μέσα στο άλλο.
Ο καλός κώδικας είναι σαν να είσαι αρχιτέκτονας ενός μουσείου,
το οποίο σκέφτονται εκατομμύρια
και το επισκέπτονται κάθε μέρα.
Δεν συγκρίνεται με τίποτα το να γράφεις κώδικα, γιατί είναι δημιουργία.
Έχεις μια ιδέα για το πώς θα λειτουργεί κάτι
και μετά κάθεσαι μπροστά στον υπολογιστή
και το κάνεις πραγματικότητα.
Υπάρχει μεγάλη ευθύνη σε αυτόν τον ρόλο.
Έχεις ένα όριο ταχύτητας.
Όχι παραπάνω από 60 μίλια την ώρα.
Ωραία.
Κι αν είχες ένα αυτοκίνητο κι ο υπολογιστής έλεγε
"Το αυτοκίνητο δεν θα τρέχει πάνω από 60 μίλια;"
Διαφορετικός τρόπος ελέγχου συμπεριφοράς.
Ελέγχοντας τις επιλογές μας, ο κώδικας στις ζωές μας έχει
μια σχεδόν πιο βαθιά ρυθμιστική επίδραση από ό,τι ο νόμος.
Κι αυτό ίσως είναι σπουδαίο.
Γίνονται έξι εκατομμύρια ατυχήματα στις ΗΠΑ κάθε χρόνο,
και μια ανάλυση συμπέρανε πως το 94% προκαλούνται από τον οδηγό.
Η εξέλιξη στον προγραμματισμό ίσως σώσει εκατομμύρια ζωές.
Μπορεί όμως να τις θέσει και σε κίνδυνο με νέους τρόπους.
Έχω μια πάθηση που λέγεται υπερτροφική καρδιομυοπάθεια,
που είναι ο ιατρικός όρος για το ότι έχω...
μεγάλη καρδιά.
Η καρδιά μου είναι όντως μεγάλη. Τρεις φορές το μέγεθος της κανονικής.
Το έμαθα στα 30 μου και το ρίσκο να πεθάνω μέχρι τα 40
ήταν πολύ μεγάλο.
Ο ηλεκτροφυσιολόγος είπε "Δεν υπάρχει πρόβλημα,
γιατί μπορείς να βάλεις βηματοδότη-απινιδωτή".
Αυτή η συσκευή λειτουργεί με κώδικα.
Κάνα δυο χρόνια πριν όταν ήμουν έγκυος, είχα ταχυπαλμίες.
Το ένα τέταρτο των γυναικών έχει ταχυπαλμίες κι είναι φυσιολογικό.
Αλλά συσκευή μου το θεώρησε επικίνδυνο και μου έκανε ηλεκτροσόκ.
Οι κατασκευαστές δεν ενδιαφέρονται για ένα τέτοιο σοκ στις εγκύους.
Είναι το τελευταίο που θέλουν.
Απλώς, δεν το σκέφτηκαν.
Υπάρχει ένα τεράστιο σύνολο πιθανών αποφάσεων
και οι προγραμματιστές είναι αυτοί που τις παίρνουν.
Και...
αναπόφευκτα, θα υπάρξει ένας συνδυασμός περιπτώσεων
που δεν έχουν προβλέψει.
Αυτό που θέλουμε να διδάξουμε
όταν διδάσκουμε την τέχνη
του προγραμματισμού
είναι πώς σκέφτεσαι
όλες αυτές τις διαφορετικές συνθήκες.
Πώς προσπαθείς να τις καλύψεις όλες
χωρίς να πελαγώσεις από τον αριθμό των πραγμάτων
που ίσως έχεις να σκεφτείς.
Αυτό θα ισχύει όλο και περισσότερο, καθώς πλέον προγραμματίζουμε
με εντελώς διαφορετικό τρόπο.
Στον παραδοσιακό προγραμματισμό, γράφεις οδηγίες στον υπολογιστή.
Τώρα δίνουμε στον υπολογιστή πληροφορίες
και αποτελέσματα
και τον βάζουμε να γράφει τις οδηγίες.
Δίνεις στον υπολογιστή σου
πολλά παραδείγματα
και λες "Αυτό είναι ένα πάρτι", ξανά και ξανά.
Και μετά έχεις άλλα πράγματα.
Οδοντιατρείο: όχι πάρτι.
Τάξη σχολείου: όχι πάρτι.
Κι ο υπολογιστής τα κοιτάζει και προσπαθεί να φτιάξει
ένα σύστημα ταξινόμησης.
Αυτό είναι η μηχανική μάθηση.
Αν κάποιος μιλήσει σήμερα για τεχνητή νοημοσύνη,
αυτό εννοεί.
Είναι εντελώς διαφορετικό είδος αφηρημένης έννοιας
και τρόπου να ενεργείς,
δεν ταιριάζει με τον τρόπο που τα ταξινομούμε.
Τους λέμε αλγόριθμους μηχανικής μάθησης γιατί ο υπολογιστής δημιουργεί
τις δικές του οδηγίες που θα ακολουθεί.
Τελικά, και αυτές μεταφράζονται
σε μικροσκοπικές οδηγίες.
Το Google Translate περιείχε ένα εκατομμύριο γραμμές κώδικα.
Δηλαδή έγραψαν ένα εκατομμύριο μικρές οδηγίες.
Σήμερα, αποτελείται από 500 γραμμές κώδικα που χρησιμοποιούν τη μηχανική μάθηση.
Αν, λόγω παράβλεψης, καμία από τις φωτογραφίες από πάρτι
δεν περιείχε κανέναν μαύρο ή ισπανόφωνο,
o υπολογιστής θα σκεφτόταν ότι ο κανόνας των πάρτι
είναι ότι μόνο λευκοί και Ασιάτες προσκαλούνται.
Υπάρχουν πολλοί λευκοί και Ασιάτες άνδρες προγραμματιστές.
Πρέπει να διευρύνουμε το ποιος θα βρίσκεται στην αίθουσα σχεδιασμού
για πάμπολλους λόγους.
Θα κάνουν καλύτερες ερωτήσεις αν υπάρχει περισσότερη εμπειρία.
Για παράδειγμα, αν ταΐζεις δεδομένα στο σύστημα μηχανικής μάθησης,
από το ποινικό σύστημα, ένα σύστημα με ρατσιστικά δεδομένα,
αλλά οι προγραμματιστές της μηχανικής μάθησης
είναι σαν διαφήμιση της Benetton,
ένα σύνολο από διαφορετικές φυλές, με διαφορετικά πρόσωπα,
από διαφορετικά κοινωνικά στρώματα...
το σύστημα θα μάθει σωστά από τα δεδομένα.
Αν οι προγραμματιστές δεν διορθώνουν τα παραπάνω,
τα παλιά δεδομένα θα μας οδηγήσουν σε λάθη του παρελθόντος.
Η ιστορία του προγραμματισμού ισούται με φιλοδοξία
και δημιουργικότητα.
Εκτόξευση του πυραύλου Falcon 9.
Είδαμε αυτό που θεωρούσαμε αθέατο.
Μια μαύρη τρύπα.
Φτιάχνουμε καινούριο κόσμο
με ολοένα πιο πολλά εύληπτα εργαλεία
που όλο και περισσότεροι θα χρησιμοποιούν για να γίνεται καλύτερος ο κόσμος.
Ζήσαμε την πορεία του να γίνουν οι υπολογιστές πιο προσβάσιμοι
σε περισσότερα ανθρώπινα όντα.
Βλέπουμε αυτήν την επανάσταση μπροστά μας τα τελευταία 50 χρόνια.
Γι' αυτό είναι συναρπαστικό να ζεις σήμερα.
Είναι σημαντικό να θυμάσαι πως ό,τι χρησιμοποιείς στον υπολογιστή
δημιουργήθηκε από κάποιον άνθρωπο.
Μπορεί να είσαι εσύ αυτός κι είναι σημαντικό
να γίνεις αυτός ο άνθρωπος.
Μπορείς να αλλάξεις ουσιαστικά τον κόσμο.
Ο κόσμος θα λειτουργεί με μηχανική μάθηση,
δεδομένα και παραδοσιακό προγραμματισμό με πολλούς τρόπους.
Και ως κοινωνία πρέπει να πούμε
"Έχουμε αυτήν την ισχυρή νέα τεχνολογία
και θα μπορούσε να είναι τέλεια, αλλά όχι από μόνη της".
Υποτιτλισμός: Βασίλης Μανουσάκης