Επιστήμη υπολογιστών

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Μετάβαση σε: πλοήγηση, αναζήτηση

Επιστήμη υπολογιστών ονομάζεται η θετική και εφαρμοσμένη επιστήμη η οποία ερευνά τα θεωρητικά θεμέλια των εννοιών της πληροφορίας και του υπολογισμού, καθώς και την τεχνολογική υλοποίηση και εφαρμογή τους σε, συνήθως ηλεκτρονικά και ψηφιακά, αυτοματοποιημένα υπολογιστικά συστήματα[1][2][3]. Ο όρος σχετίζεται πολύ στενά με την πληροφορική, ενώ ως διακριτή επιστήμη προέκυψε κατά τη δεκαετία του 1940 χάρη στην εύρεση των μαθηματικών ιδιοτήτων του υπολογισμού και την κατασκευή ηλεκτρονικών υπολογιστικών μηχανών.

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

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

Ο Έντσγκερ Ντάικστρα (Edsger Dijkstra) είπε:

Η επιστήμη υπολογιστών έχει τόση σχέση με τους υπολογιστές, όση έχει η αστρονομία με το τηλεσκόπιο.

Ο φυσικός Ρίτσαρντ Φάινμαν (Richard Feynman) είπε:

Η επιστήμη υπολογιστών δεν είναι τόσο παλιά όσο η φυσική, υστερεί χρονικά μερικούς αιώνες. Ωστόσο, αυτό δεν σημαίνει ότι υπάρχουν λιγότερα στο πιάτο του επιστήμονα των υπολογιστών απ' ότι σε αυτό του φυσικού: μπορεί να είναι νεότερη αλλά είχε μια πολύ πιο έντονη γέννηση!

Από ορισμένους έχει υποστηριχθεί ότι η επιστήμη υπολογιστών, με κεντρικό άξονα τις έννοιες της πληροφορίας, του υπολογισμού και του αυτοματισμού, συνθέτει σε ένα διακριτό σύνολο τις μεθοδολογικές παραδόσεις των θετικών επιστημών («μαθηματική» προσέγγιση), των φυσικών επιστημών («εμπειρική» προσέγγιση) και των επιστημών μηχανικών (προσέγγιση «μηχανικού»)[4]. Ακόμα έχει διατυπωθεί η άποψη πως η έρευνα για τον φυσικό κόσμο, η οποία κατά παράδοση διακρίνεται μεθοδολογικά σε «θεωρητικές» προσεγγίσεις (κομψές, αφηρημένες, στηριγμένες σε απλουστευτικές υποθέσεις και λογικούς κανόνες) και σε «πειραματικές» προσεγγίσεις (εστιασμένες στον θόρυβο, στην τυχαιότητα και στα σφάλματα του πραγματικού κόσμου), με την επιστήμη υπολογιστών συμπληρώνεται από μία τρίτη προσέγγιση βασισμένη στην in silico προσομοίωση φυσικών φαινομένων. Η προσέγγιση αυτή συνθέτει τις ιδιότητες και ενσωματώνει τα χαρακτηριστικά και των δύο προηγούμενων[5].

Πίνακας περιεχομένων

[Επεξεργασία] Όρια και συγγενή πεδία

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

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

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

[Επεξεργασία] Ιστορικό

Η ιστορία της επιστήμης υπολογιστών ξεκινά με ποικίλες προσπάθειες κατασκευής υπολογιστικών μηχανών με στόχο την αυτοματοποίηση αριθμητικών υπολογισμών, πολύ πριν από την ανάπτυξη των σύγχρονων ψηφιακών υπολογιστών. Η επιστήμη αυτή εμφανίστηκε ως πεδίο των διακριτών μαθηματικών κατά τη δεκαετία του 1930. Στη συνέχεια, ο ENIAC (1946) υπήρξε ο πρώτος επαναπρογραμματιζόμενος ηλεκτρονικός υπολογιστής γενικού σκοπού. Οι υπολογιστές που προηγήθηκαν του ENIAC ήταν είτε μηχανικές κατασκευές ειδικού σκοπού (π.χ. μηχανισμός των Αντικυθήρων), είτε ηλεκτρομηχανολογικές κατασκευές (π.χ. Ζ3), είτε ηλεκτρονικές συσκευές που δεν είχαν όμως καθολικές δυνατότητες υπολογισιμότητας (π.χ. Colossus). Από τα τέλη της δεκαετίας του 1950, οπότε καθιερώθηκε η αρχιτεκτονική φον Νόιμαν των σύγχρονων ψηφιακών υπολογιστών, η αυτονομημένη πλέον πληροφορική άρχισε να αναπτύσσεται σε μεγάλο βαθμό ανεξάρτητα από τις ίδιες τις μηχανές. Αυτό σταδιακά έχει οδηγήσει σε εξελίξεις που πολλοί εκλαμβάνουν συνολικά ως «επανάσταση της πληροφορίας» και «κοινωνία της γνώσης».

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

[Επεξεργασία] Κλάδοι της επιστήμης υπολογιστών

[Επεξεργασία] Μαθηματικά θεμέλια

[Επεξεργασία] Θεωρητική πληροφορική

[Επεξεργασία] Υλικό

(Δείτε επίσης μηχανική υπολογιστών)

[Επεξεργασία] Υπολογιστικά συστήματα

(Δείτε επίσης υπολογιστικά συστήματα)

[Επεξεργασία] Λογισμικό

[Επεξεργασία] Εφαρμογές υπολογιστών

[Επεξεργασία] Επιστήμονες με σημαντική συμβολή

