Αναρτήθηκε από: spzoidis | 16/01/2015

ΕΣΩΤΕΡΙΚΕΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

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

Ας πάρουμε τα πράγματα από την αρχή. Οι περισσότεροι άνθρωποι του πλανήτη γνωρίζουν το τι σημαίνει ηλεκτρονικός υπολογιστής και μερικές εκατοντάδες εκατομμύρια από αυτούς τους χρησιμοποιούν. Όσοι τους χρησιμοποιούν γνωρίζουν επίσης ότι ένας υπολογιστής αποτελείται από το ανάλογο μηχάνημα  (hardware) και τα προγράμματά του (software). Τα προγράμματα, είτε αυτά αποτελούν τη βασική πλατφόρμα  λειτουργίας ενός υπολογιστή π.χ windows είτε τα επί μέρους προγράμματα ειδικών εργασιών π.χ word, excel, photoshop κλπ, χρειάζεται να έχουν προγραμματιστεί έτσι ώστε όταν εμείς επιλέγουμε να τα λειτουργήσουμε, να δίνουμε τις εντολές μας -με το πάτημα των πλήκτρων ή με το ποντίκι- και ο υπολογιστής να εκτελεί αυτό για το οποίο έχει προγραμματιστεί. Για να μπορέσει ο υπολογιστής να ετοιμαστεί για την διεξαγωγή συγκεκριμένων εργασιών οφείλουμε να τον προγραμματίσουμε κατάλληλα. Η μέθοδος ή η διαδικασία με την οποία υλοποιούμε τον προγραμματισμό αυτό αποκαλείται γλώσσα προγραμματισμού (programming language). Θα μπορούσε κανείς να πει ότι γλώσσα προγραμματισμού είναι η κωδικοποιημένη αλληλουχία των βημάτων που διατάζουμε τον υπολογιστή να πραγματοποιήσει ώστε να φθάσουμε στο αποτέλεσμα που επιθυμούμε.

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

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

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

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

Ένα σημαντικό ρεύμα εσωτερισμού εμφανίζεται λίγο πριν και αμέσως μετά από τις μεγάλες επαναστάσεις εναντίον του φεουδαρχισμού και της απολυταρχίας στο δεύτερο μισό του 18ου αιώνα.  Στο δεύτερο μισό του 19ου αιώνα και κατά τη διάρκεια της μεγάλης βιομηχανικής επανάστασης εμφανίζεται άλλο ένα σημαντικό ρεύμα εσωτερισμού.  Θέλετε να εκληφθεί σαν σύμπτωση ή σαν απόρροια της μονόπλευρης αλλά ολοκληρωτικής ενασχόλησης του ανθρώπου με πράγματα μη πνευματικά? μπορεί να συμβαίνει και αυτό. Αλλά διαπιστώνουμε ότι και κατά τη διάρκεια της μεγάλης τεχνολογικής επανάστασης του δεύτερου μισού του 20ου αιώνα και ιδιαίτερα στον κλάδο των ηλεκτρονικών υπολογιστών, που απορρόφησε την μεγαλύτερη δημιουργικότητα του ανθρώπου, εμφανίζεται   -δειλά μεν σημαντικά δε-  μια εσωτερική προδιάθεση η οποία έχει ανάγκη να εκφραστεί μέσα από την ευρεία οικογένεια των ανθρώπων που ασχολούνται με τους υπολογιστές και ιδιαίτερα μέσα από αυτούς που κατασκευάζουν τις γλώσσες επικοινωνίας με τους υπολογιστές δηλαδή τις γλώσσες προγραμματισμού. Έτσι φθάνουμε στο 1972 όπου εμφανίζεται στον κόσμο των ηλεκτρονικών υπολογιστών (ο όρος τεχνολογία της πληροφορίας –Information Technology εμφανίστηκε αργότερα) η πρώτη γλώσσα προγραμματισμού ηλεκτρονικών υπολογιστών με την ονομασία INTERCAL με τον καινοφανή για την τεχνολογία χαρακτηρισμό ΕΣΩΤΕΡΙΚΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ.  Δημιουργοί αυτής της πρώτης γλώσσας είναι οι Donald R. Woods και James M. Lyon.

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

Η εσωτερική γλώσσα προγραμματισμού ή esoteric programming language

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

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

Είναι αξιοσημείωτο ότι από την εμφάνιση της πρώτης εσωτερικής γλώσσας το 1972 και μέχρι το 1991 που εμφανίζεται η δεύτερη μεσολαβεί μία νεκρή περίοδος 20 χρόνων. Το 1991 ο Ward Cunningham δημιουργεί την δεύτερη εσωτερική γλώσσα με την ονομασία Biota και σχεδόν αμέσως την πουλά σε άγνωστους αγοραστές σε ασυνήθιστα υψηλή τιμή. Από τότε η γλώσσα αυτή παραμένει στο σκοτάδι.

Μεταξύ του 1991 και του 1993 συντελείται η κοσμογονική για τον κόσμο της πληροφορικής εξάπλωση του διαδικτύου (internet). Η δημιουργία του ξεκίνησε σαν δίκτυο διασύνδεσης και ανταλλαγής πληροφοριών του αμερικανικού στρατού και έχει καταλήξει εκεί όπου όλοι γνωρίζουμε, δηλαδή ένα παγκόσμιο εργαλείο πληροφορίας και επικοινωνίας όπου όλα πλέον είναι γνωστά στους υπολογιστές και κατ΄επέκταση σε αυτούς που έχουν τη δυνατότητα να τους <ανακρίνουν>.

