ΑΕΠΠ - Εισαγωγή στον Προγραμματισμό (Μέρος Α)

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

Upload: -

Post on 24-Jun-2015

4.397 views

Category:

Education


5 download

DESCRIPTION

Μία παρουσίαση που καλύπτει την ενότητα 6.2 του βιβλίου "Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον".

TRANSCRIPT

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: ΑΕΠΠ - Εισαγωγή στον Προγραμματισμό (Μέρος Α)

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

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

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

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

Page 38: ΑΕΠΠ - Εισαγωγή στον Προγραμματισμό (Μέρος Α)

ΣΑΣ ΕΥΧΑΡΙΣΤΩ

Περισσότερα μπορείτε να βρείτε στο http://pliroforikiatschool.blogspot.com