Πρόσωπο Επίτευγμα
Ραμόν Λουλ (Ramon Llull): Για τις πολλαπλές μηχανές συμβολικής αναπαράστασης, την εργασία του Ars Combinatoria, και τις πρωτοποριακές του ιδέες της συμβολικής αναπαράστασης και χειρισμού των συμβόλων αυτών για την παραγωγή γνώσης. Επηρέασε σημαντικά τον Λάιμπνιτς.
Γκότφριντ Βίλχελμ Λάιμπνιτς (Gottfried Wilhelm Leibniz): Η μεγάλη συνεισφορά του στη συμβολική λογική, κυρίως με την εργασία του Calculus Ratiocinator, επηρέασε σημαντικά τον Γκότλομπ Φρέγκε, του οποίου η ανάπτυξη του κατηγορηματικού λογισμού πρώτης τάξης ήταν κρίσιμη για τη θεωρητική θεμελίωση της επιστήμης υπολογιστών.
Τσαρλς Μπάμπατζ (Charles Babbage): Σχεδίασε και κατασκεύασε το πρωτότυπο ενός μηχανικού υπολογιστή, ενώ στη συνέχεια σχεδίασε την, ακόμα πιο ισχυρή, αναλυτική μηχανή.
Άντα Λάβλεϊς (Ada Lovelace): Κόρη του Λόρδου Βύρωνα και υπήρξε βοηθός του Τσαρλς Μπάμπατζ. Μελέτησε επιστημονικά την έννοια του υπολογισμού και με την εργασία της Προσχέδιο μιας αναλυτικής μηχανής ανέλυσε το έργο του Τσαρλς Μπάμπατζ. Η γλώσσα προγραμματισμού Ada ονομάστηκε έτσι προς τιμήν της.
Γκότλομπ Φρέγκε (Friedrich Ludwig Gottlob Frege): Η ανάπτυξη του κατηγορηματικού λογισμού πρώτης τάξης από τον Φρέγκε αποτέλεσε σημαντικό προαπαιτούμενο για την ανάπτυξη της θεωρίας υπολογισμού.
Κούρτ Γκέντελ (Kurt Gödel): Ιστορική υπήρξε η απόδειξή του (1931) ότι η αριθμητική βασισμένη σε αξιώματα του Πεάνο δεν μπορεί να είναι και λογικά συνεπής και πλήρης στον κατηγορηματικό λογισμό πρώτης τάξης. Ο Wittgenstein στην ύστερή του περίοδο ανέπτυξε ισχυρή κριτική στο έργο του.
Αλόνζο Τσερτς (Alonso Church): Συνεισέφερε στη θεμελίωση της θεωρίας υπολογισμού, ιδιαίτερα με την ανάπτυξη του λ-λογισμού και τη διερεύνηση μέσω αυτού του προβλήματος της μη-αποφασισιμότητας.
Στίβεν Κολ Κλέινι (Stephen Cole Kleene): Πρωτοποριακή δουλειά με τον Αλόνζο Τσερτς στον λ-λογισμό, με τον οποία τέθηκαν τα θεμέλια την θεωρίας υπολογισμού.
Άλαν Τούρινγκ (Alan Turing): Θεμελιώδεις υπήρξαν οι συνεισφορές του στη θεωρία υπολογισμού, κι επομένως στην αυτονόμηση της επιστήμης υπολογιστών από τα μαθηματικά, στην αυστηρή διατύπωση των εννοιών του υπολογισμού και του αλγορίθμου μέσω της Μηχανής Τούρινγκ, καθώς και στον σχεδιασμό του Pilot ACE.
Μόρις Ουΐλκς (Maurice Wilkes): Κατασκεύασε τον πρώτο υπολογιστή με αποθηκευμένο πρόγραμμα, ενώ του αποδίδονται και πολλές ιδέες δομών υψηλού επιπέδου γλωσσών προγραμματισμού.
Κόνραντ Τσούζε (Konrad Zuse): Κατασκεύασε τον ψηφιακό υπολογιστή Z3, τον πρώτο που λειτούργησε με το δυαδικό σύστημα αρίθμησης, για τον οποίο επινόησε επίσης και τη γλώσσα προγραμματισμού υψηλού επιπέδου, Plankalkül.
Τζον Βίνσεντ Ατανάσοφ (John Vincent Atanasoff): Κατασκεύασε τον πρώτο ηλεκτρονικό ψηφιακό υπολογιστή, τον ABC. Αντίθετα με τον ENIAC, ο οποίος θεωρείται ο πρώτος πλήρης ηλεκτρονικός υπολογιστής που σχεδιάστηκε να είναι Τούρινγκ-πλήρης, ο ABC δεν ήταν προγραμματίσιμος.
Τζον Μάκλεϊ and Τζέι Πρέσπερ Έκερτ (John Mauchly και J. Presper Eckert): Σχεδίασαν και κατασκεύασαν τον ENIAC, τον πρώτο ηλεκτρονικό Τούρινγκ-πλήρη υπολογιστή και τον UNIVAC I, τον πρώτο διαθέσιμο εμπορικά υπολογιστή στις Η.Π.Α.. Η εργασία τους στον ENIAC στο Πανεπιστήμιο της Πενσυλβάνια επηρέασε σημαντικά τον Τζον φον Νόιμαν στο Ίδρυμα Προηγμένων Ερευνών, καθώς η εργασία τους στην αρχιτεκτονική υπολογιστών ήταν πρωτοποριακή.
Τζον φον Νόιμαν (John von Neumann): Επινόησε την αρχιτεκτονική φον Νόιμαν, πάνω στην οποία βασίζονται οι σύγχρονοι υπολογιστές. Ακόμα εφηύρε τα κυτταρικά αυτόματα.
Κλοντ Σάνον (Claude E. Shannon): Υπήρξε ο θεμελιωτής της θεωρίας πληροφορίας και το έργο του βοήθησε στην έναρξη της σύγχρονης εποχή των τηλεπικοινωνιών.
Τζον Μπάκους (John Backus): Επινόησε τη FORTRAN (Formula Translation), την πρώτη πρακτική υψηλού επιπέδου γλώσσα προγραμματισμού και τη μορφή Μπάκους-Νάουρ (Backus-Naur), ένα μετασυντακτικό για Γραμματικές χωρίς συμφραζόμενα, με το οποίο περιέγραψε τη σύνταξή της.
Νίκλαους Βιρτ (Niklaus Wirth): Επινόησε τη γλώσσα προγραμματισμού Pascal, την οποία ονόμασε έτσι προς τιμήν του Γάλλου πρωτοπόρου Μπλεζ Πασκάλ (Blaise Pascal).
Τζέιμς Κούλεϊ και Τζον Τάκει (James W. Cooley και John W. Tukey): Επινόησαν έναν τρόπο για τον υπολογισμό του Ταχέως Μετασχηματισμού Φουριέ
Όλε-Γιόχαν Ντάαλ και Κρίστεν Νίγκαρντ (Ole-Johan Dahl, Kristen Nygaard): Επινόησαν την πρώτη αντικειμενοστρεφή γλώσσα προγραμματισμού Simula (Simulation Language).
Έντσγκερ Ντάικστρα (Edsger Dijkstra): Σημαντική είναι η προσφορά του στην ανάλυση αλγορίθμων, στην απαξίωση της προγραμματιστικής εντολής Goto, στην επινόηση των σημαφόρων κλπ. Ονομάσθηκε πατέρας του παράλληλου προγραμματισμού και υπήρξε πρωτοπόρος στη μελέτη των λειτουργικών συστημάτων.
Τόνυ Χόαρ (Tony Hoare): Ανέπτυξε την τυπική γλώσσα Communicating Sequential Processes (CSP) και τον αλγόριθμο ταξινόμησης Quicksort.
Γκρέις Μάρει Χόπερ (Grace Murray Hopper): Η Χόπερ έκανε πρωτοποριακή δουλειά στην υποστήριξη της αναγκαιότητας των γλωσσών προγραμματισμού υψηλού επιπέδου, που αποκάλεσε αυτόματο προγραμματισμό. Έγραψε επίσης τον Α-0 μεταγλωττιστή που επηρέασε την COBOL (Commercial Business Oriented Language).
Κένεθ Άιβερσον (Kenneth Iverson): Επινόησε την APL (A Programming Language) και συνεισέφερε στον κλάδο της αλληλεπίδρασης ανθρώπου-υπολογιστή.
Τζάσεκ Καρπίνσκι (Jacek Karpinski): Ανάπτυξε τον πρώτο διαφορικό αναλυτή που χρησιμοποιούσε τρανζίστορ, και επίσης ανέπτυξε έναν από τους πρώτους αλγόριθμους αναγνώρισης εικόνων και χαρακτήρων. Τέλος, είναι ο εφευρέτης του πρώτου μίνι-υπολογιστή, του K-202.
Ντόναλντ Κνουθ (Donald Knuth): Για τη σειρά βιβλίων The Art of Computer Programming και το λογισμικό για τυπογραφία TeX.
Τζον Μακάρθι (John McCarthy): Επινόησε την LISP (List Programming), μια συναρτησιακή γλώσσα προγραμματισμού.
Τιμ Μπέρνερς-Λι (Tim Berners-Lee): Επινόησε τον Παγκόσμιο Ιστό World Wide Web στο Διαδίκτυο.

[Επεξεργασία] Αναφορές

  1. Department of Computer and Information Science, Guttenberg Information Technologies: «Computer science is the study of information»
  2. Computer Science Department, College of Saint Benedict, Saint John's University: «Computer science is the study of computation»
  3. 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»
  4. Know your Discipline: Teaching the Philosophy of Computer Science
  5. Flake Gary William, The Computational Beauty of Nature, 2000, The MIT Press
Wikipedia-logo.png Στο λήμμα αυτό έχει ενσωματωθεί κείμενο από το λήμμα computer science της Αγγλόγλωσσης Βικιπαίδειας, η οποία διανέμεται υπό την GNU FDL και την CC-BY-SA 3.0. (ιστορικό/συντάκτες).

[Επεξεργασία] Εξωτερικοί σύνδεσμοι

Προσωπικά εργαλεία
Περιοχές ονομάτων

Παραλλαγές
Ενέργειες
Πλοήγηση
Συμμετοχή
Εκτύπωση/εξαγωγή
Εργαλειοθήκη
Άλλες γλώσσες