37
Σαρημπαλίδης Ιωάννης Γλώσσες Προγραμματισμ ού

Σαρημπαλίδης Ιωάννης

  • Upload
    slade

  • View
    51

  • Download
    0

Embed Size (px)

DESCRIPTION

Γλώσσες Προγραμματισμού. Σαρημπαλίδης Ιωάννης. Η εξέλιξη των γλωσσών προγραμματισμού. Γλώσσα υψηλού επιπέδου. Γλώσσα μηχανής. Συμβολική γλώσσα. Συμβολομεταφραστής. Μεταγλωττιστής. Γλώσσα μηχανής. Οι εντολές προγράμματος αποτελούνται από ακολουθίες 0 και 1. Συμβολική Γλώσσα. - PowerPoint PPT Presentation

Citation preview

Page 1: Σαρημπαλίδης Ιωάννης

Σαρημπαλίδης Ιωάννης

Γλώσσες Προγραμματισμού

Page 2: Σαρημπαλίδης Ιωάννης

Γλώσσα μηχανής

Συμβολική γλώσσα

Γλώσσα υψηλού

επιπέδου

Η εξέλιξη των γλωσσών προγραμματισμού

Μεταγλωττιστής

Συμβολομεταφραστής

Page 3: Σαρημπαλίδης Ιωάννης

Οι εντολές προγράμματος

αποτελούνται από ακολουθίες 0 και 1

Γλώσσα μηχανής

Page 4: Σαρημπαλίδης Ιωάννης

Οι εντολές αποτελούνται από

συμβολικά ονόματα που αντιστοιχούν σε

εντολές της γλώσσας μηχανής

Συμβολική Γλώσσα

MOV AX,1234HPUSH AXMOV AH,09INT 21HPOP AX

Page 5: Σαρημπαλίδης Ιωάννης

Ας δούμε τώρα καιτην ιστορική εξέλιξη

των γλωσσών προγραμματισμού υψηλού επιπέδου

Page 6: Σαρημπαλίδης Ιωάννης

FORTRAN (FORmula TRANslator)

John Backus

Κατάλληλη για την επίλυση μαθηματικών

και επιστημονικών προβλημάτων

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

27

Page 7: Σαρημπαλίδης Ιωάννης

LISP (LISt Processor)

John McCarthy

Συνδέεται στενά με τον χώρο της τεχνητής

νοημοσύνης και προσανατολίζεται σε χειρισμό λιστών από

σύμβολα

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

13

Page 8: Σαρημπαλίδης Ιωάννης

ALGOL (ALGOrithmic Language)

Friedrich L. Bauer

Είναι ο πρόγονος των περισσότερων

σύγχρονων δομημένων γλωσσών

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

Hermann Bottenbruch

Heinz Rutishauser

Klaus Samelson >50

Page 9: Σαρημπαλίδης Ιωάννης

COBOL (COmmon Business Oriented Language )

Grace Hopper

Κατάλληλη για ανάπτυξη εμπορικών εφαρμογών

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

34

Page 10: Σαρημπαλίδης Ιωάννης

BASIC (Beginner’s All-purpose Symbolic Instruction Code)

Αναπτύχθηκε ως γλώσσα για την εκπαίδευση

αρχαρίων στον προγραμματισμό.

Εξελίχθηκε στην Visual Basic.

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

5

Thomas Kurtz John Kemeny

Page 11: Σαρημπαλίδης Ιωάννης

PL/I (Programming Language 1)

Απέτυχε να καλύψει όλους τους τομείς του

προγραμματισμού

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

>50

Page 12: Σαρημπαλίδης Ιωάννης

PASCAL (προς τιμή του Blaise Pascal)

Niklaus Wirth

Γλώσσα γενικής χρήσης που είναι κατάλληλη για

την δημιουργία δομημένων

προγραμμάτων

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

15

Page 13: Σαρημπαλίδης Ιωάννης

PROLOG (PROgramming LOGic)

Χρησιμοποιείται κυρίως στον χώρο της τεχνητής

νοημοσύνης

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

43

Alain Colmerauer

Philippe Roussel

Robert Kowalski

Page 14: Σαρημπαλίδης Ιωάννης

C (σαν συνέχεια της γλώσσας B)

Χρησιμοποιήθηκε για την συγγραφή του

λειτουργικού συστήματος Unix

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

2Dennis Ritchie Kenneth Thompson

Page 15: Σαρημπαλίδης Ιωάννης

SQL (Structured Query Language)

Σχεδιάστηκε για την διαχείριση δεδομένων σε

ένα DBMS

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

14

Page 16: Σαρημπαλίδης Ιωάννης

C++ (C με κλάσεις)

Είναι μία αντικειμενοστραφής

γλώσσα προγραμματισμού

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

3Bjarne Stroustrup

Page 17: Σαρημπαλίδης Ιωάννης

ADA (προς τιμή της κόρης του Λόρδου Βύρωνα)

Η επίσημα γλώσσα ανάπτυξης στρατιωτικών εφαρμογών από το Υπ.