Την ίδια περίοδο δημιουργούνται και παρουσιάζονται το 1993 τρείς από τις περισσότερο γνωστές εσωτερικές γλώσσες.  Πρώτα εμφανίζεται η γλώσσα False, δημιούργημα  Wouter van Oortmerssen, και αμέσως μετά ο Urban Muller δημιουργεί τη γλώσσα  brainfuck η οποία βασίζεται στην γλώσσα False αλλά με πολύ λιγότερες εντολές και περισσότερο πολύπλοκη.

Η εσωτερική γλώσσα προγραμματισμού brainfuck ( για τους γνώστες της αγγλικής γλώσσας το δεύτερο συνθετικό εκτός από την γνωστή σε όλους ερμηνεία σημαίνει και χαλάω κάτι, ανακατεύω και κάνω μαντάρα κάτι) μπορεί να αποδοθεί στην ελληνική σαν το χάλασμα του μυαλού ή το ανακάτεμα/μπέρδεμα του μυαλού. Και δεν θα μπορούσε να έχει πιο επιτυχημένα περιγραφικό όνομα από αυτό διότι η γλώσσα αυτή αποτελεί πραγματικά το μπέρδεμα και την πρόκληση των προγραμματιστών. Ο δημιουργός της, αλλά και όσοι ασχολήθηκαν με την μελέτη της γλώσσας αυτής, ισχυρίζονται ότι η δημιουργία της είχε εμφανή σκοπό την πρόκληση και δι΄αυτής την διασκέδαση των προγραμματιστών, και ότι δεν προτείνεται για πρακτική εφαρμογή. Αν ήταν όμως έτσι γιατί μέχρι σήμερα εμφανίζονται νέες εκδόσεις? Σε τι αποσκοπούν και γιατί σπαταλούνται χιλιάδες εργατοώρες για την ανάπτυξή της και εξέλιξή της?. Η γνωστότερη έκδοση της γλώσσας brainfuck είναι η  version2 η οποία μάλιστα εμπεριέχει συμβατότητα με τους υπολογιστές Amiga οι οποίοι παρουσίαζαν όταν εμφανίστηκαν τα καλύτερα γραφικά για υπολογιστές. Τα κύρια χαρακτηριστικά της γλώσσας αυτής, που αποτελείται από οκτώ (8) μόνο εντολές, είναι η ελαχιστοποίηση των εντολών που απαιτούνται για τον προγραμματισμό και η δημιουργία πολλών διαλέκτων ή διαφορετικών εκδοχών της γλώσσας ανάλογα με τον τρόπο χρησιμοποίησής της. Η γλώσσα όμως αυτή έχει και μία άλλη παραδοξότητα. Έχει βασιστεί στον κώδικα εντολών <Ρ> που έγραψε το 1964 ο Corrado Boehn. Ο κώδικας αυτός είχε λησμονηθεί μέχρι την εμφάνιση της γλώσσας brainfuck και οι ειδήμονες με έκπληξη διαπίστωσαν ότι ένας παλιός και φαινομενικά ασήμαντος κώδικας αποτελεί την βάση μιας από τις γνωστότερες εσωτερικές γλώσσες μετά από σχεδόν 30 χρόνια.

Το 1993 επίσης εμφανίζεται στο προσκήνιο η εσωτερική γλώσσα Befunge από τον Chris Pressey. Το όνομά της, όπως δήλωσε ο δημιουργός της, αποτελεί τυπογραφικό λάθος της λέξης before. Η γλώσσα αυτή είναι η πρώτη γλώσσα που εκτελείται από δύο κατευθύνσεις με διαφορετικά αποτελέσματα ανά κατεύθυνση και είναι  γλώσσα γενικής χρήσης.

Από το 1993 μέχρι και σήμερα έχουν δημιουργηθεί δεκάδες νεότερες εκδοχές (versions)  των ανωτέρω αναφερόμενων εσωτερικών γλωσσών αλλά και δεκάδες καινούργιες. Μεταξύ αυτών είναι οι γλώσσες Βefunge-97, Funge-98, Unlamda, Thue, BitChanger, Smallfuck, Whitespace, Kipple, Path, Snusp,  όλες χαρακτηρισμένες σαν εσωτερικές.

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

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

Οι εσωτερικές γλώσσες προγραμματισμού των υπολογιστών έχουν όλα τα χαρακτηριστικά του εσωτερισμού. Είναι δημιουργήματα ανθρώπων με υψηλή νοημοσύνη και ειδικές γνώσεις. Είναι γνωστές μόνο σε μία μικρή ομάδα ανθρώπων που μπορούν να συνεννοούνται μεταξύ τους  με κωδικοποιημένες έννοιες και σύμβολα. Οι εσωτεριστές θεωρούν ότι κατέχουν κάποια άλλη γνώση, που κρύβεται πίσω από τις λέξεις, τα πράγματα και τις έννοιες. Οι προγραμματιστές, όμως, αλλά περισσότερο οι χρήστες αυτών των εσωτερικών γλωσσών προγραμματισμού θεωρούν ότι μέσω αυτών μπορούν να ελέγχουν τους υπολογιστές με τρόπους που δεν μπορούν να είναι εμφανείς. Άλλωστε οι εξελίξεις γύρω από τους υιούς των υπολογιστών (virus)  αλλά και τις παρακολουθήσεις των επικοινωνιών που διεξάγονται μέσω ηλεκτρονικών υπολογιστών, είναι τέτοιες που οδηγούν σε σκέψεις για χρησιμοποίηση, είτε αυτών των εσωτερικών γλωσσών είτε  άλλων που δημιουργήθηκαν βάσει αυτών, για την απόκτηση δύναμης επικυριαρχίας μετατρέποντας σε πραγματικότητα την <Φάρμα των Ζώων> του Όργουελ.

Advertisements

Σχολιάστε

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s

Kατηγορίες

Αρέσει σε %d bloggers: