.
Πληροφορική ή επιστήμη υπολογιστών ονομάζεται η θετική και εφαρμοσμένη επιστήμη η οποία ερευνά τα θεωρητικά θεμέλια και τη φύση των πληροφοριών, των αλγορίθμων και των υπολογισμών, καθώς και τις τεχνολογικές εφαρμογές τους σε αυτοματοποιημένα υπολογιστικά συστήματα, από τη σκοπιά της σχεδίασης, της ανάπτυξης, της υλοποίησης, της διερεύνησης, της ανάλυσης και της προδιαγραφής τους[1][2][3][4][5][6]. Ασχολείται με τη συστηματική μελέτη της σκοπιμότητας, της δομής, της έκφρασης και του μηχανισμού των μεθοδικών διεργασιών (ή αλγορίθμων) που αποτελούν τη βάση, την απόκτηση, την εκπροσώπηση, την επεξεργασία, την αποθήκευση, την επικοινωνία και την πρόσβαση στις πληροφορίες.Ένας εναλακτικός ορισμός της επιστήμης των υπολογιστών είναι η μελέτη της αυτοματοποίησης αλγοριθμικών διεργασιών που κλιμακώνονται. Ένας επιστήμονας πληροφορικής που ειδικεύεται στη θεωρία της υπολογιστικής ισχύος και το σχεδιασμό των υπολογιστικών συστημάτων[7].
Τα εν λόγω υπολογιστικά συστήματα συνήθως είναι ηλεκτρονικές και ψηφιακές συσκευές, όμως τυπικά αυτό δεν είναι απαραίτητο αφού έχουν υπάρξει και μηχανικοί ή κβαντικοί υπολογιστές. Καθώς τα δεδομένα εισόδου, τα οποία ένας αλγόριθμος επεξεργάζεται, και τα δεδομένα εξόδου, τα οποία παράγει μετά την επεξεργασία και τη λήξη των υπολογισμών, αποτελούν κωδικοποιημένες πληροφορίες, η πληροφορική μπορεί επίσης να γίνει αντιληπτή ως η επιστήμη που ερευνά θεωρητικές μεθόδους και πρακτικούς μηχανισμούς διαχείρισης πληροφοριών[8]. H πληροφορική ως διακριτή επιστήμη κάνει την εμφάνισή της τη δεκαετία του 1940, όταν κατασκευάστηκαν οι πρώτες υπολογιστικές μηχανές γενικού σκοπού και τέθηκαν τα θεωρητικά θεμέλια του υπολογισμού. Η δημιουργία των πρώτων ακαδημαϊκών τμημάτων έγινε τη δεκαετία του 1960[9], ενώ η διάχυση των προϊόντων της στην κοινωνία (τεχνολογία πληροφοριών και επικοινωνίας) άρχισε να λαμβάνει χώρα ευρέως μετά το 1970, με αποτέλεσμα σημαντικές κοινωνικές, οικονομικές και τεχνολογικές αλλαγές σε διεθνές επίπεδο[10].
Η αυτοματοποιημένη υλοποίηση των μεθόδων της πληροφορικής βασίστηκε από την πρώτη στιγμή στους ηλεκτρονικούς υπολογιστές (Η/Υ). Ωστόσο, αυτή έχει έναν ευρύτερο σκοπό που δεν περιορίζεται σε συγκεκριμένες τεχνολογικές επιλογές. Για παράδειγμα, ο αλγόριθμος της δυαδικής αναζήτησης μπορεί να εφαρμοστεί και σε τηλεφωνικό κατάλογο «χειρωνακτικά», από έναν άνθρωπο χωρίς τη βοήθεια υπολογιστή ο οποίος εκτελεί τους σχετικούς υπολογισμούς με τον νου του, ενώ ένα πρωτόκολλο επικοινωνίας μπορεί να εφαρμοστεί ακόμη και σε σήματα καπνού - όχι μόνο σε τηλεπικοινωνιακά δίκτυα. Η πληροφορική επομένως, αναλόγως με το επίπεδο αφαίρεσης, μπορεί να μελετηθεί είτε ανεξάρτητα από τις τεχνολογικές της συνιστώσες, είτε ως ένα ενιαία με αυτές επιστήμη. Επίσης, με την πληροφορική σχετίζεται και η διερεύνηση φυσικών διεργασιών επεξεργασίας πληροφοριών (βλ. γνωσιακή επιστήμη).
Από ορισμένους έχει υποστηριχθεί ότι η πληροφορική, με κεντρικό άξονα τις έννοιες της πληροφορίας, του υπολογισμού και της αυτοματοποίησης, συνθέτει σε ένα διακριτό σύνολο τις μεθοδολογικές παραδόσεις των θετικών επιστημών («μαθηματική» προσέγγιση), των φυσικών επιστημών («εμπειρική» προσέγγιση) και των επιστημών μηχανικών (προσέγγιση «μηχανικού»)[9]. Ακόμα έχει διατυπωθεί η άποψη πως η έρευνα για τον φυσικό κόσμο, η οποία κατά παράδοση διακρίνεται μεθοδολογικά σε «θεωρητικές» προσεγγίσεις (κομψές, αφηρημένες, στηριγμένες σε απλουστευτικές υποθέσεις και λογικούς κανόνες) και σε «πειραματικές» προσεγγίσεις (εστιασμένες στον θόρυβο, στην τυχαιότητα και στα σφάλματα του πραγματικού κόσμου), με την πληροφορική συμπληρώνεται από μία τρίτη προσέγγιση βασισμένη στην in silico προσομοίωση φυσικών φαινομένων. Η προσέγγιση αυτή συνθέτει τις ιδιότητες και ενσωματώνει τα χαρακτηριστικά και των δύο προηγούμενων[11]. Ως αποτέλεσμα, η κατάληξη σε μία κοινά αποδεκτή συναίνεση όσον αφορά έναν ενιαίο και συνεκτικό ορισμό της πληροφορικής, ή την οριστική και αποκλειστική κατάταξή της είτε στις θετικές επιστήμες είτε στις επιστήμες μηχανικών, έχει μέχρι στιγμής καταστεί αδύνατη[12].
Η πληροφορική δεν πρέπει να συγχέεται με τη θεωρία πληροφορίας, ένα πεδίο των εφαρμοσμένων μαθηματικών, ή τη βιβλιοθηκονομία και επιστήμη πληροφόρησης, έναν σύνθετο και πολύ διαφορετικό γνωστικό κλάδο που σχετίζεται με την οργάνωση και διαχείριση βιβλιοθηκών και αυτόματων συστημάτων πληροφόρησης, αξιοποιώντας ορισμένα από τα τεχνολογικά εργαλεία που παρέχει η πληροφορική. Επίσης, η ιδιότητα του επιστήμονα της πληροφορικής δεν πρέπει να συγχέεται με την επαγγελματική ιδιότητα του προγραμματιστή, δηλαδή ατόμου βιοποριζόμενου από την ανάπτυξη λογισμικού υπολογιστών, εφόσον η πληροφορική δεν συνίσταται στον ίδιο τον προγραμματισμό μα στην επιστημονική μελέτη των αλγορίθμων και της σχεδίασης, ανάλυσης και κατασκευής υλικού ή λογισμικού υπολογιστών και αποδοτικών, αυτοματοποιημένων υπολογιστικών υποδομών για τη μηχανική εκτέλεση αλγορίθμων[5][13][14]. Η πληροφορική αξιοποιεί επομένως τον προγραμματισμό όχι ως αυτοσκοπό, μα ως ένα από τα βασικά εργαλεία της και από τα κύρια αντικείμενα μελέτης της[4]. Ωστόσο, είναι σύνηθες ένας επαγγελματίας προγραμματιστής να έχει σπουδάσει σε κάποιον βαθμό την επιστήμη της πληροφορικής. Τέλος, η πληροφορική δεν πρέπει να συγχέεται απλά με τις δεξιότητες χρήσης Η/Υ και έτοιμων πακέτων λογισμικού (π.χ. επεξεργαστών κειμένου κλπ.), αφού η απλή χρήση των υπολογιστών δεν έχει επιστημονικό χαρακτήρα και σκοπό.
Τα πεδία της πληροφορικής μπορούν να διαιρεθούν σε μια ποικιλία θεωρητικών και πρακτικών κλάδων. Κάποια από τα πεδιά αυτά, όπως η θεωρία υπολογιστικής πολυπλοκότητας, που εξερευνά τις θεμελιώδεις ιδιότητες των υπολογιστικών και δυσεπίλυτων προβλημάτων, είναι πολύ αφηρημένα, ενώ τομείς όπως τα γραφικά υπολογιστών δίνουν έμφαση σε οπτικές εφαρμογές του πραγματικού κόσμου. Ακόμη σε άλλους τομείς επικεντρώνεται στις προκλήσεις των εφαρμογών υπολογισμού. Για παράδειγμα, η θεωρία γλωσσών προγραμματισμού θεωρεί διάφορες προσεγγίσεις για την περιγραφή των υπολογισμών, ενώ η μελέτη του προγραμματισμού ηλεκτρονικών υπολογιστών ερευνά διάφορες πτυχές της χρήσης της γλώσσας προγραμματισμού και τα πολύπλοκα συστήματα. Η αλληλεπίδραση ανθρώπου-υπολογιστή εξετάζει τις προκλήσεις στην κατασκευή των ηλεκτρονικών υπολογιστών, κάνοντας τους υπολογισμούς όσο το δυνατό πιο χρήσιμο, εύχρηστο, και καθολικά προσβάσιμο στους ανθρώπους.
Ορισμός και συγγενείς επιστήμες
Γλυπτό του Άλαν Τιούρινγκ, του «πατέρα της πληροφορικής και της τεχνητής νοημοσύνης».
Η πληροφορική συσχετίζεται στενά με άλλους επιστημονικούς κλάδους οι οποίοι, παρά τις σημαντικές διαφορές όσον αφορά την έμφαση και τις ιστορικές ρίζες, επικαλύπτονται με επιμέρους πεδία της.
Κυβερνητική
Γλωσσολογία
Μαθηματική λογική
Στατιστική
Εφαρμοσμένα μαθηματικά
Ηλεκτρονική
Επιστήμη ηλεκτρολόγου μηχανικού
Γνωσιακή επιστήμη
Υπολογιστική επιστήμη
Υπολογιστικά μαθηματικά
Υπολογιστική φυσική
Υπολογιστική χημεία
Υπολογιστική βιολογία
Υπολογιστική γλωσσολογία
Υπολογιστική νευροεπιστήμη
Η επιστήμη υπολογιστών, όρος καταγόμενος από την αγγλική γλώσσα («computer science»), με την ευρεία έννοια ταυτίζεται με την πληροφορική (αγγλ.: «informatics»)[15], ωστόσο χρησιμοποιείται εναλλακτικά και με μια πιο στενή έννοια η οποία εννοεί αποκλειστικά τη θεωρητική πληροφορική και τα συναφή μαθηματικά της θεμέλια. Σε αυτή την περίπτωση μόνο, συνήθως θεωρείται πως η πληροφορική συμπεριλαμβάνει τη μηχανική λογισμικού, τα υπολογιστικά συστήματα και τη μηχανική υπολογιστών, ενώ η επιστήμη υπολογιστών όχι. Τελείως αντίστοιχα, ενώ στην Ελλάδα έχει επικρατήσει ο όρος πληροφορικός για την περιγραφή του κατάλληλα καταρτισμένου επιστήμονα, στον αγγλοσαξονικό κόσμο επικρατεί ο όρος επιστήμονας υπολογιστών. Ο Έντσγκερ Ντάικστρα (Edsger Dijkstra), χρησιμοποιώντας τη στενή και περιορισμένη έννοια της επιστήμης υπολογιστών, έχει πει:
Η επιστήμη υπολογιστών έχει τόση σχέση με τους υπολογιστές, όση έχει η αστρονομία με το τηλεσκόπιο.
Ο φυσικός Ρίτσαρντ Φάινμαν (Richard Feynman) έχει πει:
Η επιστήμη υπολογιστών δεν είναι τόσο παλιά όσο η φυσική, υστερεί χρονικά μερικούς αιώνες. Ωστόσο, αυτό δεν σημαίνει ότι υπάρχουν λιγότερα στο πιάτο του επιστήμονα των υπολογιστών απ' ότι σε αυτό του φυσικού: μπορεί να είναι νεότερη αλλά είχε μια πολύ πιο έντονη γέννηση!
Η πληροφορική περιέχει πολλά γνωστικά πεδία, κάποια εκ των οποίων δίνουν έμφαση στον υπολογισμό συγκεκριμένων αποτελεσμάτων (όπως τα γραφικά υπολογιστών), κάποια σχετίζονται με ιδιότητες υπολογιστικών προβλημάτων (όπως η θεωρία πολυπλοκότητας), ενώ άλλα επικεντρώνονται στις προκλήσεις που παρουσιάζονται κατά την υλοποίηση υπολογισμών από τη σκοπιά του υλικού και του λογισμικού. Για παράδειγμα, η θεωρία γλωσσών προγραμματισμού μελετά προσεγγίσεις για την περιγραφή υπολογισμών, ο προγραμματισμός υπολογιστών εφαρμόζει συγκεκριμένες γλώσσες προγραμματισμού για να λύσει προκαθορισμένα υπολογιστικά προβλήματα, ενώ τα λειτουργικά συστήματα ενδιαφέρονται για τη σχεδίαση και κατασκευή αποδοτικών υποδομών λογισμικού για την εκτέλεση υπολογισμών με όσο το δυνατόν καλύτερη αξιοποίηση του διαθέσιμου υλικού. Ο κλάδος της αλληλεπίδρασης ανθρώπου-υπολογιστή ασχολείται με το ζήτημα της ευχρηστίας και προσβασιμότητας των υπολογιστών, όσον αφορά το ευρύ κοινό. Σχεδόν όλα τα πεδία της πληροφορικής μπορούν να ταξινομηθούν σε έναν από τους πέντε βασικούς κλάδους της:
Θεωρητική πληροφορική
Λογισμικό
Μηχανική υπολογιστών
Υπολογιστικά συστήματα
Εφαρμογές υπολογιστών
Ορισμένοι στις αγγλοσαξονικές χώρες διαχωρίζουν την πληροφορική σε επιμέρους επιστήμες[16], διακρίνοντας μεταξύ επιστήμης υπολογιστών, πληροφοριακών συστημάτων και μηχανικής υπολογιστών: η πρώτη σ' αυτή την περίπτωση έχει τον στενό ορισμό της θεωρητικής πληροφορικής και της μαθηματικής της βάσης, τα πληροφοριακά συστήματα ορίζονται ως ένα μείγμα των πρακτικών όψεων της πληροφορικής, της διοίκησης επιχειρήσεων και των οικονομικών με στόχο τη δημιουργία συστημάτων που καλύπτουν τις πληροφοριακές ανάγκες επιχειρήσεων και άλλων οργανισμών, ενώ η μηχανική υπολογιστών γίνεται αντιληπτή ως ένας συναφής κλάδος ασχολούμενος με τη σχεδίαση και υλοποίηση υλικού υπολογιστών. Στον βαθμό που το υλικό αυτό είναι ηλεκτρονικής φύσης, η μηχανική υπολογιστών μελετάται και από την ηλεκτρονική μηχανική. Με παρόμοια λογική διατυπώνεται και η διάκριση μεταξύ επιστήμης υπολογιστών και μηχανικής λογισμικού, όπου ο κλάδος αυτός επικεντρώνεται στη συστηματική ανάπτυξη λογισμικού για συγκεκριμένες εφαρμογές, με τυποποιημένες μεθόδους, επιστημονικές αρχές και γνώμονα τις ανάγκες της βιομηχανίας λογισμικού. Ωστόσο δεν υφίσταται κάποια καθολικά αποδεκτή διάκριση ορισμού μεταξύ «απλού» προγραμματισμού υπολογιστών και μηχανικής λογισμικού, οι επιμέρους τομείς που αναφέρθηκαν εναλλακτικά κατανοούνται μόνο ως διαφορετικοί, αλληλοεπικαλυπτόμενοι τρόποι προσέγγισης των ζητημάτων της πληροφορικής και όχι ως διακριτές επιστήμες[17], ενώ τα περισσότερα πανεπιστημιακά τμήματα πληροφορικής εφαρμόζουν στην πράξη ένα ενιαίο πρόγραμμα σπουδών το οποίο συμπεριλαμβάνει και τους πέντε κλάδους της επιστήμης[18][19].
Ιστορία της πληροφορικής
Η Άντα Λάβλεϊς έγραψε το πρώτο πρόγραμμα υπολογιστή κατά τον 19ο αιώνα για την Αναλυτική Μηχανή του Μπάμπατζ, πολύ πριν από την εμφάνιση ηλεκτρονικών υπολογιστών. Η γλώσσα προγραμματισμού Ada έχει ονομαστεί έτσι προς τιμήν της.
Η προϊστορία της πληροφορικής εντοπίζεται τόσο στη μαθηματική μελέτη των αλγορίθμων, όσο και σε ποικίλες απόπειρες κατασκευής υπολογιστικών μηχανών με στόχο την αυτοματοποίηση αριθμητικών υπολογισμών. Αποσπασματικές προσπάθειες ενταγμένες στα δύο αυτά εγχειρήματα μπορούν να ανιχνευθούν από την Αρχαιότητα μέχρι και τον 19ο αιώνα, πολύ πριν από την ανάπτυξη των σύγχρονων ψηφιακών υπολογιστών. Σημαντικοί σταθμοί στην εν λόγω ιστορική διαδρομή υπήρξαν η κατασκευή του μηχανισμού των Αντικυθήρων, του πρώτου μηχανικού υπολογιστή (περιορισμένων βεβαίως δυνατοτήτων) ο οποίος κατασκευάστηκε ποτέ και διασώζεται μέχρι σήμερα, η διατύπωση αλγορίθμων σε φυσική γλώσσα από τον Ευκλείδη και τον Ερατοσθένη, η πρώιμη μελέτη της έννοιας του αλγορίθμου από τον Πέρση μαθηματικό του Μεσαίωνα Αλ Χουαρίζμι στο πλαίσιο της πρώτης πλήρους πραγματείας περί άλγεβρας, η κατασκευή της πρώτης μηχανικής αριθμομηχανής από τον Μπλεζ Πασκάλ το 1645, καθώς και ο μηχανικός υπολογιστής του Τσαρλς Μπάμπατζ στα μέσα του 19ου αιώνα, πρόγονος των καθολικών υπολογιστών γενικού σκοπού, ο οποίος όμως απέτυχε να επηρεάσει σημαντικά την τεχνολογία της εποχής του. Στη συνέχεια, προτού γίνει ξεχωριστή επιστήμη, η πληροφορική εμφανίστηκε σαν πεδίο των διακριτών μαθηματικών κατά τη δεκαετία του 1930, μετά την αυστηρή μαθηματική τυποποίηση των εννοιών του αλγορίθμου και του υπολογισμού από τους μαθηματικούς Άλαν Τιούρινγκ και Αλόνζο Τσερτς.
Ο ENIAC (1946) υπήρξε ο πρώτος επαναπρογραμματιζόμενος ηλεκτρονικός υπολογιστής γενικού σκοπού, ικανοποιώντας τα κριτήρια του Τιούρινγκ περί καθολικής επιλυσιμότητας (ήταν δηλαδή θεωρητικά σε θέση να εκτελέσει κάθε δυνατό αλγόριθμο), δίνοντας μια αρχική ώθηση στην επιστημονική ανεξαρτητοποίηση της πληροφορικής[9]. Οι υπολογιστές που είχαν προηγηθεί του ENIAC ήταν είτε μηχανικές κατασκευές ειδικού σκοπού (π.χ. ο μηχανισμός των Αντικυθήρων), είτε ηλεκτρομηχανολογικές κατασκευές (π.χ. Ζ3), είτε ηλεκτρονικές συσκευές που δεν είχαν όμως καθολικές δυνατότητες υπολογισιμότητας (π.χ. Colossus). Από τα τέλη της δεκαετίας του 1950, οπότε καθιερώθηκε η αρχιτεκτονική φον Νόιμαν των σύγχρονων ψηφιακών υπολογιστών, η αυτονομημένη πλέον πληροφορική άρχισε να αναπτύσσεται σε μεγάλο βαθμό ανεξάρτητα από τις ίδιες τις μηχανές, με την πλήρη ακαδημαϊκή αναγνώρισή της ως ξεχωριστής επιστήμης, χαρακτηριζόμενης από τη δική της παράδοση και ιδιότητες, να συμβαίνει σταδιακά κατά τη δεκαετία του 1960[20]. Η πολύ μεγάλη επιρροή της, ακολούθως, στην ανάδυση των ρηξικέλευθων τεχνολογιών πληροφοριών και επικοινωνίας (ΤΠΕ), έχει οδηγήσει διεθνώς μετά το 1970 σε κοινωνικές εξελίξεις που πολλοί εκλαμβάνουν ως «επανάσταση της πληροφορίας», «παγκόσμιο χωριό» και «κοινωνία της γνώσης»[10]. Ταυτόχρονα, η πληροφορική αποτέλεσε το επιστημονικό υπόβαθρο επί του οποίου στηρίχθηκε η σύγχρονη βιομηχανία ανάπτυξης και συντήρησης λογισμικού, κυρίως μετά την καθιέρωση των προσωπικών υπολογιστών[21], φτάνοντας τελικά να αποτελεί έναν ευμεγέθη τομέα της οικονομίας[22].
Σήμερα η πληροφορική ασχολείται επιστημονικά με ένα ευρύ φάσμα θεμάτων, όπως η ανάπτυξη αλγορίθμων για την αποτελεσματική επίλυση προβλημάτων, η κατασκευή και βελτίωση συστημάτων λογισμικού και υλικού υψηλής απόδοσης, η ταχεία και ασφαλής διακίνηση πληροφοριών μέσω τηλεπικοινωνιακών δικτύων, η δημιουργία συστημάτων διαχείρισης δεδομένων, η διερεύνηση του τρόπου με τον οποίο ο άνθρωπος διατυπώνει συλλογισμούς, η προσομοίωση της λειτουργίας του ανθρώπινου εγκεφάλου κλπ. Έτσι, η πληροφορική συνδέεται άμεσα με όλες τις θετικές επιστήμες, αλλά και με τη φιλοσοφία, την ψυχολογία, τη γλωσσολογία, τη νομική, την ιατρική, τα οικονομικά και τη διοίκηση επιχειρήσεων. Προς τιμήν του Άλαν Τιούρινγκ, κάθε έτος από το 1966 κι έπειτα ο διεθνής «Σύλλογος Μηχανημάτων Υπολογισμού» (Association for Computing Machinery, ACM) απονέμει το Βραβείο Τιούρινγκ σε έναν επιστήμονα του χώρου με αναγνωρισμένη σημαντική συνεισφορά. Το Βραβείο Τιούρινγκ έχει αποκληθεί «Βραβείο Νόμπελ της πληροφορικής»[23].
Κλάδοι της πληροφορικής
Η πληροφορική συνίσταται σε πέντε βασικούς κλάδους. Τα επιμέρους πεδία τους παρατίθενται παρακάτω, από κοινού με τα θεμελιώδη πεδία των μαθηματικών στα οποία η πληροφορική εν πολλοίς στηρίζεται (ενότητα «Μαθηματικά θεμέλια»).
Μαθηματικά θεμέλια
Αριθμητική ανάλυση
Άλγεβρα Μπουλ
Διακριτά μαθηματικά
Θεωρία γράφων
Μαθηματική λογική
Θεωρία πεδίων
Πιθανότητες
Στατιστική
Επεξεργασία σήματος
Θεωρία πληροφοριών
Θεωρητική πληροφορική
Θεωρία τυπικών γλωσσών
Θεωρία υπολογισμού
Ανάλυση αλγορίθμων
Θεωρία πολυπλοκότητας
Τυπική επαλήθευση
Δομές δεδομένων
Θεωρία γλωσσών προγραμματισμού
Κατανεμημένος υπολογισμός
Υπολογιστική γεωμετρία
Κρυπτολογία
Θεωρία ουρών αναμονής
Κβαντικός υπολογισμός
Μηχανική υπολογιστών
Ολοκληρωμένα κυκλώματα
VLSI
Λογική σχεδίαση
Αρχιτεκτονική υπολογιστών
Μικροπρογραμματισμός
Μικροεπεξεργαστές
Ψηφιακές επικοινωνίες
Υπολογιστικά συστήματα
Δίκτυα υπολογιστών
Προγραμματισμός δικτύων
Κατανεμημένα συστήματα
Παράλληλα συστήματα
Παράλληλος προγραμματισμός
Λειτουργικά συστήματα
Ενσωματωμένα συστήματα
Συστήματα πραγματικού χρόνου
Κινητά συστήματα
Ασφάλεια υπολογιστικών συστημάτων
Λογισμικό
Μηχανική λογισμικού
Προγραμματισμός υπολογιστών
Αντικειμενοστρεφής σχεδίαση
Σχεδιαστικά πρότυπα
Ανάλυση απαιτήσεων
Ποιότητα λογισμικού
Μεταγλωττιστές
Βελτιστοποίηση προγραμμάτων
Βάσεις δεδομένων
Ανάκτηση πληροφορίας
Εφαρμογές υπολογιστών
HONDA ASIMO.jpg
Γραφικά υπολογιστών
CAD και CAM
Αλληλεπίδραση ανθρώπου-υπολογιστή
Τεχνητή νοημοσύνη
Συστήματα γνώσης
Επίλυση προβλημάτων
Μηχανική μάθηση
Εξόρυξη δεδομένων
Αναγνώριση προτύπων
Μηχανική όραση
Ρομποτική
Επεξεργασία φυσικής γλώσσας
Βιοπληροφορική
Επεξεργασία ήχου
Επεξεργασία εικόνας και βίντεο
Συμπίεση δεδομένων
Ετυμολογία της πληροφορικής
Το 1957 επινοήθηκε ο όρος informatik από τον Γερμανό επιστήμονα Καρλ Στάινμπουχ (Karl Steinbuch), ο οποίος εξέδωσε μία εργασία με τίτλο Informatik: Automatische Informationsverarbeitung («Πληροφορική: Αυτόματη Επεξεργασία Πληροφοριών»)[24]. Από εκεί προέκυψε κατόπιν, ως δάνειο, η αγγλική λέξη informatics (=πληροφορική). Την ίδια περίοδο στις ΗΠΑ, ο όρος computer science (=επιστήμη υπολογιστών) εμφανίστηκε γραπτώς το 1959 σε επιστημονικό άρθρο[25] ο συγγραφέας του οποίου ζητούσε την ίδρυση «Σχολής Επιστημών Υπολογιστών» (School of Computer Sciences), κατ' αναλογία με τη «Σχολή Διοίκησης Επιχειρήσεων» του Πανεπιστημίου του Χάρβαρντ που είχε ιδρυθεί το 1921. Το προτεινόμενο όνομα δικαιολογούνταν με το σκεπτικό ότι αυτή η «επιστήμη υπολογιστών», όπως η «επιστήμη διαχείρισης» (η σημερινή επιχειρησιακή έρευνα) είναι εφαρμοσμένος και διεπιστημονικός γνωστικός τομέας, αλλά με όλα τα χαρακτηριστικά ενός διακριτού ακαδημαϊκού πεδίου. Οι εν λόγω προσπάθειες ευοδώθηκαν και αρκετά Πανεπιστήμια στις ΗΠΑ άρχισαν να ιδρύουν τμήματα πληροφορικής υπό τον τίτλο «Επιστήμης Υπολογιστών», με πρώτο το Πανεπιστήμιο Περντιού το 1962[20].
Το 1962 επινοήθηκε επίσης ο ομόηχος με το γερμανικό informatik όρος informatique, από τον Γάλλο Φιλίπ Ντρέυφους[26], ως συνδυασμός των λέξεων information (=πληροφορία) και automatic (=αυτόματη), προκειμένου να περιγραφεί η επιστήμη της αυτόματης επεξεργασίας πληροφοριών. Από τα γαλλικά ο όρος πέρασε στις υπόλοιπες λατινογενείς γλώσσες, στις σλαβικές γλώσσες και, τελικά, στα ελληνικά ως πληροφορική. Η κατάληξη (-ique στα γαλλικά, -ics στα αγγλικά, -ική στα ελληνικά) επιλέχθηκε ώστε να ταιριάζει με προϋπάρχοντα ονόματα επιστημονικών πεδίων αλλά και πρακτικών εφαρμογών (π.χ. φυσική, πολιτική, τακτική κλπ).
Το γαλλογερμανικό informatik / informatique πολύ γρήγορα μετά την εμφάνισή του, ύστερα από μία αρχική περίοδο σύγχυσης, άρχισε να γίνεται αντιληπτό ως συνώνυμο του αγγλοσαξονικού όρου computer science[27]. Ωστόσο η επιστήμη υπολογιστών κατανοείται εναλλακτικά και ως ένα πιο περιορισμένο επιστημονικό πεδίο, προσανατολισμένο μόνο στη θεωρητική πληροφορική και στα μαθηματικά της θεμέλια (όπως συμβαίνει στο διάσημο απόφθεγμα του Έντσγκερ Ντάικστρα)[16][28], αντίληψη που σήμερα απέχει από την κοινή ομολογία και τα καταρτισμένα προγράμματα σπουδών πληροφορικής ανά τον κόσμο. Το 1966, ο Δανός επιστήμονας Πέτερ Νάουρ πρότεινε εναλλακτικά τον όρο datalogy (ελεύθερη απόδοση: δεδομενολογία) για να περιγράψει την πληροφορική, δίνοντας έτσι λεκτική έμφαση όχι στους ίδιους τους υπολογιστές αλλά στην αξιοποίησή τους για αυτοματοποιημένη επεξεργασία δεδομένων[29], με το σκεπτικό ότι ένα σημαντικό μέρος της πληροφορικής δεν αφορά τις ίδιες τις υπολογιστικές μηχανές. Η προσπάθεια αυτή δεν είχε απήχηση και ο όρος περιορίστηκε στις σκανδιναβικές χώρες, ενώ σε κάθε περίπτωση στα γερμανικά η λέξη informatik συνιστά την ορθή μετάφραση του αγγλικού όρου computer science[27].
Κουλτούρα της πληροφορικής
Το «έμβλημα» το οποίο πρότεινε ο προγραμματιστής του κινήματος ελεύθερου λογισμικού Έρικ Ρέιμοντ για την υποκουλτούρα των χάκερ, βασισμένο στο δημοφιλές κυτταρικό αυτόματο «Παιχνίδι της Ζωής».
Η κουλτούρα της πληροφορικής ως επιστήμης δεν πρέπει να συγχέεται με τις πολιτισμικές τεχνολογικές υποκουλτούρες οι οποίες σχηματίστηκαν από ενθουσιώδεις χομπίστες μετά την ευρεία διάδοση των προσωπικών υπολογιστών (π.χ. χάκερ, κράκερ, οπαδοί της σκηνής των ντέμο, κυβερνοαθλητές, συμμετέχοντες στην υποκουλτούρα του κυβερνοχώρου και της κυβερνοδέλειας κοκ.). Δεν πρέπει επίσης να συγχέεται με την επαγγελματική κουλτούρα της βιομηχανίας λογισμικού ή, ευρύτερα, των εργαζομένων στις τεχνολογίες πληροφοριών και επικοινωνίας. Ισχύει ωστόσο ότι η πληροφορική παρέχει το απαιτούμενο επιστημονικό υπόβαθρο και τα περισσότερα απαραίτητα τεχνολογικά εργαλεία στις ανωτέρω κοινότητες, όπως και ότι η αυθεντική υποκουλτούρα των χάκερ της δεκαετίας του 1960 είχε προέλθει από επιστημονικούς κύκλους στις ΗΠΑ[30].
Η κουλτούρα της πληροφορικής αφορά τα πολιτισμικά και ανθρωπολογικά συμφραζόμενα της επιστήμης της πληροφορικής και όσων των εξασκούν, σε ακαδημαϊκούς χώρους ή μη. Σύμφωνα με έρευνες, ιδιαίτερα χαρακτηριστικά της κουλτούρας της πληροφορικής είναι η μικρή συμμετοχή γυναικών σε αυτήν[31], η ελλιπής ικανότητα αποδοτικής συνεργασίας στο πλαίσιο μεγάλων ομάδων[32], παρά την επαρκή τεχνική κατάρτιση, και η έμφαση στην καινοτομία εις βάρος άλλων στόχων και παραγόντων[33]. Έχει υποστηριχθεί πως η πολιτισμική υποκουλτούρα των χάκερ και η σύνδεσή της με την επιστήμη της πληροφορικής ενισχύει διάχυτα στερεότυπα περί της τελευταίας ως ανδροκρατούμενου και μηχανοκεντρικού γνωστικού τομέα, απομακρύνοντας έτσι περαιτέρω τις γυναίκες από αυτήν[34][35][36]. Σύμφωνα με μελέτες, οι γυναίκες φοιτήτριες συνήθως επιδεικνύουν χαρακτηριστικά τα οποία δεν ταιριάζουν με τη συμβατική κουλτούρα της πληροφορικής: χαμηλότερη αυτοεκτίμηση, μικρή πρακτική εμπειρία με ηλεκτρονικούς υπολογιστές, πιο πολύπλευρα ενδιαφέροντα και πιο συνεργατικό τρόπο εργασίας, σε σύγκριση με τους άρρενες συναδέλφους τους[37].
Κατ' ορισμένους, η κουλτούρα της πληροφορικής διαμορφώθηκε επίσης από τον Ψυχρό Πόλεμο κατά τις δεκαετίες του 1960 και του 1970, καθώς η κυβέρνηση των ΗΠΑ ήταν βασικός χρηματοδότης στη διεθνή έρευνα περί υπολογιστικών συστημάτων. Έχει υποστηριχθεί ακόμα ότι αυτό το γεγονός υπήρξε βασικός παράγοντας για τη «γνωστική στροφή» στην ψυχολογία μετά τη δεκαετία του 1950, και τη μετατροπή του υπολογιστή σε θεμελιώδη εννοιολογική μεταφορά για τη μελέτη του ανθρώπινου νου (π.χ. στη γνωστική ψυχολογία και στη φιλοσοφία της νόησης)[38]. Κατ' αντιδιαστολή, η πιο πρόσφατη πολιτισμική ιστορία της πληροφορικής, στο πλαίσιο της ανάδυσης και ευρύτατης διάδοσης στην κοινωνία των προσωπικών υπολογιστών και της τεχνολογίας πληροφοριών και επικοινωνίας, έχει συνδεθεί με την αντικουλτούρα της δεκαετίας του 1960 και τη συναφή εξάπλωση της χρήσης ψυχοτρόπων ουσιών[39].
Φιλοσοφία της πληροφορικής
Η φιλοσοφία της πληροφορικής ή φιλοσοφία της επιστήμης υπολογιστών, δηλαδή η ορθολογική διερεύνηση των θεμελιωδών υποθέσεων και στόχων της πληροφορικής[40], σχηματίστηκε σταδιακά ως τομέας ακαδημαϊκής μελέτης κατά το δεύτερο ήμισυ του 20ου αιώνα, παράλληλα με την ίδια την πληροφορική. Ωστόσο, μόνο μετά την αλλαγή της χιλιετίας το 2000 άρχισε να αποτελεί διακριτό γνωστικό αντικείμενο, στα πρότυπα άλλων κλάδων της φιλοσοφίας της επιστήμης. Εξαίρεση αποτελεί το επιμέρους πεδίο της ονόματι φιλοσοφία της τεχνητής νοημοσύνης, το οποίο είχε αναδυθεί ταυτόχρονα με την ίδια την τεχνητή νοημοσύνη ήδη από τη δεκαετία του '50, σε επικάλυψη με την προϋπάρχουσα φιλοσοφία της νόησης και παράλληλα με τον διακλαδικό τομέα της γνωσιακής επιστήμης (συμβατικά αποδεκτό έτος εμφάνισης: 1956[41]). Παρακάτω, επομένως, εξετάζεται συνοπτικά η φιλοσοφία της πληροφορικής χωρίς να περιλαμβάνεται στην εν λόγω περιγραφή η φιλοσοφία της τεχνητής νοημοσύνης, λόγω της διαφορετικής ιστορικής διαδρομής, αν και στην πραγματικότητα πρόκειται για το πιο πλούσιο και θεωρητικά μελετημένο επιμέρους πεδίο της[40].
Η ταυτότητα των προγραμμάτων
Η οντολογική όψη της διάκρισης μεταξύ υλικού και λογισμικού, καθώς και ο εγγενώς διττός χαρακτήρας των προγραμμάτων, συνιστούν ένα βασικό αντικείμενο διερεύνησης στον τομέα. Υλικό και λογισμικό είναι λογικά ισοδύναμα: οτιδήποτε μπορεί να γραφεί ως λογισμικό (σύνολο εντολών προς το υλικό) μπορεί να υλοποιηθεί εναλλακτικά απευθείας σε υλικό, και αντιστρόφως[42]. Ακόμα, ένα πρόγραμμα μπορεί να ιδωθεί είτε ως επεξεργάσιμο κείμενο (πηγαίος κώδικας) είτε ως αφηρημένη, μηχανική διαδικασία υπολογισμού (υλοποίηση αλγορίθμου εκτελούμενη στον υλικό επεξεργαστή). Έτσι, ένα σημαντικό μέρος του τομέα αφιερώνεται στη θεωρητική εξέταση των οντολογικών ερωτημάτων που προκύπτουν από αυτές τις ισοδυναμίες και διττότητες[43]. Μία δυνατότητα επίλυσης του δυϊσμού των προγραμμάτων είναι η αναγόρευση της «διαδικαστικής» όψης ενός προγράμματος σε υλοποίηση της «κειμενικής» του όψης[40], όμως τότε το ερώτημα απλώς μετατοπίζεται στο ποια είναι η οντολογική φύση μίας σχέσης υλοποίησης και ποια είναι η διαφορά μεταξύ της υλοποίησης πηγαίου κώδικα σε εκτελέσιμο κώδικα (από έναν μεταγλωττιστή) και της υλοποίησης λογισμικού σε υλικό (από έναν μηχανικό υπολογιστών). Μία ενδεχόμενη απάντηση είναι η θέαση του λογισμικού ως αφηρημένης οντότητας, η οποία εκφράζει μία συγκεκριμένη αλληλουχία διατάξεων του υλικού (διαδικαστική όψη / μέσον εκτέλεσης) και ταυτόχρονα περιγράφεται συνοπτικά από μία ισοδύναμη αλληλουχία γλωσσικών συμβόλων (κειμενική όψη / μέσον περιγραφής). Η υλοποίηση, τότε, δεν είναι παρά η απεικόνιση ενός μέσου περιγραφής στο κατάλληλο μέσον εκτέλεσης. Ο φιλόσοφος Ντέιβιντ Τσάλμερς έχει αναπτύξει μία τέτοια διατύπωση της έννοιας της υλοποίησης ως ισομορφισμού[40]. Όμως, σε αυτή την περίπτωση, εγείρεται το ερώτημα του πότε δύο προγράμματα θεωρούνται ταυτόσημα: όταν η κειμενική τους όψη ταυτίζεται ή όταν συμπίπτουν λειτουργικά στη διαδικαστική τους όψη; Πρόκειται για ένα σύνθετο ζήτημα διότι δύο διαφορετικοί πηγαίοι κώδικες μπορούν να μεταγλωττίζονται στην ίδια γλώσσα μηχανής, ή εναλλακτικά να παράγουν στη διαδικαστική τους όψη αλγοριθμικά τελείως ισοδύναμες συμπεριφορές.
Έτσι το πρόβλημα μετατοπίζεται εκ νέου, στη φύση της σχέσης μεταξύ προγράμματος και αλγορίθμου. Θα μπορούσε να διατυπωθεί πως οι αλγόριθμοι είναι αφηρημένες μαθηματικές κατασκευές, ενώ τα προγράμματα στέρεες υλοποιήσεις τους. Η θέση αυτή συνδέεται με ορισμένες πλατωνικής φύσης αντιλήψεις στη φιλοσοφία των μαθηματικών, σχετικά με την οντολογική κατάσταση των μαθηματικών αντικειμένων, και ενισχύει τη θέαση της κειμενικής όψης των προγραμμάτων ως απλών γλωσσικών περιγραφών: όχι πια της διαδικαστικής τους όψης, αλλά ενός μαθηματικού αλγοριθμικού κατασκευάσματος. Εναλλακτικά, μια μη πλατωνική οπτική αντιλαμβάνεται τους αλγορίθμους όχι ως αυθύπαρκτα αφηρημένα αντικείμενα μα ως απλή λεκτική σύνοψη των ιδεών οι οποίες περιέχονται στη διαδικαστική όψη ενός προγράμματος και περιγράφονται αναλυτικά στον πηγαίο κώδικα. Έτσι, από αυτή την οπτική γωνία, ο αλγόριθμος δεν είναι παρά μία σύνοψη της κειμενικής όψης ενός προγράμματος, επικεντρωμένη στις βασικές ιδέες της: στο εν λόγω σκεπτικό θεμελιώνεται το νομικό επιχείρημα κατά της δυνατότητας κατοχύρωσης πνευματικών δικαιωμάτων επί αλγορίθμων, τη στιγμή που παντού στον πλανήτη ορίζονται πνευματικά δικαιώματα επί πηγαίου κώδικα.
Μία συγγενής διένεξη αφορά τη διάκριση μεταξύ τυπικών προδιαγραφών και προγραμμάτων. Συμβατικά, θεωρείται πως οι προδιαγραφές ορίζουν μόνο ποιες είναι οι δυνατές είσοδοι και οι αντίστοιχες κατάλληλες έξοδοι ενός προγράμματος, ενώ το τελευταίο περιέχει ένα πλήρες σύνολο βήμα-προς-βήμα εντολών προς τον επεξεργαστή. Ο ορισμός αυτός έχει πράγματι ισχύ για τη γλώσσα μηχανής (τη διαδικαστική όψη των προγραμμάτων) και για τις προστακτικές γλώσσες προγραμματισμού, καταρρέει όμως τελείως όταν ως «πρόγραμμα» θεωρούμε τον πηγαίο κώδικα πιο σύγχρονων δηλωτικών γλωσσών προγραμματισμού. Πράγματι, υπάρχει μία διαχρονική τάση στην ιστορία του προγραμματισμού ώστε η σύνταξη κώδικα να μοιάζει όλο και περισσότερο με σύνταξη τυπικών προδιαγραφών. Μία θεωρητική λύση στο θέμα της διάκρισης μεταξύ των δύο, δίνει η θέση πως οι γλώσσες προγραμματισμού συνοδεύονται κατ' αρχήν από μία υλοποίηση (δηλαδή μπορεί να γραφεί ένας μεταγλωττιστής για αυτές), ενώ οι γλώσσες προδιαγραφών όχι, διότι είναι εφικτό με αυτές να εκφραστούν έννοιες μη επιλύσιμες κατά Τιούρινγκ (δηλαδή μη αλγοριθμίσιμες). Το ζήτημα ωστόσο παραμένει ανοικτό στη φιλοσοφία της πληροφορικής, αφού μοιάζει τουλάχιστον ιδιόρρυθμο να ορίζονται οι γλώσσες προδιαγραφών με γνώμονα το ότι μπορούν να περιγράψουν μη επιλύσιμα υπολογιστικά προβλήματα[43].
Η σημασιολογία των γλωσσών προγραμματισμού
Ένα στιγμιότυπο πηγαίου κώδικα σε γλώσσα προγραμματισμού Java.
Η τυπική σημασιολογία μίας γλώσσας προγραμματισμού ορίζει, με βάση προκαθορισμένες συμβάσεις, το νοηματικό περιεχόμενο ενός πηγαίου κώδικα, ώστε κάθε αντίστοιχος μεταγλωττιστής να μπορεί να τον μεταφράσει σε γλώσσα μηχανής χωρίς αμφισημίες. Η σημασιολογία όμως μπορεί να περιγραφεί σε διαφορετικά επίπεδα αφαίρεσης με διαφορετικούς στόχους, όπως π.χ. στο επίπεδο της λειτουργικής σημασιολογίας (όπου ο κώδικας ερμηνεύεται ως αλληλουχία εντολών προς μία αφηρημένη, μαθηματικά ορισμένη «υπολογιστική μηχανή», εφοδιασμένη με ένα εικονικό σύνολο εντολών υψηλού επιπέδου) ή της δηλωτικής σημασιολογίας (όπου ο κώδικας ερμηνεύεται ως σύνολο από δομές κάποιου μη μηχανικής υφής μαθηματικού φορμαλισμού, βασισμένου π.χ. στη θεωρία πεδίων). Η θεωρητική πληροφορική εξετάζει τις τυπικές διαδικασίες και τις ιδιότητες αυτών των μηχανισμών, όμως ερωτήματα όπως το κατά πόσο οι εν λόγω εναλλακτικές σημασιολογίες μίας γλώσσας διαφέρουν ή ταυτίζονται σε θεμελιώδες επίπεδο, έχουν περισσότερο φιλοσοφικό παρά επιστημονικό χαρακτήρα[43].
Ένα κύριο ζήτημα αφορά το αν και ποια σημασιολογία τοποθετείται εγγύς της πραγματικής υλοποίησης (της τελικής, διαδικαστικής όψης του προγράμματος) και ποια είναι περισσότερο ένα αφηρημένο μαθηματικό κατασκεύασμα. Από μία σκοπιά, όλες οι τυπικές σημασιολογίες δεν είναι παρά αφηρημένα μαθηματικά κατασκευάσματα, αλλά ακόμα και η δηλωτική σημασιολογία, φαινομενικά πολύ απομακρυσμένη από το υλικό μηχανικό υπόστρωμα, είναι σε θέση να εκφράσει αρκετές λεπτομέρειες της πραγματικής υλοποίησης[43] - ως αποτέλεσμα δεν υπάρχει ευρεία συναίνεση σε αυτό το θέμα. Μία εναλλακτική προσέγγιση στο ίδιο ζήτημα αξιοποιεί την έννοια της σύνθεσης: μία τυπική σημασιολογία καλείται συνθετική αν η σημασιολογική τιμή μίας σύνθετης έκφρασης σ' αυτήν αποτελεί συνάρτηση των σημασιολογικών τιμών των συστατικών της μερών. Ωστόσο, αν και η δηλωτική σημασιολογία είναι σχεδιασμένη ως συνθετική (γεγονός που εξηγεί τη μεγάλη της εκφραστική δύναμη), μία λειτουργική σημασιολογία επίσης μπορεί να φέρει τα χαρακτηριστικά της σύνθεσης. Επομένως, ένας ευδιάκριτος θεμελιώδης εννοιολογικός διαχωρισμός μεταξύ λειτουργικών και δηλωτικών σημασιολογιών, έχει αποδειχθεί μέχρι στιγμής ανέφικτος.
Η καθιερωμένη αντίληψη θεωρεί πως η διαδικασία της υλοποίησης ενός προγράμματος, η μεταγλώττιση του πηγαίου κώδικα σε γλώσσα μηχανής, δεν είναι παρά μία απεικόνιση από το πεδίο της σύνταξης στο σημασιολογικό πεδίο, με βάση ένα σύνολο κανόνων. Η εν λόγω θέση όμως υπόρρητα εκλαμβάνει την υλική μηχανή (το λειτουργικό σύνολο επεξεργαστή, κύριας μνήμης κλπ.) ως τελικό φορέα της σημασιολογίας, και άρα του νοήματος του προγράμματος, καθώς αυτή εκτελεί το λογισμικό του μεταγλωττιστή: η μηχανή φέρει εις πέρας την απεικόνιση της κειμενικής σε διαδικαστική όψη κι έτσι νοηματοδοτεί τον κώδικα. Η προσέγγιση αυτή έχει δειχθεί ως ανεπαρκής[43]: π.χ. σε περίπτωση ηλεκτρικής δυσλειτουργίας του επεξεργαστή ενώ εκτελείται η μεταγλώττιση, ο παραχθείς κώδικας έχει μεγάλη πιθανότητα να είναι εσφαλμένος. Σύμφωνα με ποια κριτήρια όμως μπορεί να κριθεί εσφαλμένος αν η υλοποίηση έχει γίνει από την ίδια τη μηχανή που «έσφαλλε»; Άρα, απαιτείται μία πηγή νοημοτοδότησης του πηγαίου κώδικα εξωτερική της υλικής υπολογιστικης μηχανής η οποία φέρει εις πέρας τη μεταγλώττιση[43].
Η σημασιολογία μας παρέχει και ένα εργαλείο εξακρίβωσης της ταύτισης μεταξύ δύο προγραμμάτων με διαφορετικό κώδικα: αν στα δύο προγράμματα ανατίθεται η ίδια ολική σημασιολογική τιμή θεωρούνται ισοδύναμα, άρα ουσιωδώς ταυτίζονται με βάση τη λογική αρχή της ταυτότητας. Ωστόσο, ακόμα και αυτή δεν ειναι οριστική λύση, αφού π.χ. σε μία δηλωτική σημασιολογία δύο προγράμματα μπορεί να αποδεικνύονται ισοδύναμα (για τις ίδιες εισόδους δίνουν τις ίδιες εξόδους), τη στιγμή που τα ίδια προγράμματα σε μία λειτουργική σημασιολογική ανάλυση αποδεικνύονται διακριτά (εμπεριέχουν διαφορετικά υπολογιστικά βήματα). Επομένως, αν και η σημασιολογία μας εφοδιάζει με φιλοσοφικά αποδεκτές έννοιες ταυτότητας και ισοδυναμίας στα εν λόγω συμφραζόμενα[43], δεν οδηγεί στην πλήρη επίλυση του ζητήματος.
Αποδείξεις και προγράμματα
Θεωρώντας ένα πρόγραμμα υπολογιστή ως έναν μεγάλο υπολογισμό, οι τυπικές προδιαγραφές καθορίζουν τις ζητούμενες κατάλληλες εξόδους του για όλες τις αντίστοιχες δυνατές εισόδους του. Η κατηγορηματική λογική παρέχει μηχανισμούς θέσπισης τυπικών προδιαγραφών για ένα πρόγραμμα, όπως π.χ. η λογική Hoare του Τόνυ Χόαρ, με τους οποίους είναι εφικτό υπό προϋποθέσεις να ελεγχθεί η ορθότητά του: αν πράγματι για κάθε δυνατή είσοδο παράγεται η κατάλληλη έξοδος. Τέτοιες αποδείξεις υλοποιούνται με αφετηρία τις προδιαγραφές του προγράμματος και με βάση τα μαθηματικά εργαλεία της κατηγορηματικής λογικής, αλλά είναι αμφισβητήσιμο από φιλοσοφική σκοπιά το κατά πόσο μοιάζουν με τις συνηθισμένες αποδείξεις των μαθηματικών. Έχει υποστηριχθεί ότι τους λείπει η κομψότητα, η λιτότητα (συνήθως είναι μεγαλύτερες σε έκταση από τον πηγαίο κώδικα του προγράμματος) και η διανοητική γοητεία, ενώ δεν είναι εύκολα επαληθεύσιμες από ανθρώπους. Το επιχείρημα αυτό συνδέεται με παρόμοιες επιστημολογικές διενέξεις στη φιλοσοφία των μαθηματικών σχετικά με τη φύση και την πηγή της αξίας των μαθηματικών αποδείξεων, διενέξεις οι οποίες ενισχύθηκαν κατά τις τελευταίες δεκαετίες εξαιτίας της χρήσης λογισμικού υπολογιστών για απόδειξη θεωρημάτων.
Όπως και στα μαθηματικά, έτσι και στην πληροφορική έχουν υπάρξει πολέμιοι της εν λόγω αμφισβήτησης των «άκομψων» αποδείξεων, με το σκεπτικό ότι σημασία έχει το αποτέλεσμα (π.χ. η κατάδειξη ενός προγράμματος ως ορθού ή εσφαλμένου) και όχι η διαδικασία. Από την άλλη ωστόσο, έχει υποστηριχθεί ότι οι αποδείξεις στα μαθηματικά βασίζονται επίσης στη δημιουργική κατασκευή νέων εννοιών, επιπέδων αφαίρεσης ή συμβολισμών από τον ορθό λόγο, πράγματα ανέφικτα για μία μηχανική, αλγοριθμική διαδικασία όπως μία απόδειξη σε λογική Hoare.
Τέλος, έχει δειχθεί πως η όποια απόδειξη ορθότητας ενός προγράμματος είναι περιορισμένης αξίας, από τη στιγμή που αδυνατεί να λάβει υπόψη της τις συνθήκες της κάθε συγκεκριμένης εκτέλεσης του προγράμματος σε μία υπολογιστική μηχανή. Π.χ. μία δυσλειτουργία ενός επεξεργαστή κατά την ώρα της εκτέλεσης ίσως οδηγήσει σε εσφαλμένα αποτελέσματα, παρόλο που το πρόγραμμα (με την έννοια κάποιας αφηρημένης σημασιολογικής ερμηνείας του πηγαίου κώδικα) έχει αποδειχθεί τυπικά ορθό[40]. Επομένως απαιτείται εμπειρική επαλήθευση αυτής της ορθότητας, με μία σειρά δοκιμαστικών εκτελέσεων, γεγονός που αντανακλά τη διττή φύση των προγραμμάτων[43].
Οντολογία και γλώσσες προγραμματισμού
Η αφαίρεση και η διατύπωση εναλλακτικών επιπέδων αφαίρεσης για την περιγραφή μιας έννοιας, συνιστά μία από τις πιο κεντρικές αντιλήψεις της πληροφορικής. Τα πολλαπλά επίπεδα αφαίρεσης έχουν εξαιρετικά σημαντικό ρόλο στα δίκτυα υπολογιστών, στην αρχιτεκτονική υπολογιστών, στη θεωρία γλωσσών προγραμματισμού και στη μηχανική λογισμικού. Στον προγραμματισμό, μηχανισμοί αφαίρεσης συνιστούν τη βάση εννοιών όπως ο πολυμορφισμός, τα σχεδιαστικά πρότυπα, ή οι κλάσεις και η κληρονομικότητα της αντικειμενοστρεφούς σχεδίασης. Όμως ποια είναι η σχέση της αφαίρεσης στην πληροφορική με την αφαίρεση στα μαθηματικά;
Μία ενδεχόμενη απάντηση είναι ότι η αφαίρεση στα μαθηματικά αφορά την αγνόηση πληροφορίας η οποία κρίνεται άσχετη με το ζητούμενο (π.χ. το χρώμα όμοιων τριγώνων), ενώ η αφαίρεση στην πληροφορική αφορά την απόκρυψη πληροφορίας η οποία αντιμετωπίζεται ρητά σε άλλα επίπεδα αφαίρεσης (π.χ. στο επίπεδο συγγραφής πηγαίου κώδικα σε γλώσσα Java ο προγραμματιστής δεν γνωρίζει και δεν ασχολείται με τις ακριβείς θέσεις μνήμης των μεταβλητών, αλλά στο επίπεδο της υποκείμενης Εικονικής Μηχανής Java τέτοιες λεπτομέρειες πρέπει να υφίστανται προσεκτική διαχείριση)[43].
Οι περισσότερες γλώσσες προγραμματισμού εμπεριέχουν την έννοια του τύπου δεδομένων, ο οποίος ανάγεται στη θεωρία τύπων του Μπέρτραντ Ράσελ. Η θεωρία τύπων είναι μία κατηγορία τυπικών συστημάτων τα οποία μπορούν να λειτουργήσουν ως θεμέλια όλων των μαθηματικών, αντί για τη θεωρία συνόλων, ωστόσο οι σύγχρονες γλώσσες προγραμματισμού έχουν πολύ πιο πλούσια συστήματα τύπων συγκριτικά με τη θεωρία του Ράσελ[43]. Τα συστήματα αυτά επιτρέπουν στους μεταγλωττιστές τους να επεκτείνουν τις τυπικές γραμματικές τους με λειτουργίες ελέγχου τύπων, ώστε να διασφαλίζεται περισσότερο η ορθότητα του πηγαίου κώδικα διά της συντακτικής ανάλυσης. Ένα προκύπτον ερώτημα είναι το κατά πόσον το σύστημα τύπων μίας γλώσσας καθορίζει πλήρως την οντολογική της διάσταση, δηλαδή το ποιες κατηγορίες διακριτών οντοτήτων είναι εφικτό να περιγραφούν σε αυτήν (π.χ. αριθμοί, πίνακες κλπ.). Μία ενδεχόμενη λύση είναι η καταφυγή σε θεωρίες περί της φυσικής γλώσσας, σύμφωνα με τις οποίες η οντολογία της τελευταίας ορίζεται από τη σημασιολογία της. Όμως μία σημασιολογική ανάλυση της οντολογίας, αν και θα λάβανε υπόψη της αναγκαστικά το σύστημα τύπων, μπορεί εύκολα να το υπερβεί και να περιγράψει πρόσθετες δομές όχι άμεσα αντιστοιχιζόμενες σε τύπους δεδομένων. Έτσι, εναλλακτικές σημασιολογίες για την ίδια γλώσσα δίνουν ως αποτέλεσμα διαφορετικές οντολογίες, παρόλο που το σύστημα τύπων είναι κοινό, αναλόγως με το επίπεδο αφαίρεσης στο οποίο τοποθετείται η κάθε σημασιολογία[43].
Οι προβληματισμοί περί της οντολογίας των προγραμμάτων, από μια εναλλακτική σκοπιά, οδηγούν αναπόφευκτα και στη διερεύνηση της σχέσης των εν λόγω οντολογιών με τα αντικείμενα της εξωτερικής πραγματικότητας. Έτσι ενισχύουν θέσεις οι οποίες έχουν κατά καιρούς υποστηριχθεί περί της πληροφορικής όχι μόνον ως θετικής ή εφαρμοσμένης, αλλά και ως φυσικής επιστήμης, υπό την έννοια ότι μελετά μεθόδους αυτόματης επεξεργασίας πληροφοριών που αναπαριστούν τυπικές περιγραφές διεργασιών της φυσικής πραγματικότητας, από μηχανικά μέχρι ευφυή συστήματα[44]. Τέτοιες αντιλήψεις διευρύνουν την πληροφορική πέρα από το στενό πλαίσιο της εξέτασης, σχεδίασης ή ανάπτυξης υπολογιστικών μηχανών και όσων φαινομένων τις αφορούν, δίνοντας πρωτεύοντα ρόλο στην υπολογιστική επιστήμη.
Επιλυσιμότητα
Καλλιτεχνική αναπαράσταση μίας Μηχανής Τιούρινγκ.
Το ζήτημα της επιλυσιμότητας, της διευκρίνησης του ποια υπολογιστικά προβλήματα μπορούν να επιλυθούν μηχανικά από κάποιον αλγόριθμο και ποια όχι, συνιστά την αφετηρία και τον πυρήνα της πληροφορικής[40]. Με αφορμή το πρόγραμμα του Χίλμπερτ το οποίο είχε διατυπωθεί στις αρχές του 20ού αιώνα με στόχο την αυστηρή θεμελίωση όλων των μαθηματικών σε ένα σύνολο καλώς ορισμένων αξιωμάτων, καθώς και τα κατοπινά θεωρήματα μη πληρότητας του Γκέντελ τα οποία είχαν προκύψει από αυτό μες στη δεκαετία του 1930 υποδεικνύοντας την εγγενή αδυναμία εκπλήρωσης του οράματος του Χίλμπερτ, οι μαθηματικές εργασίες των Τιούρινγκ και Τσερτς είχαν στρέψει πριν τον Β' Παγκόσμιο Πόλεμο το ενδιαφέρον στην αυστηρή τυποποίηση της άτυπης έννοιας του αλγορίθμου και στη διερεύνηση των ιδιοτήτων της, θέτοντας έτσι τις βάσεις της θεωρητικής πληροφορικής.
Σύμφωνα με τη θέση Τσερς-Τιούρινγκ - διατυπωμένη σταδιακά, σε ολοένα και πιο επεξεργασμένες εκδοχές, από το 1936 ως το 1952 - η Μηχανή Τιούρινγκ που τερματίζει για όλες τις εισόδους της συνιστά την αυστηρή τυποποίηση της διαισθητικής έννοιας του αλγορίθμου[45]. Κανένας υπολογισμός δεν μπορεί να κωδικοποιηθεί αλγοριθμικά (ώστε π.χ. να εκτελεστεί από έναν μηχανικό ή ηλεκτρονικό υπολογιστή) αν δεν μπορεί θεωρητικά να σχεδιαστεί Μηχανή Τιούρινγκ (οσοδήποτε πολύπλοκη) η οποία να τον φέρει εις πέρας. Αυτό το γεγονός προϋποθέτει ότι υπάρχουν μη επιλύσιμα (μη αλγοριθμίσιμα) προβλήματα, δίνοντας έτσι οριστικά (αρνητική) απάντηση σε ένα από τα βασικά ερωτήματα του προγράμματος του Χίλμπερτ. Όμως η θέση Τσερτς-Τιούρινγκ είναι μία εικασία με διαισθητικό χαρακτήρα και ένας ορισμός, όχι θεώρημα το οποίο αποδεικνύεται τυπικά[43]. Ωστόσο είναι ευρύτατα αποδεκτή από την επιστημονική κοινότητα.
Στη φιλοσοφία της πληροφορικής έχουν υπάρξει διενέξεις σχετικά με το τι πραγματικά εννοείται από τη θέση Τσερτς-Τιούρινγκ. Η μία εκδοχή ερμηνεύει τη θέση ως την ιδέα πως οι Μηχανές Τιούρινγκ μπορούν να εκτελέσουν οτιδήποτε μπορεί να διατυπωθεί μηχανικά, ως μία αλγοριθμική αλληλουχία καλώς ορισμένων, πεπερασμένων βημάτων, ενώ η δεύτερη εκδοχή υποστηρίζει πως οποιοσδήποτε υπολογισμός εκτελέσιμος από μία υλική, φυσική μηχανή, μπορεί και να υπολογιστεί θεωρητικά από μία κατάλληλα σχεδιασμένη Μηχανή Τιούρινγκ[43]. Η διαφορά των δύο εκδοχών συνίσταται στο ότι η πρώτη ρητά τυποποιεί την έννοια του αλγορίθμου μέσω του αφηρημένου μαθηματικού κατασκευάσματος το οποίο καλείται Μηχανή Τιούρινγκ, ενώ η δεύτερη αφορά περισσότερο τους πραγματικούς, φυσικούς υπολογιστές ως μηχανές και τους θεμελιώδεις νόμους της λειτουργίας τους. Ένα ζήτημα επομένως αφορά το κατά πόσον οι Τσερς και Τιούρινγκ διέκριναν μεταξύ τους τις δύο εκδοχές (έχει υποστηριχθεί πως δεν προέβαιναν σε τέτοια διάκριση)[43]. Ένα πιο σημαντικό, ίσως, ζήτημα είναι το κατά πόσον οι δύο αυτές ερμηνείες είναι ισοδύναμες.
Η επικρατούσα υπόθεση στην πληροφορική είναι πως πράγματι ισχύει αυτή η ισοδυναμία, επομένως κάθε φυσικός υπολογισμός εκτελούμενος από μία μηχανή περιορίζεται πάντα από τις θεωρητικές υπολογιστικές δυνατότητες των Μηχανών Τιούρινγκ. Πράγματι, κάθε πρόγραμμα γραμμένο σε μία από τις υπάρχουσες γλώσσες προγραμματισμού είναι επιλύσιμο κατά Τιούρινγκ, αλλά και, αντιστρόφως, κάθε υπάρχουσα γλώσσα προγραμματισμού γενικού σκοπού είναι πλήρης κατά Τιούρινγκ, εμπεριέχει δηλαδή όλες τις απαραίτητες δομές για να προσομοιώσει τη λειτουργία μίας Καθολικής Μηχανής Τιούρινγκ. Ωστόσο, με την εμφάνιση του κβαντικού υπολογισμού και με τη θεωρητική μελέτη υπολογισμών άπειρης ακρίβειας, ή μηχανών με δυνατότητα εκτέλεσης άπειρων πράξεων σε πεπερασμένο χρόνο (προϋποθέσεις πρακτικά αδύνατες προς το παρόν), έχει καταδειχθεί η δυνατότητα λειτουργίας υλικών μηχανών με υπολογιστική ισχύ μεγαλύτερη των Μηχανών Τιούρινγκ[43]. Παρ' όλ' αυτά, ορισμένοι υποστηρίζουν ότι τέτοιες προϋποθέσεις είναι όχι μόνο πρακτικά αδύνατες, αλλά και ότι στερούνται εννοιολογικού νοήματος[43].
Φιλοσοφία της πληροφορίας
Η φιλοσοφία της τεχνητής νοημοσύνης λειτούργησε ως δούρειος ίππος για την εισαγωγή στη φιλοσοφία κατά το δεύτερο ήμισυ του 20ου αιώνα ενός νέος παραδείγματος προσέγγισης παραδοσιακών ζητημάτων, από υπολογιστική και πληροφοριοθεωρητική σκοπιά. Η εν λόγω προσέγγιση, στενά συσχετισμένη με την πληροφορική, την κυβερνητική και τη θεωρία πληροφορίας, έχει αποκληθεί φιλοσοφία της πληροφορίας[46]. Αυτή, θεωρούμενη από ορισμένους ως επέκταση και μετεξέλιξη τόσο της φιλοσοφίας της τεχνητής νοημοσύνης όσο και της κυβερνητικής, στηρίζεται είτε σε πορίσματα in silico προσομοιώσεων μέσω υπολογιστικών μοντέλων περί φιλοσοφικών ζητημάτων, είτε στην αντίληψη ότι σε ένα επαρκώς υψηλό επίπεδο αφαίρεσης κάθε φυσική διεργασία ή οντότητα δύναται να μοντελοποιηθεί ως υπολογιστικό σύστημα επεξεργασίας πληροφοριών[46]. Ταυτόχρονα όμως μελετά την πληροφορία και ως διακριτό φαινόμενο, ανεξάρτητα από προγενέστερους κλάδους και πεδία της επιστήμης, έχοντας την ευχέρεια να απομακρυνθεί - όταν απαιτείται - από τις μαθηματικές / ποσοτικές προσεγγίσεις της θεωρίας πληροφορίας, της κυβερνητικής και της πληροφορικής επί του ζητήματος[46]. Ακόμα, εξ ορισμού, η φιλοσοφία της πληροφορίας αποδέχεται την πληροφορία ως πιο πρωταρχική και θεμελιώδη έννοια από τον αλγοριθμικό υπολογισμό. Κατ' αυτόν τον τρόπο, συνιστά μία διακριτή και αυτοτελή προσέγγιση στη φιλοσοφία της πληροφορικής, ενώ έχει επίσης υποστηριχθεί από τον Λουτσιάνο Φλορίντι πως συνιστά το υπόβαθρο στο οποίο πρέπει να βασιστεί η επιστημολογία[46], αφού η γνώση έπεται της πρόσκτησης πληροφοριών.
Εκπαίδευση και επαγγελματικά ζητήματα
Αυτό το λήμμα παρουσιάζει το θέμα από ελληνική οπτική γωνία ή δίνει δυσανάλογο βάρος στην ελληνική πτυχή ενός παγκόσμιου θέματος.
Προσπαθήστε να το ανασκευάσετε ή και να προσθέσετε πληροφορίες έτσι ώστε να καλύπτει πληρέστερα και περισσότερο ουδέτερα το θέμα.
Παρακαλούμε δείτε τη σχετική συζήτηση στη σελίδα συζήτησης του λήμματος.
Το Τμήμα Πληροφορικής στο Τεχνικό Πανεπιστήμιο της Δρέσδης.
Ελλάδα
Στη δευτεροβάθμια εκπαίδευση, βασικές έννοιες της πληροφορικής σε εισαγωγικό επίπεδο, από κοινού με απλές δεξιότητες χρήσης ηλεκτρονικών υπολογιστών και ΤΠΕ, διδάσκονται καθ' όλη τη διάρκεια του Γυμνασίου, από το 1993 κι έπειτα. Στο Ενιαίο Λύκειο διδάσκεται επιπρόσθετα το περισσότερο επιστημονικά προσανατολισμένο και πανελλαδικά εξεταζόμενο μάθημα «Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον» σε μαθητές αντίστοιχης κατεύθυνσης, εισάγοντάς τους σε βασικές έννοιες σχεδίασης και ανάλυσης αλγορίθμων και προγραμματισμού υπολογιστών. Στα τεχνικά λύκεια λειτουργεί κύκλος μαθημάτων πληροφορικής, για μαθητές οι οποίοι τον επιλέγουν, ο οποίος συνιστά μία εκτενέστερη απ' ότι στο Γυμνάσιο εισαγωγή σε κάποιες βασικές έννοιες της πληροφορικής από κοινού με τεχνικές γνώσεις περί ΤΠΕ, στοχευμένες στην κατάρτιση μελλοντικών τεχνικών και επαγγελματιών για επικουρικές θέσεις εργασίας[47].
Σε επίπεδο ανώτατης εκπαίδευσης, τα πανεπιστημιακά τμήματα με τίτλους όπως «Επιστήμης Υπολογιστών», «Πληροφορικής», «Μηχανικών Πληροφορικής» κλπ. έχουν παρόμοιο πρόγραμμα σπουδών, μπορεί όμως να εντάσσονται σε διαφορετικές σχολές (τετραετούς φοίτησης Θετικών Επιστημών, τετραετούς φοίτησης Οικονομικών ή πενταετούς φοίτησης Πολυτεχνεία). Ορισμένα από τα ανωτέρω τμήματα έχουν περισσότερο διακλαδικό χαρακτήρα, όπως π.χ. τα τμήματα «Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής» τα οποία εστιάζουν στην τομή πληροφορικής και ηλεκτρονικής μηχανικής, τα τμήματα «Πληροφορικής και Τηλεπικοινωνιών» ή «Μηχανικών Πληροφορικής και Τηλεπικοινωνιών» τα οποία εστιάζουν στην τομή πληροφορικής και τηλεπικοινωνιών κοκ. Τα τμήματα σε σχολές Οικονομικών (με τίτλους όπως «Εφαρμοσμένης Πληροφορικής») συνήθως δίνουν έμφαση στα πληροφοριακά συστήματα, επικεντρώνοντας στην ανάπτυξη και εφαρμογή προϊόντων πληροφορικής για την αντιμετώπιση επιχειρηματικών αναγκών, με βάση ένα υβριδικό πρόγραμμα σπουδών μεταξύ πληροφορικής και οικονομικών[48].
Η εμφάνιση πανεπιστημιακών τμημάτων «Πληροφορικής» στην Ελλάδα έγινε το 1980, με την ίδρυση του Τμήματος Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών και, στη συνέχεια, το 1984, με το Τμήμα Επιστήμης Υπολογιστών της Σχολής Θετικών Επιστημών του Πανεπιστημίου Κρήτης. Τμήματα με παρόμοιους ή πανομοιότυπους τίτλους και κυρίως πρακτικό / τεχνολογικό προσανατολισμό υπάρχουν και σε ΑΤΕΙ, σε Σχολές Τεχνολογικών Εφαρμογών τετραετούς φοίτησης, ενώ μία λίστα όλων των ανάλογων τμημάτων σε Πανεπιστήμια και ΤΕΙ μπορεί να βρεθεί στην κατάλληλη ενότητα του άρθρου κατάλογος ελληνικών τμημάτων ανώτατης εκπαίδευσης (γνωστικό πεδίο: Πληροφορική). Τα περισσότερα από τα εν λόγω πανεπιστημιακά τμήματα διαθέτουν και μεταπτυχιακό πρόγραμμα σπουδών, οδηγώντας στην απόκτηση Μεταπτυχιακού Διπλώματος Ειδίκευσης (Master of Science) ή και Διδακτορικού Διπλώματος (PhD).
Στην Ελλάδα, σύμφωνα με τη νομοθεσία[49] οι διπλωματούχοι ή πτυχιούχοι απόφοιτοι των ΑΕΙ με τίτλο «Πληροφορικής» ή συναφή, αναγνωρίζεται πως έχουν την ικανότητα να ασχοληθούν ενδεικτικά με δραστηριότητες όπως μελέτη, σχεδίαση, ανάλυση, υλοποίηση, εγκατάσταση, επίβλεψη, λειτουργία, αξιολόγηση, διενέργεια πραγματογνωμοσύνης και πιστοποίηση σε έργα ΤΠΕ. Ακόμα, από τους ανωτέρω αποφοίτους οι διπλωματούχοι (απόφοιτοι τμημάτων πενταετούς φοίτησης) καθώς και οι πτυχιούχοι των (τετραετούς φοίτησης) Τμημάτων «Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών» και «Πληροφορικής και Τηλεπικοινωνιών», δύνανται επιπροσθέτως να απασχοληθούν και στον επιστημονικό τομέα των τηλεπικοινωνιακών συστημάτων και δικτύων, με βάση το ίδιο Προεδρικό Διάταγμα. Ωστόσο, σύμφωνα με παλαιότερο νόμο[50], όλοι οι πληροφορικοί απόφοιτοι Πανεπιστημίων ή ΤΕΙ, έχουν νομικά τη δυνατότητα να στελεχώσουν επιχειρήσεις τηλεπικοινωνιών ως τεχνικό προσωπικό.
Όλοι οι ανωτέρω απόφοιτοι έχουν επίσης τη δυνατότητα να απασχοληθούν επαγγελματικά στην επιστημονική έρευνα (σε δημόσια ή ιδιωτικά ιδρύματα), στη διδασκαλία σε δευτεροβάθμια ή τριτοβάθμια εκπαιδευτικά ιδρύματα, καθώς και στην παροχή υπηρεσιών σε μονάδες πληροφορικής, δικτύων υπολογιστών, μηχανοργάνωσης και τεχνικών υπηρεσιών στον δημόσιο και στον ιδιωτικό τομέα. Για τη διδασκαλία στη Δευτεροβάθμια Εκπαίδευση ωστόσο, απαιτείται επιπροσθέτως και λήψη πιστοποίησης παιδαγωγικής επάρκειας[51].
Όλες οι ανωτέρω ρυθμίσεις ισχύουν και για τους διπλωματούχους ηλεκτρολόγους ή ηλεκτρονικούς μηχανικούς[49], καθώς η πληροφορική και η επιστήμη ηλεκτρονικού μηχανικού επικαλύπτονται σε σημαντικό βαθμό[52][53]. Το κύριο σημείο της εν λόγω επικάλυψης, όχι όμως το μοναδικό, είναι ο κλάδος της μηχανικής υπολογιστών, εφόσον ένας ηλεκτρονικός υπολογιστής μπορεί να ιδωθεί τόσο ως ηλεκτρονικό όσο και ως λογικό κύκλωμα. Ως αποτέλεσμα, όλα τα πανεπιστημιακά τμήματα «Ηλεκτρολόγων Μηχανικών» ή «Ηλεκτρονικών Μηχανικών» στην Ελλάδα έχουν ενσωματώσει και τη μηχανική υπολογιστών στον τίτλο και στο πρόγραμμα σπουδών τους.
Οι απόφοιτοι των ΤΕΙ με τίτλο «Πληροφορικής», κατέχοντας τίτλο (πτυχιούχων) μηχανικών πληροφορικής, σύμφωνα με τον νόμο[54] έχουν τη δυνατότητα να απασχοληθούν επαγγελματικά στον δημόσιο ή στον ιδιωτικό τομέα, αυτοδύναμα ή σε συνεργασία με άλλους επιστήμονες υπολογιστών, ως προγραμματιστές ή αναλυτές εφαρμογών λογισμικού ή υπολογιστικών συστημάτων. Μπορούν επίσης να απασχοληθούν ως ερευνητές ή ως εκπαιδευτικοί στα εν λόγω πεδία. Ακόμα, οι απόφοιτοι των ΤΕΙ με τίτλο «Βιομηχανικής Πληροφορικής», «Ηλεκτρονικών Υπολογιστικών Συστημάτων» ή συναφή, έχουν τη δυνατότητα να απασχοληθούν επαγγελματικά, στον δημόσιο ή στον ιδιωτικό τομέα, αυτοδύναμα ή σε συνεργασία με άλλους επιστήμονες, στους τομείς της σχεδίασης, συντήρησης, εγκατάστασης, διαχείρισης και υλοποίησης υπολογιστικών ή τηλεπικοινωνιακών δικτύων, της σχεδίασης, ανάπτυξης και προγραμματισμού λογισμικού, καθώς και της σχεδίασης, ανάπτυξης, συντήρησης και εγκατάστασης υπολογιστικού υλικού ή συσκευών. Από το 2013 και μετά όπου δόθηκε η δυνατοτήτα στα ΑΤΕΙ να έχουν κατευθύνσεις σπουδών στα τμήματα τους[55], πλέον οι πτυχιούχοι μηχανικοί πληροφορικής εξειδικεύονται μέσω κάποιας κατεύθυνσης είτε ως μηχανικοί δικτύων, είτε ως μηχανικοί υπολογιστών, είτε τέλος ως μηχανικοί λογισμικού.
Πέρα από τους εν λόγω κανονισμούς, στην Ελλάδα δεν υφίσταται κάποιο αυστηρό νομοθετικό πλαίσιο ρύθμισης των τεχνολογιών πληροφοριών και επικοινωνίας, ούτε κάποιο επαγγελματικό επιμελητήριο ειδικά για τους επαγγελματίες του κλάδου. Ισχύει μεν ότι οι απόφοιτοι πανεπιστημιακών τμημάτων πληροφορικής από Οικονομικές Σχολές μπορούν να εγγραφούν στο Οικονομικό Επιμελητήριο ως οικονομολόγοι και οι απόφοιτοι τμημάτων πληροφορικής από Πολυτεχνεία στο Τεχνικό Επιμελητήριο Ελλάδος ως μηχανικοί, όμως οι εν λόγω ρυθμίσεις δεν σχετίζονται με την όποια επαγγελματική τους ιδιότητα περί ΤΠΕ. Υφίστανται παρ' όλα αυτά οι επιστημονικές ενώσεις Ένωση Πληροφορικών Ελλάδας[56], Ένωση Μηχανικών Πληροφορικής και Επικοινωνιών Ελλάδας[57] και Σύλλογος Τεχνολογικής Εκπαίδευσης Μηχανικών Πληροφορικής[58].
Σημαντικοί επιστήμονες
Πρόδρομοι
Πρόσωπο | Επίτευγμα |
---|---|
Ραμόν Λουλ | (Ramon Llull): Για τις πολλαπλές μηχανές συμβολικής αναπαράστασης, την εργασία του Ars Combinatoria, και τις πρωτοποριακές του ιδέες της συμβολικής αναπαράστασης και χειρισμού των συμβόλων αυτών για την παραγωγή γνώσης. Επηρέασε σημαντικά τον Λάιμπνιτς. |
Γκότφριντ Βίλχελμ Λάιμπνιτς | (Gottfried Wilhelm Leibniz): Η μεγάλη συνεισφορά του στη συμβολική λογική, κυρίως με την εργασία του Calculus Ratiocinator, επηρέασε σημαντικά τον Γκότλομπ Φρέγκε, του οποίου η ανάπτυξη του κατηγορηματικού λογισμού πρώτης τάξης ήταν κρίσιμη για τη θεωρητική θεμελίωση της πληροφορικής. |
Τσαρλς Μπάμπατζ | (Charles Babbage): Σχεδίασε και κατασκεύασε το πρωτότυπο ενός μηχανικού υπολογιστή, ενώ στη συνέχεια σχεδίασε την, ακόμα πιο ισχυρή, Αναλυτική Μηχανή. |
Άντα Λάβλεϊς | (Ada Lovelace): Κόρη του Λόρδου Βύρωνα και βοηθός του Τσαρλς Μπάμπατζ. Μελέτησε επιστημονικά την έννοια του υπολογισμού και με την εργασία της Προσχέδιο μιας αναλυτικής μηχανής ανέλυσε το έργο του Μπάμπατζ. Η γλώσσα προγραμματισμού Ada ονομάστηκε έτσι προς τιμήν της. |
Γκότλομπ Φρέγκε | (Friedrich Ludwig Gottlob Frege): Η ανάπτυξη του κατηγορηματικού λογισμού πρώτης τάξης από τον Φρέγκε αποτέλεσε σημαντικό προαπαιτούμενο για την ανάπτυξη της θεωρίας υπολογισμού. |
Κούρτ Γκέντελ | (Kurt Gödel): Ιστορική υπήρξε η απόδειξή του (1931) ότι η αριθμητική βασισμένη σε αξιώματα του Πεάνο δεν μπορεί να είναι και λογικά συνεπής και πλήρης στον κατηγορηματικό λογισμό πρώτης τάξης. Ο Βιττγκενστάιν στην ύστερή του περίοδο ανέπτυξε ισχυρή κριτική στο έργο του. |
Αλόνζο Τσερτς | (Alonso Church): Συνεισέφερε στη θεμελίωση της θεωρίας υπολογισμού, ιδιαίτερα με την ανάπτυξη του λογισμού-λ και τη διερεύνηση μέσω αυτού του προβλήματος της μη-αποφασισιμότητας. |
Στίβεν Κολ Κλέινι | (Stephen Cole Kleene): Πρωτοποριακή δουλειά με τον Αλόνζο Τσερτς στον λογισμό-λ, με τον οποία τέθηκαν τα θεμέλια της θεωρίας υπολογισμού. |
Άλαν Τιούρινγκ | (Alan Turing): Θεμελιώδεις υπήρξαν οι συνεισφορές του στη θεωρία υπολογισμού, κι επομένως στην αυτονόμηση της πληροφορικής από τα μαθηματικά, στην αυστηρή διατύπωση των εννοιών του υπολογισμού και του αλγορίθμου μέσω της Μηχανής Τιούρινγκ, καθώς και στον σχεδιασμό του Pilot ACE. Ο Τιούρινγκ θεωρείται ο «πατέρας της πληροφορικής και της τεχνητής νοημοσύνης». |
Μόρις Γουάιλκς | (Maurice Wilkes): Κατασκεύασε τον πρώτο υπολογιστή με αποθηκευμένο πρόγραμμα, ενώ του αποδίδονται και πολλές ιδέες δομών υψηλού επιπέδου γλωσσών προγραμματισμού. |
Κόνραντ Τσούζε | (Konrad Zuse): Κατασκεύασε τον ψηφιακό υπολογιστή Z3, τον πρώτο που λειτούργησε με το δυαδικό σύστημα αρίθμησης, για τον οποίο επινόησε επίσης και τη γλώσσα προγραμματισμού υψηλού επιπέδου, Plankalkül. |
Τζον Βίνσεντ Ατανάσοφ | (John Vincent Atanasoff): Κατασκεύασε τον πρώτο ηλεκτρονικό ψηφιακό υπολογιστή, τον ABC. Αντίθετα με τον ENIAC, ο οποίος θεωρείται ο πρώτος πλήρης ηλεκτρονικός υπολογιστής που σχεδιάστηκε να είναι Τιούρινγκ-πλήρης, ο ABC δεν ήταν προγραμματίσιμος. |
Τζον Μάκλεϊ και Τζέι Πρέσπερ Έκερτ | (John Mauchly και J. Presper Eckert): Σχεδίασαν και κατασκεύασαν τον ENIAC, τον πρώτο ηλεκτρονικό Τιούρινγκ-πλήρη υπολογιστή και τον UNIVAC I, τον πρώτο διαθέσιμο εμπορικά υπολογιστή στις Η.Π.Α.. Η εργασία τους στον ENIAC στο Πανεπιστήμιο της Πενσυλβάνια επηρέασε σημαντικά τον Τζον φον Νόιμαν στο Ίδρυμα Προηγμένων Ερευνών, καθώς η εργασία τους στην αρχιτεκτονική υπολογιστών ήταν πρωτοποριακή. |
Τζον φον Νόιμαν | (John von Neumann): Επινόησε την αρχιτεκτονική φον Νόιμαν, πάνω στην οποία βασίζονται οι σύγχρονοι υπολογιστές. Ακόμα, εφηύρε τα κυτταρικά αυτόματα. |
Κλοντ Σάνον | (Claude E. Shannon): Υπήρξε ο θεμελιωτής της θεωρίας πληροφορίας και το έργο του βοήθησε στην έναρξη της σύγχρονης εποχή των τηλεπικοινωνιών. Επίσης επηρέασε την πρώιμη κυβερνητική. |
Επιστήμονες υπολογιστών
Πρόσωπο | Επίτευγμα |
---|---|
Άλαν Πέρλις | (Alan Jay Perlis): Επινόησε προηγμένες μεθόδους προγραμματισμού υπολογιστών και κατασκευής μεταγλωττιστών. Υπήρξε ο πρώτος επιστήμονας που τιμήθηκε με Βραβείο Τιούρινγκ (το 1966). |
Γκρέις Μάρει Χόπερ | (Grace Murray Hopper): Η Χόπερ έκανε πρωτοποριακή δουλειά στην υποστήριξη της αναγκαιότητας των γλωσσών προγραμματισμού υψηλού επιπέδου, που αποκάλεσε αυτόματο προγραμματισμό. Έγραψε επίσης τον μεταγλωττιστή Α-0 που επηρέασε την COBOL (Commercial Business Oriented Language). |
Ρίτσαρντ Χάμινγκ | (Richard Hamming): Συνεισέφερε στην αριθμητική ανάλυση και στην ανάπτυξη κωδίκων ανίχνευσης και διόρθωσης σφαλμάτων (απόσταση Hamming). |
Τζέιμς Γουίλκινσον | (James Wilkinson): Συνεισέφερε σημαντικά, με αποτελεσματικούς αλγορίθμους, στην αριθμητική ανάλυση και στην εφαρμοσμένη γραμμική άλγεβρα. |
Τζον Μπάκους | (John Backus): Επινόησε τη FORTRAN (Formula Translation), την πρώτη υψηλού επιπέδου γλώσσα προγραμματισμού, καθώς και τη μορφή Μπάκους-Νάουρ, ένα μετασυντακτικό για γραμματικές χωρίς συμφραζόμενα, με το οποίο περιέγραψε τη σύνταξή της. |
Ντόναλντ Κνουθ | (Donald Knuth): Για την πολύτομη σειρά βιβλίων Η τέχνη του προγραμματισμού υπολογιστών, τη θεωρητική συνεισφορά του στην ανάλυση αλγορίθμων και για το λογισμικό ψηφιακής τυπογραφίας TeX. |
Τζον Μακάρθι | (John McCarthy): Επινόησε τη LISP (List Programming), μια συναρτησιακή γλώσσα προγραμματισμού, και συνεισέφερε τα μέγιστα στη διαμόρφωση και εξέλιξη της πρώιμης τεχνητής νοημοσύνης. |
Μάρβιν Μίνσκυ | (Marvin Minsky): Υπήρξε πρωτοπόρος και επηρεαστικός ερευνητής και θεωρητικός της τεχνητής νοημοσύνης. |
Ρόμπερτ Φλόιντ | (Robert Floyd): Συνεισέφερε στην εξέλιξη της τυπικής επαλήθευσης, της σχεδίασης μεταγλωττιστών και στη θεωρία γράφων. |
Άλεν Νιούελ και Χέρμπερτ Σάιμον | (Allen Newell και Herbert Simon): Η από κοινού συμβολή τους στη διαμόρφωση και εξέλιξη της τεχνητής νοημοσύνης και της γνωσιακής επιστήμης, υπήρξε ανυπολόγιστη. |
Έντσγκερ Ντάικστρα | (Edsger Dijkstra): Σημαντική είναι η προσφορά του στην ανάλυση αλγορίθμων, στην απαξίωση της προγραμματιστικής εντολής goto, στην επινόηση των σημαφόρων κλπ. Ονομάσθηκε «πατέρας του παράλληλου προγραμματισμού» και υπήρξε πρωτοπόρος στη μελέτη των λειτουργικών συστημάτων. |
Μάικλ Ράμπιν και Ντέινα Σκοτ | (Michael Rabin και Dana Scott): Η από κοινού συνεισφορά τους στη θεωρία υπολογισμού, εφόσον υπήρξαν οι εισηγητές της έννοιας του μη πεπερασμένου αυτομάτου, είναι πολύ σημαντική. |
Νίκλαους Βιρτ | (Niklaus Wirth): Επινόησε τη γλώσσα προγραμματισμού Pascal, την οποία ονόμασε έτσι προς τιμήν του Γάλλου πρωτοπόρου Μπλεζ Πασκάλ (Blaise Pascal). |
Τζέιμς Κούλεϊ και Τζον Τάκει | (James W. Cooley και John W. Tukey): Επινόησαν έναν τρόπο για τον υπολογισμό του Ταχέως Μετασχηματισμού Φουριέ. |
Τσαρλς Μπάκμαν | (Charles Backman): Από τη θέση του ερευνητή σε ιδιωτικές βιομηχανίες και όχι ως ακαδημαϊκός, συνεισέφερε σημαντικό θεωρητικό και πρακτικό έργο στην εξέλιξη των βάσεων δεδομένων. |
Όλε-Γιόχαν Ντάαλ και Κρίστεν Νίγκαρντ | (Ole-Johan Dahl και Kristen Nygaard): Επινόησαν την πρώτη αντικειμενοστρεφή γλώσσα προγραμματισμού Simula (Simulation Language). |
Κεν Τόμσον και Ντένις Ρίτσι | (Ken Thomson και Dennis Ritchie): Σχεδίασαν τη γλώσσα προγραμματισμού C και το λειτουργικό σύστημα Unix, με ανυπολόγιστες συνέπειες στους σύγχρονους υπολογιστές. |
Τόνυ Χόαρ | (Tony Hoare): Ανέπτυξε την τυπική γλώσσα Επικοινωνούσες Ακολουθιακές Διεργασίες (CSP) και τον αλγόριθμο γρήγορης ταξινόμησης (Quicksort). |
Άιβαν Σάδερλαντ | (Ivan Sutherland): Είχε σημαντική επιρροή και καινοτόμες συνεισφορές στον τομέα των γραφικών υπολογιστών. |
Φρέντερικ Μπρουκς | (Frederick Brooks): Είχε σημαντική συνεισφορά, από τη δεκαετία του 1960, στην αρχιτεκτονική υπολογιστών, στα λειτουργικά συστήματα και στη μηχανική λογισμικού. |
Κένεθ Άιβερσον | (Kenneth Iverson): Επινόησε τη γλώσσα προγραμματισμού APL (A Programming Language) και συνεισέφερε στον κλάδο της αλληλεπίδρασης ανθρώπου-υπολογιστή. |
Έντγκαρ Κοντ | (Edgar Codd): Επινόησε το επικρατές σχεσιακό μοντέλο στις βάσεις δεδομένων. |
Ντάγκλας Ένγκελμπαρτ | (Douglas Engelbart): Συνεισέφερε στον χώρο της αλληλεπίδρασης ανθρώπου-υπολογιστή, με πρωτοποριακές τεχνολογίες όπως το ποντίκι, τα γραφικά περιβάλλοντα χρήστη και το υπερκείμενο, το οποίο αξιοποιήθηκε κατόπιν στο Διαδίκτυο. |
Τζάσεκ Καρπίνσκι | (Jacek Karpinski): Ανάπτυξε τον πρώτο διαφορικό αναλυτή που χρησιμοποιούσε τρανζίστορ, και επίσης ανέπτυξε έναν από τους πρώτους αλγόριθμους αναγνώρισης εικόνων και χαρακτήρων. Τέλος, είναι ο εφευρέτης του πρώτου μίνι-υπολογιστή, του K-202. |
Στίβεν Κουκ | (Steven Cook): Συνεισέφερε σημαντικά στη σύγχρονη θεωρία υπολογισμού. |
Ρίτσαρντ Καρπ | (Richard Karp): Είχε σημαντική συμβολή στη θεωρία της ανάλυσης αλγορίθμων και στη μελέτη προβλημάτων συνδυαστικής βελτιστοποίησης. |
Τζον Χόπκροφτ και Ρίτσαρντ Τάρτζαν | (John Hopcroft και Richard Tarjan): Τα επιτεύγματά τους κινούνται στον χώρο της σχεδίασης και ανάλυσης αλγορίθμων και της μελέτης των δομών δεδομένων. |
Χρήστος Παπαδημητρίου | Συνεισέφερε σημαντικά στη θεωρία υπολογισμού και, ευρύτερα, στη θεωρητική πληροφορική. |
Ουίλιαμ Κάαν | (William Kahan): Επινόησε καινοτόμες μεθόδους στην αριθμητική ανάλυση και στην αριθμητική κινητής υποδιαστολής. |
Τζον Κοκ | (John Cocke): Συνεισέφερε στη σχεδίαση και θεωρία των μεταγλωττιστών, καθώς και στην ανάπτυξη των αρχιτεκτονικών RISC στη μηχανική υπολογιστών. |
Κρίστοφερ Λάνγκτον | (Christopher Langton): Με βάση τις δικές του κυρίως συνεισφορές ιδρύθηκε το επιστημονικό πεδίο της τεχνητής ζωής. Μελέτησε ακόμα διεξοδικά τα κυτταρικά αυτόματα. |
Ρόντνεϊ Μπρουκς | (Rodney Brooks): Υπεύθυνος για την ανάδυση της συμπεριφορικής προσέγγισης στη ρομποτική και στην τεχνητή νοημοσύνη, μετατοπίζοντας το ενδιαφέρον από τον αφηρημένο υπολογισμό στην αλληλεπίδραση των ρομπότ με το περιβάλλον. |
Τζουντέα Περλ | (Judea Pearl): Συνεισέφερε στη διάδοση και εξέλιξη υποσυμβολικών, πιθανοκρατικών προσεγγίσεων και αλγορίθμων στην τεχνητή νοημοσύνη, με αποτέλεσμα σημαντικές θεωρητικές και πρακτικές εξελίξεις στον τομέα μετά το 1990. |
Μπιάρνε Στρούστρουπ | (Bjarne Stroustrup): Εφηύρε τη γλώσσα προγραμματισμού C++, εξοπλίζοντας τη C με ισχυρά χαρακτηριστικά αντικειμενοστρέφειας. |
Ρίτσαρντ Στόλλμαν | (Richard Stallman): Είναι ο ιδρυτής του κινήματος ελεύθερου λογισμικού και επινόησε την άδεια χρήσης copyleft. |
Άντριου Τάνενμπαουμ | (Andrew Tanenbaum): Επέβλεψε την κατασκευή του λειτουργικού συστήματος Minix (μία δωρεάν παραλλαγή του Unix για διδακτικούς σκοπούς, σχεδιασμένη για το IBM PC) και συνεισέφερε σημαντικά στην έρευνα επί των υπολογιστικών συστημάτων. |
Λίνους Τόρβαλντς | (Linus Benedict Torvalds): Είναι ο αρχικός δημιουργός του πυρήνα του Linux, του δημοφιλέστερου λειτουργικού συστήματος ανοιχτού κώδικα, και έχει παραμείνει επικεφαλής της ανάπτυξής του. |
Τιμ Μπέρνερς-Λι | (Tim Berners-Lee): Επινόησε τον Παγκόσμιο Ιστό ως υπηρεσία του Διαδικτύου. |
Σεμπάστιαν Θραν | (Sebastian Thrun): Συνεισέφερε σημαντικά στην εξέλιξη και βελτίωση αλγορίθμων ρομποτικής, όπως π.χ. μεθόδων πιθανοκρατικής επίλυσης του θεμελιώδους προβλήματος SLAM, και στον σχεδιασμό αυτόνομων, ευφυών οχημάτων με ικανοποιητική απόδοση. |
Κωνσταντίνος Δασκαλάκης | (Constantinos Daskalakis): Έλυσε τον γρίφο του Νας, που απασχολούσε τους επιστήμονες της πληροφορικής για 60 χρόνια. |
Σημειώσεις και παραπομπές
Department of Computer and Information Science, Guttenberg Information Technologies: «Computer science is the study of information»[νεκρός σύνδεσμος]
Computer Science Department, College of Saint Benedict, Saint John's University: «Computer science is the study of computation»
Massey University: «Computer Science is the study of all aspects of computer systems, from the theoretical foundations to the very practical aspects of managing large software projects»
Εγκυκλοπαίδεια Φιλοσοφίας του Στάνφορντ: «Computer science would be better described as being concerned with the meta-activity that is associated with programming. More generally, and more precisely, it is occupied with the design, development and investigation of the concepts and methodologies that facilitate and aid the specification, development, implementation and analysis of computational systems. »
Κολλέγιο Swarthmore: «Computer science is the study of algorithms and their implementation. This includes the study of computer systems; methods to specify algorithms (for people and computer systems); and the formulation of theories and models to aid in the understanding and analysis of the properties of algorithms, computing systems, and their interrelationship.»
Rapaport, William, Philosophy of Computer Science: An Introductory Course: «[...] a definition of computer science as a new kind of engineering that studies the theory, design, analysis, and implementation of information-processing algorithms (Loui 1987, 1995).»
«WordNet Search—3.1». Wordnetweb.princeton.edu. Ανακτήθηκε στις 2012-05-14.
ΕΠΕ, Μελέτη Επισκόπησης της Πληροφορικής στην Ελλάδα (2006), «Η Πληροφορική είναι η επιστήμη που σχετίζεται με την διαχείριση των πληροφοριών καλύπτοντας από τη μία πλευρά την δημιουργία του απαραίτητου θεωρητικού υποβάθρου το οποίο κάνει δυνατή την αποδοτική χρήση του μεγάλου όγκου των πληροφοριών, και από την άλλη την ανάπτυξη πρακτικών εφαρμογών σε ψηφιακά υπολογιστικά συστήματα που αξιοποιούν τα θεωρητικά αποτελέσματα και τα κάνουν χρήσιμα για τους διάφορους τομείς της ανθρώπινης δραστηριότητας, αυξάνοντας τις καθημερινές δυνατότητες του μέσου πολίτη.»
Know your Discipline: Teaching the Philosophy of Computer Science[νεκρός σύνδεσμος]
«Globalization, information and communication technologies, and the prospect of a "Global Village": Promises of inclusion or electronic colonization?»
Flake Gary William, The Computational Beauty of Nature, 2000, The MIT Press
Rapaport, William, Philosophy of Computer Science: An Introductory Course: «We surveyed the following answers that have been given to the question "What is computer science?":
It is a science of computers and surrounding phenomena (such as algorithms, etc.) (Newell et al. 1967).
It is the study (N.B.: not “science”) of algorithms and surrounding phenomena (such as the computers they run on, etc.) (Knuth 1974).
It is the empirical study (“artificial science”) of the phenomena surrounding computers (Newell & Simon 1976; cf. Simon 1996).
It is a natural science, not of computers or algorithms, but of procedures (Shapiro 2001).
It is not a science, but a branch of engineering (Brooks 1996).
It is the body of knowledge dealing with information-transforming processes (Denning 1985).
It is the study of information itself (Hartmanis & Lin 1992).
Note that several of these (especially the first two) might be "extensionally equivalent" but approach the question from very different perspectives: Some emphasize the computer (hardware); others emphasize algorithms, processes, procedures, etc. (software), or even something more abstract (e.g., information). An orthogonal dimension focuses on whether computer science is a science or perhaps something else (a "study", a "body of knowledge", an engineering discipline, etc.). And, of course, the name itself varies (computer science, computing science, informatics, etc.), often for political, not philosophical, reasons.»
Τμήμα Επιστήμης Υπολογιστών Πανεπιστημίου Κρήτης: «... το πρόγραμμα σπουδών αντιμετωπίζει την Πληροφορική ως τεχνολογική επιστήμη: έχοντας αυστηρά επιστημονικά θεμέλια και μεθοδολογία, αποσκοπεί στην κατασκευή συστημάτων υλικού και λογισμικού, τα οποία καλούνται να εξυπηρετήσουν συγκεκριμένες ανθρώπινες ανάγκες.»
Πανεπιστήμιο Ντάρχαμ: «The broad scope of Computer Science means the subject ranges from areas such as theoretical studies of algorithms and the limits of computation, to the practical issues of implementing computing systems in hardware and software.»[νεκρός σύνδεσμος]
Netherlands Institute for Advanced Study in the Humanities and Social Sciences: «Informatics has been called the science of the 21st century, but can we predict its future? Let me reflect a little on the field which we also call Computer Science or, more elaborately, Information and Computing Sciences. Some may even prefer the term ICT, although this only covers the applied side of the field.»[νεκρός σύνδεσμος]
ACM: «CC 2005 provides undergraduate curriculum guidelines for five defined sub-disciplines of computing: Computer Science, Computer Engineering, Information Systems, Information Technology, and Software Engineering.»
ΕΠΕ, Μελέτη Επισκόπησης της Πληροφορικής στην Ελλάδα (2006), «Αν και οι ακολουθούμενες προσεγγίσεις δεν είναι διακριτές αλλά επικαλύπτονται σε μεγάλο βαθμό μεταξύ τους, εντούτοις μπορούν να προσδιορισθούν πέντε διαφορετικοί τρόποι προσέγγισης των θεμάτων της πληροφορικής.»
«Η Πληροφορική ως επιστήμη οριοθετείται, σε επίπεδο σπουδών, από 36 βασικά αντικείμενα <http://review.epe.org.gr/doc.php?q=4> κατά τα διεθνή πρότυπα (ACM, AIS, IEEE, Computing Curricula 2005 http://www.acm.org/education/curricula-recommendations) τα οποία ακολουθούμε και τα χρησιμοποιούμε για την αξιολόγηση των προγραμμάτων σπουδών των Ελληνικών τμημάτων Πληροφορικής <http://review.epe.org.gr/doc.php?q=5&d=al>.»[νεκρός σύνδεσμος]
Τμήμα Επιστήμης Υπολογιστών Πανεπιστημίου Κρήτης: Το πρόγραμμα σπουδών «καλύπτει εξίσου τα αντικείμενα του υλικού, του λογισμικού, των εφαρμογών της πληροφορικής, και της θεωρίας. Παράλληλα, δίνεται ισόρροπη έμφαση στη διδασκαλία της αυστηρής επιστημονικής μεθόδου και στην καλλιέργεια των ικανοτήτων σύνθεσης και της νοοτροπίας μηχανικού μέσω ειδικών εργασιών και εργαστηρίων.»
George Forsythe and the Development of Computer Science[νεκρός σύνδεσμος]
Ωστόσο, η πρώτη επιχείρηση κατασκευής και πώλησης λογισμικού είχε εμφανιστεί ήδη από το 1955, βλ. Elmer C. Kubie (Summer 1994). Recollections of the first software company IEEE Annals of the History of Computing (IEEE Computer Society).
Το 2008 η βιομηχανία εμπορικού λογισμικού είχε διεθνώς αξία 288 δισεκατομμυρίων δολαρίων, βλ. Business Software Alliance: Software Industry Facts and Figures
«Widely known as the 'Nobel Prize' of computing, the Turing Award recognizes individuals for contributions of lasting and major technical importance to the computing field.»
Karl Steinbuch Eulogy - Bernard Widrow, Reiner Hartenstein, Robert Hecht-Nielsen
Louis Fine (1959). «The Role of the University in Computers, Data Processing, and Related Fields». Communications of the ACM 2 (9): 7–14. doi:10.1145/368424.368427.
Dreyfus, Phillipe. L’informatique. Gestion, Paris, Jun 1962, pp. 240–41
«What is "Computer Science" / "Informatics"? "Computer Science" – science about a tool? Better names would be: "science of computing" or "data processing science" (focuses on activity instead of tool). "Informatics": continental-European for "computer science" - French: "Informatique" (since 1960s) - German: "Informatik" Definition: "Science of the systematical processing of information, especially the automatic processing by use of digital computers".»
Parnas, D. L. (1998). Annals of Software Engineering 6: 19–37. doi:10.1023/A:1018949113292., σελ. 19: «Rather than treat software engineering as a subfield of computer science, I treat it as an element of the set, Civil Engineering, Mechanical Engineering, Chemical Engineering, Electrical Engineering, [...]»
Peter Naur (1966). «The science of datalogy». Communications of the ACM 9 (7): 485. doi:10.1145/365719.366510.
Tech Model Railroad Club, MIT: «We at TMRC use the term "hacker" only in its original meaning, someone who applies ingenuity to create a clever result, called a "hack". The essence of a "hack" is that it is done quickly, and is usually inelegant. It accomplishes the desired goal without changing the design of the system it is embedded in. Despite often being at odds with the design of the larger system, a hack is generally quite clever and effective. This original benevolent meaning stands in stark contrast to the later and more commonly used meaning of a "hacker", typically as a person who breaks into computer networks in order to steal or vandalize. Here at TMRC, where the words "hack" and "hacker" originated and have been used proudly since the late 1950s, we resent the misapplication of the word to mean the committing of illegal acts.»
Women in Science: The Culture of Computer Science
Student Culture vs Group Work in Computer Science
Experimental Computer Science: The Need for a Cultural Change
Excluding women from the technologies of the future?: A case study of the culture of computer science
Gender and the Culture of Computing in Applied IT Education
Women in Computing: The Role of Geek Culture
What is the problem in the beholder’s eye? Introducing gender reforms in computer science education
Edwards, Paul: The Closed World: Computers and the Politics of Discourse in Cold War America. MIT Press, 1996.
Markoff, John: What the Dormouse Said: How the Sixties Counterculture Shaped the Personal Computer Industry. Penguin Books, 2006.
Rapaport, William, Philosophy of Computer Science: An Introductory Course
J. Johnston, The Allure of Machinic Life, εκδ. MIT Press, 2008
A. Tanenbaum, Η αρχιτεκτονική των υπολογιστών: Μια δομημένη προσέγγιση, εκδ. Κλειδάριθμος, 2000
Εγκυκλοπαίδεια Φιλοσοφίας του Στάνφορντ: The Philosophy of Computer Science
Netherlands Institute for Advanced Study in the Humanities and Social Sciences[νεκρός σύνδεσμος]
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών, Μη επιλυσιμότητα
Luciano Floridi, What is the Philosophy of Information?
ΕΠΕ, Μελέτη Επισκόπησης της Πληροφορικής στην Ελλάδα (2006), Η Πληροφορική στη Δευτεροβάθμια Εκπαίδευση
Ενδεικτικά δείτε το Πρόγραμμα Σπουδών του Τμήματος Εφαρμοσμένης Πληροφορικής του Πανεπιστημίου Μακεδονίας
ΦΕΚ 58Α-2009 ΠΔ44: «1) οι Διπλωματούχοι Ηλεκτρολόγοι Μηχανικοί και Μηχανικοί Υπολογιστών, οι Διπλωματούχοι Ηλεκτρολόγοι Μηχανικοί και Τεχνολογίας Υπολογιστών, οι Διπλωματούχοι Ηλεκτρονικοί Μηχανικοί και Μηχανικοί Υπολογιστών, οι Διπλωματούχοι Μηχανικοί Ηλεκτρονικών Υπολογιστών και Πληροφορικής, οι Διπλωματούχοι Μηχανικοί Πληροφοριακών και Επικοινωνιακών Συστημάτων, οι Διπλωματούχοι Μηχανικοί Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων και οι Διπλωματούχοι Μηχανικοί Πληροφορικής και Τηλεπικοινωνιών απόφοιτοι των ΑΕΙ αναγνωρίζεται πως την ικανότητα να ασχοληθούν ενδεικτικά με τη μελέτη, τη σχεδίαση, την ανάλυση, την κατασκευή, την επίβλεψη κατασκευής και λειτουργίας, την αξιολόγηση, τη συντήρηση, τη διενέργεια πραγματογνωμοσύνης και την πιστοποίηση τήρησης προτύπων στις εγκαταστάσεις τους και στις πάσης φύσεως εφαρμογές τους στους επιστημονικούς τομείς:
α) των ηλεκτρονικών υπολογιστών,
β) των τηλεπικοινωνιών και τηλεπικοινωνιακών συστημάτων και δικτύων,
γ) της πληροφορικής και των πληροφοριακών συστημάτων και
δ) των συστημάτων αυτοματισμού, επεξεργασίας σημάτων, επεξεργασίας εικόνας και ήχου, επεξεργασίας ομιλίας, γραφικών, κ.λ.π
2) Οι Πτυχιούχοι Πανεπιστημιακής Εκπαίδευσης Τμημάτων Επιστήμης Υπολογιστών ή Πληροφορικής ή Πληροφορικής και Τηλεπικοινωνιών ή Επιστήμης και Τεχνολογίας Υπολογιστών ή Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών ή Πληροφορικής και Τηλεματικής ή Εφαρμοσμένης Πληροφορικής ή Πληροφορικής με Εφαρμογές στη Βιοϊατρική ή Διδακτικής της Τεχνολογίας και Ψηφιακών Συστημάτων απόφοιτοι των ΑΕΙ αναγνωρίζεται πως να ασχοληθούν ενδεικτικά με δραστηριότητες όπως μελέτη, σχεδίαση, ανάλυση, υλοποίηση, εγκατάσταση, επίβλεψη, λειτουργία, αξιολόγηση, διενέργεια πραγματογνωμοσύνης και πιστοποίηση στους επιστημονικούς τομείς:
α) του υλικού και λογισμικού των ηλεκτρονικών υπολογιστών,
β) της πληροφορικής,
γ) των συστημάτων και δικτύων επικοινωνιών, τηλεπικοινωνιακών υπηρεσιών και εφαρμογών διαδικτύου και
δ) των συστημάτων και εφαρμογών, γραφικών, επεξεργασίας σημάτων, επεξεργασίας εικόνας και επεξεργασίας ομιλίας.
Ειδικότερα, οι πτυχιούχοι των Τμημάτων Επιστήμης και Τεχνολογίας Τηλεπικοινωνιών και Πληροφορικής και Τηλεπικοινωνιών δύνανται να απασχοληθούν στα ανωτέρω και στον επιστημονικό τομέα των τηλεπικοινωνιακών συστημάτων και δικτύων.
ΦΕΚ.7Β/2002, Απόφ. 44465.
Σύμφωνα με το ΦΕΚ 71A-2010 Ν.3848
Πανεπιστήμιο του Έξετερ: «Electronic Engineering and Computer Science are both concerned with enhancing our experience of the world and shaping the convenience of our future in terms of solving problems and developing products and systems which will increase the accuracy, speed and quality of information sources and technology. These disciplines are closely linked and specifically interweave in the manufacture of equipment such as pocket computer products like mobile phones or e-books.»
Πανεπιστήμιο Duke, Computer Science vs. Electrical and Computer Engineering: «Both Computer Engineering and Computer Science study the use of the digital computer as a tool that makes possible much of modern technology and the overlap between the two fields is significant. Both disciplines study the inner workings of computers and both study hardware as well as software aspects of computer systems.»
ΦΕΚ 246 Α Π.Δ. 183[νεκρός σύνδεσμος]
Όπως γίνεται αντιληπτό στα ΦΕΚ.119Α/2013, ΦΕΚ.123Α/2013, ΦΕΚ.124Α/2013, ΦΕΚ.130Α/2013, ΦΕΚ.129Α/2013, ΦΕΚ.131Α/2013, ΦΕΚ.132Α/2013, ΦΕΚ.133Α/2013, ΦΕΚ.134Α/2013, ΦΕΚ.135Α/2013, ΦΕΚ.136Α/2013, ΦΕΚ.137Α/2013, γνωστά και ως «Σχέδιο Αθηνά»
Ιστοσελίδα της Ένωσης Πληροφορικών Ελλάδας
Ιστοσελίδα της Ένωσης Μηχανικών Πληροφορικής και Επικοινωνιών Ελλάδας
Ιστοσελίδα του Συλλόγου Τεχνολογικής Εκπαίδευσης Μηχανικών Πληροφορικής
Εξωτερικοί σύνδεσμοι
Το Iνστιτούτο Πληροφορικής του Ιδρύματος Τεχνολογίας και Έρευνας (ΙΤΕ)
Ιστοσελίδα της Ένωσης Πληροφορικών Ελλάδας
Ένωση Πληροφορικών Ελλάδας, Αξιολόγηση Προγραμμάτων Σπουδών Πληροφορικής
Ιστοσελίδα της Ένωσης Μηχανικών Πληροφορικής και Επικοινωνιών Ελλάδας
Σύνδεσμος Επιχειρήσεων Πληροφορικής και Επικοινωνιών Ελλάδας
Πανεπιστήμιο του Εδιμβούργου, What does informatics mean?
(ΕΠΥ)
Hellenica World - Scientific Library
Από τη ελληνική Βικιπαίδεια http://el.wikipedia.org . Όλα τα κείμενα είναι διαθέσιμα υπό την GNU Free Documentation License