Άμυνας των ΗΠΑ

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

17Jean Ichbiah

Page 18: Σαρημπαλίδης Ιωάννης

JAVA (από το όνομα αγαπητού καφέ των δημιουργών του)

Σχεδιάστηκε για να καλύψει τις ανάγκες του προγραμματισμού για

τον παγκόσμιο ιστό

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

1

Page 19: Σαρημπαλίδης Ιωάννης

C# (Μία C-style γλώσσα που είναι ένα βήμα μετά τις C/C++)

Είναι μία γλώσσα που μοιάζει στην C και η

οποία σχεδιάστηκε για την πλατφόρμα .NET

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009

6

Page 20: Σαρημπαλίδης Ιωάννης

GO

Μία νέα γλώσσα προγραμματισμού από

την Google που έχει πολλά κοινά στοιχεία με

την C

1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 200920

Page 21: Σαρημπαλίδης Ιωάννης

1 JAVA 18,166 %2 C 17,177 %3 C++ 9,802 %4 PHP 8,323 %5 VISUAL BASIC 5,650 %6 C# 4,963 %7 PYTHON 4,860 %8 OBJECTIVE – C 3,706 %9 PERL 2,310 %

10 RUBY 1,941 %

Οι 10 πιο διάσημες γλώσσες(Οκτώβριος 2010)

Πηγή : http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Page 22: Σαρημπαλίδης Ιωάννης

Ορισμένα από τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου

είναι τα εξής:

Page 23: Σαρημπαλίδης Ιωάννης

Ο φυσικότερος και πιο «ανθρώπινος» τρόπος έκφρασης των προβλημάτων

Φωτογραφία από Cuba Gallery - Now on Twitter! στο Flickr

Page 24: Σαρημπαλίδης Ιωάννης

Η δυνατότητα μεταφερσιμότητας των προγραμμάτων

Φωτογραφία από Uros Petrovic στο Flickr

Page 25: Σαρημπαλίδης Ιωάννης

Η ευκολία εκμάθησηςκαι εκπαίδευσης

Φωτογραφία από mattward στο Flickr

Page 26: Σαρημπαλίδης Ιωάννης

Ευκολότερη διόρθωση λαθών και συντήρηση των προγραμμάτων

Φωτογραφία από Odense Bys Museer στο Flickr

Page 27: Σαρημπαλίδης Ιωάννης

Είναι ένα στυλ προγραμματισμού με το οποίο προσεγγίζουμε την λύση ενός προβλήματος με συγκεκριμένες μεθόδους

Προγραμματιστικό παράδειγμα

Page 28: Σαρημπαλίδης Ιωάννης

Βασίζεται στην έννοια της κλήσης διαδικασίας

Δομημένος προγραμματισμός

Page 29: Σαρημπαλίδης Ιωάννης

Ο χειρισμός σχετιζόμενων δεδομένων και διαδικασιών που επενεργούν σε

αυτά γίνεται από κοινού

Αντικειμενοστραφής προγραμματισμός

Page 30: Σαρημπαλίδης Ιωάννης

Η ροή του προγράμματος καθορίζεται από γεγονότα όπως π.χ. είναι το κλικ

του ποντικιού

Οδηγούμενος από το γεγονός προγραμματισμός

Page 31: Σαρημπαλίδης Ιωάννης

Επιτρέπει την δημιουργία προγραμμάτων με γραφικό τρόπο(π.χ. δημιουργία ενός παραθύρου)

Οπτικός προγραμματισμός

Page 32: Σαρημπαλίδης Ιωάννης

Με βάση το στυλ προγραμματισμού

που χρησιμοποιούν οι γλώσσες προγραμματισμού

ταξινομούνται σε …

Page 33: Σαρημπαλίδης Ιωάννης

Διαδικασιακές C, BASIC, PASCAL

Αντικειμενοστραφείς JAVA, C++, ADA

Συναρτησιακές LISP

Μη διαδικασιακές PROLOG

Ερωταπαντήσεων SQL

Page 34: Σαρημπαλίδης Ιωάννης

Με βάση την περιοχή χρήσης

οι γλώσσες προγραμματισμού ταξινομούνται σε …

Page 35: Σαρημπαλίδης Ιωάννης

Γενικής χρήσης BASIC, PASCAL

Επιστημονικής κατεύθυνσης FORTRAN

Εμπορικής κατεύθυνσης COBOL

Προγραμματισμού συστημάτων C

Τεχνητής νοημοσύνης LISP, PROLOG

Ειδικής χρήσης VHDL

Page 36: Σαρημπαλίδης Ιωάννης

Ένα ερώτημα που ίσως να έχετε είναι το εξής:

Ποια είναι η καλύτερη γλώσσα προγραμματισμού;

Page 37: Σαρημπαλίδης Ιωάννης

Η απάντηση είναι ότι δεν υπάρχει καλύτερη

γλώσσα προγραμματισμού.

Υπάρχουν γλώσσες που είναι κατάλληλες για μία συγκεκριμένη

κατηγορία προβλημάτων