Formal Languages, Automata and Computation Regular Languages ...
Slideshow programming languages!
Transcript of Slideshow programming languages!
6ο κεφάλαιο6ο κεφάλαιο
Πλιούτα Ασπασία
Γλώσσες
Π ρογ ραμ μ ατ ι σμ ού
Η εξέλιξη των γλωσσώνπ ρογραμματισμού
Γλώσσα Μηχανής
Συμβολική Γλώσσα
Γλώσσα Υψηλού Επιπέδου
Πλιούτα Ασπασία
Μεταγλωττιστής
Συμβολο-μεταφραστής
Γλώσσα Μηχανής
Ένα πρόγραμμα σε γλώσσα μηχανής είναι μια ακολουθία δυαδικών ψηφίων, που αποτελούν εντολές προς τον επεξεργαστή για στοιχειώδεις λειτουργίες.
Πλιούτα Ασπασία
Συμβολική γλώσσα
Οι εντολές σε συμβολική γλώσσα αποτελούνται από συμβολικά ονόματα που αντιστοιχούν σε εντολές της γλώσσας μηχανής.
Πλιούτα Ασπασία
Για παράδειγμα η λέξη ADD (πρόσθεσε) ακολουθούμενη από δύο αριθμούς, είναι κατανοητή από τον άνθρωπο και απομνημονεύεται σχετικά εύκολα. Η εντολή αυτή θα μεταφραστεί από τον υπολογιστή σε μία ακολουθία δυαδικών ψηφίων και στη συνέχεια μπορεί να εκτελεστεί. Το έργο της μετάφρασης το αναλαμβάνει ένα ειδικό πρόγραμμα, ο συμβολομεταφραστής (assembler).
Ιστορική εξέλιξη των γλωσσών π πΥψηλού ε ι έδου
FORTRANFORmula TRANslation
Η γλώσσα FORTRAN υπήρξε η πρώτη γλώσσα προγραμματισμού υψηλού επιπέδου. Η FORTRAN αναπτύχθηκε ως γλώσσα κατάλληλη για την επίλυση μαθηματικών και επιστημονικών προβλημάτων.
Πλιούτα Ασπασία
1957 1958 1959 1964 1970 1972 1978 1980 1995
LISPLISt Processor
Πρόκειται για γλώσσα η οποία προσανατολίζεται σε χειρισμό λιστών από σύμβολα.Αναπτύχθηκε για προβλήματα Τεχνητής Νοημοσύνης (έμπειρα συστήματα, παιγνίδια, επεξεργασία φυσικών γλωσσών κ.λπ.).
John ΜcCarthy
Πλιούτα Ασπασία
1957 1958 1959 1964 1970 1972 1978 1980 1995
ALGOLALGOrithmic Language
Μια από τις σημαντικότερες γλώσσα προγραμματισμού με ελάχιστη πρακτική εφαρμογή αλλά που επηρέασε ιδιαίτερα τον προγραμματισμό και τις επόμενες γλώσσες, είναι η ALGOL, με σκοπό τη δημιουργία γενικής φύσης προγραμμάτων που να μη συνδέονται με συγκεκριμένες εφαρμογές.
Πλιούτα Ασπασία
Friedrich L. Bauer
Klaus Samelson
Heinz Rutishauser
1957 1958 1959 1964 1970 1972 1978 1980 1995
COBOLCOmmon Business Oriented Language
Grace Hopper
Πλιούτα Ασπασία
Δημιουργήθηκε με σκοπό την ανάπτυξη εμπορικών εφαρμογών.
1957 1958 1959 1964 1970 1972 1978 1980 1995
BASICBeginner's All-purpose Symbolic Instruction
Code
Thomas Kurtz
Η γλώσσα προγραμματισμού BASIC αρχικά αναπτύχθηκε,, ως γλώσσα για την εκπαίδευση αρχαρίων στον προγραμματισμό. . Η τυποποίηση της όμως στην συνέχεια από τη Microsoft με τις εκδόσεις QuickBasic και κύρια με τη Visual Basic, καθιέρωσε τη γλώσσα ως
πρότυπο για ανάπτυξη εφαρμογών σε προσωπικούς υπολογιστές.
Πλιούτα Ασπασία
John Kemeny
1957 1958 1959 1964 1970 1972 1978 1980 1995
PL/1 (Programming Language/1 - Γλώσσα
π' 1)Προγραμματισμού υ αριθμόν
Προσπάθησε, χωρίς επιτυχία να καλύψει όλους τους τομείς του προγραμματισμού, επιστημονικούς και εμπορικούς, αντικαθιστώντας τόσο τη FORTRAN όσο και την COBOL .
Πλιούτα Ασπασία
1957 1958 1959 1964 1970 1972 1978 1980 1995
PASCAL
Niklaus Wirth
Πλιούτα Ασπασία
Στηρίχτηκε πάνω στην ALGOL. Είναι μία γλώσσα γενικής χρήσης, η οποία είναι κατάλληλη τόσο για την εκπαίδευση όσο και τη δημιουργία ισχυρών προγραμμάτων κάθε τύπου. Χαρακτηριστικό της γλώσσας είναι η η καταλληλότητα για τη δημιουργία δομημένων προγραμμάτων.(αποτελεί βάση για τις ADA και Modula-2)
1957 1958 1959 1964 1970 1972 1978 1980 1995
PROLOGPROgramming LOGic
Robert Kowalski
Χρησιμοποιείται σε προβλήματα Τεχνητής νοημοσύνης (έμπειρα συστήματα, παιγνίδια, επεξεργασία φυσικών γλωσσών κ.λπ.).
Alain Colmerauer
Πλιούτα Ασπασία
1957 1958 1959 1964 1970 1972 1978 1980 1995
C
Dennis Ritchie
Χρησιμοποιήθηκε για την ανάπτυξη του λειτουργικού συστήματος Unix, γλώσσα με ισχυρά χαρακτηριστικά, μερικά από αυτά κοινά με την Pascal κατάλληλη για ανάπτυξη δομημένων εφαρμογών αλλά και με πολλές δυνατότητες γλώσσας χαμηλού επιπέδου. Η C εξελίχτηκε στη γλώσσα C++, που είναι αντικειμενοστραφής.
Πλιούτα Ασπασία
Kenneth Thompson
1957 1958 1959 1964 1970 1972 1978 1980 1995
SQLStructured Query Language
-Γλώσσα Ερωταπαντήσεων
-Σχεδιάστηκε για διαχείριση δεδομένων σε ένα DBMS
Πλιούτα Ασπασία
1957 1958 1959 1964 1970 1972 1978 1980 1995
C++
Bjarne Stroustrup
Πλιούτα Ασπασία
Η C εξελίχτηκε στη γλώσσα C++, που είναι αντικειμενοστραφής. Η ιδέα του αντικειμενοστραφούς προγραμματισμού παρουσιάστηκε για πρώτη φορά στη δεκαετία του 70 και συνεχίζει ακόμη να απλώνεται αλλάζοντας τον παραδοσιακό προγραμματισμό.
1957 1958 1959 1964 1970 1972 1978 1980 1995
JAVA
Η JAVA είναι μία αντικειμενοστραφής γλώσσα που αναπτύχθηκε από την εταιρεία SUN με σκοπό την ανάπτυξη εφαρμογών, που θα εκτελούνται σε κατανεμημένα περιβάλλοντα, δηλαδή σε διαφορετικούς υπολογιστές οι οποίοι είναι συνδεδεμένοι στο Διαδίκτυο. Τα προγράμματα αυτά μπορούν να εκτελούνται από διαφορετικούς υπολογιστές, προσωπικούς ή μεγάλα συστήματα με διαφορετικά λειτουργικά συστήματα χωρίς αλλαγές.
Πλιούτα Ασπασία
1957 1958 1959 1964 1970 1972 1978 1980 1995
Πλεονεκτήματα γλωσσών π π :υψηλού ε ι έδου
Πλιούτα Ασπασία
Πλιούτα Ασπασία
1. Ο φυσικότερος και πιο "ανθρώπινος" τρόπος έκφρασης των προβλημάτων. Τα προγράμματα
σε γλώσσα υψηλού επιπέδου είναι πιο κοντά στα προβλήματα που επιλύουν.
2. Η δυνατότητα μεταφερσιμότητας των προγραμμάτων.Προγράμματα σε μία γλώσσα υψηλού επιπέδου μπορούν να εκτελεστούν σε
οποιονδήποτε υπολογιστή με ελάχιστες ή καθόλου μετατροπές.
Πλιούτα Ασπασία
3. Ευκολία εκμάθησης και εκπαίδευσης.
Πλιούτα Ασπασία
4. Εύκολη διόρθωση λαθών και συντήρηση προγραμμάτων
Πλιούτα Ασπασία
πΔομημένος ρογραμματισμός : βασίζεται στην έννοια της κλήσης διαδικασίας.
πΑντικειμενοστραφής ρογραμματισμός : Ο χειρισμός σχετιζόμενων δεδομένων και διαδικασιών πουυ επενεργούν σε αυτά ,γίνεται από κοινού.
π πΟ τικός ρογραμματισμός : Επιτρέπει την δημιουργία προγραμμάτων με γραφικό τρόπο.
π πΟδηγούμενος α ό το γεγονός ρογραμματισμός : Η ροή του προγράμματος καθορίζεται από γεγονότα όπως είναι το πάτημα του ποντικιού.
Πλιούτα Ασπασία
Με κριτήριο το είδος προγραμματισμού, οι γλώσσες υψηλού επιπέδου χωρίζονται σε:
Πλιούτα Ασπασία
Διαδικασιακές C , PASCAL, BASIC
Αντικειμενοστραφείς C++, JAVA, ADA
Συναρτησιακές LISP
Μη διαδικασιακές PROLOG
Ερωταπαντήσεων SQL
Με κριτήριο την περιοχή χρήσης, οι γλώσσες υψηλού επιπέδου χωρίζονται σε
Πλιούτα Ασπασία
Γλώσσες γενικής χρήσης: -Γλώσσες επιστημονικής κατεύθυνσης -Γλώσσες εμπορικής κατεύθυνσης
-FORTRAN,BASIC,PASCAL
-COBOL,BASIC,PASCAL
Γλώσσες προγραμματισμού συστημάτων
C
Γλώσσες τεχνητής νοημοσύνης LISP, PROLOG
Γλώσσες ειδικής χρήσης γλώσσες που χρησιμοποιούνται σε ειδικές περιοχές εφαρμογών όπως π.χ. στα γραφικά με υπολογιστή, στη ρομποτική, στη σχεδίαση ολοκληρωμένων κυκλωμάτων,κ.ά.
n Ποια είναι καλύτερη γλώσσα
π ;ρογραμματισμού
Μπορούμε να ισχυριστούμε με βεβαιότητα ότι μία γλώσσαπ π ρογραμματισμού ου να είναι αντικειμενικά καλύτερη
π πα ό τις άλλες δεν υ άρχει , ούτε πρόκειται να υπάρξει.►Η επιλογή της γλώσσας για την ανάπτυξη μιας εφαρμογής εξαρτάται από το είδος της εφαρμογής, το υπολογιστικό περιβάλλον στο οποίο
θα εκτελεστεί, και κυρίως τις γνώσεις του προγραμματιστή.
Πλιούτα Ασπασία