Σαρημπαλίδης Ιωάννης
DESCRIPTION
Γλώσσες Προγραμματισμού. Σαρημπαλίδης Ιωάννης. Η εξέλιξη των γλωσσών προγραμματισμού. Γλώσσα υψηλού επιπέδου. Γλώσσα μηχανής. Συμβολική γλώσσα. Συμβολομεταφραστής. Μεταγλωττιστής. Γλώσσα μηχανής. Οι εντολές προγράμματος αποτελούνται από ακολουθίες 0 και 1. Συμβολική Γλώσσα. - PowerPoint PPT PresentationTRANSCRIPT
Σαρημπαλίδης Ιωάννης
Γλώσσες Προγραμματισμού
Γλώσσα μηχανής
Συμβολική γλώσσα
Γλώσσα υψηλού
επιπέδου
Η εξέλιξη των γλωσσών προγραμματισμού
Μεταγλωττιστής
Συμβολομεταφραστής
Οι εντολές προγράμματος
αποτελούνται από ακολουθίες 0 και 1
Γλώσσα μηχανής
Οι εντολές αποτελούνται από
συμβολικά ονόματα που αντιστοιχούν σε
εντολές της γλώσσας μηχανής
Συμβολική Γλώσσα
MOV AX,1234HPUSH AXMOV AH,09INT 21HPOP AX
Ας δούμε τώρα καιτην ιστορική εξέλιξη
των γλωσσών προγραμματισμού υψηλού επιπέδου
FORTRAN (FORmula TRANslator)
John Backus
Κατάλληλη για την επίλυση μαθηματικών
και επιστημονικών προβλημάτων
1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
27
LISP (LISt Processor)
John McCarthy
Συνδέεται στενά με τον χώρο της τεχνητής
νοημοσύνης και προσανατολίζεται σε χειρισμό λιστών από
σύμβολα
1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
13
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
COBOL (COmmon Business Oriented Language )
Grace Hopper
Κατάλληλη για ανάπτυξη εμπορικών εφαρμογών
1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
34
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
PL/I (Programming Language 1)
Απέτυχε να καλύψει όλους τους τομείς του
προγραμματισμού
1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
>50
PASCAL (προς τιμή του Blaise Pascal)
Niklaus Wirth
Γλώσσα γενικής χρήσης που είναι κατάλληλη για
την δημιουργία δομημένων
προγραμμάτων
1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
15
PROLOG (PROgramming LOGic)
Χρησιμοποιείται κυρίως στον χώρο της τεχνητής
νοημοσύνης
1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
43
Alain Colmerauer
Philippe Roussel
Robert Kowalski
C (σαν συνέχεια της γλώσσας B)
Χρησιμοποιήθηκε για την συγγραφή του
λειτουργικού συστήματος Unix
1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
2Dennis Ritchie Kenneth Thompson
SQL (Structured Query Language)
Σχεδιάστηκε για την διαχείριση δεδομένων σε
ένα DBMS
1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
14
C++ (C με κλάσεις)
Είναι μία αντικειμενοστραφής
γλώσσα προγραμματισμού
1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
3Bjarne Stroustrup
ADA (προς τιμή της κόρης του Λόρδου Βύρωνα)
Η επίσημα γλώσσα ανάπτυξης στρατιωτικών εφαρμογών από το Υπ.
Άμυνας των ΗΠΑ
1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
17Jean Ichbiah
JAVA (από το όνομα αγαπητού καφέ των δημιουργών του)
Σχεδιάστηκε για να καλύψει τις ανάγκες του προγραμματισμού για
τον παγκόσμιο ιστό
1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
1
C# (Μία C-style γλώσσα που είναι ένα βήμα μετά τις C/C++)
Είναι μία γλώσσα που μοιάζει στην C και η
οποία σχεδιάστηκε για την πλατφόρμα .NET
1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
6
GO
Μία νέα γλώσσα προγραμματισμού από
την Google που έχει πολλά κοινά στοιχεία με
την C
1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 200920
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
Ορισμένα από τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου
είναι τα εξής:
Ο φυσικότερος και πιο «ανθρώπινος» τρόπος έκφρασης των προβλημάτων
Φωτογραφία από Cuba Gallery - Now on Twitter! στο Flickr
Η δυνατότητα μεταφερσιμότητας των προγραμμάτων
Φωτογραφία από Uros Petrovic στο Flickr
Η ευκολία εκμάθησηςκαι εκπαίδευσης
Φωτογραφία από mattward στο Flickr
Ευκολότερη διόρθωση λαθών και συντήρηση των προγραμμάτων
Φωτογραφία από Odense Bys Museer στο Flickr
Είναι ένα στυλ προγραμματισμού με το οποίο προσεγγίζουμε την λύση ενός προβλήματος με συγκεκριμένες μεθόδους
Προγραμματιστικό παράδειγμα
Βασίζεται στην έννοια της κλήσης διαδικασίας
Δομημένος προγραμματισμός
Ο χειρισμός σχετιζόμενων δεδομένων και διαδικασιών που επενεργούν σε
αυτά γίνεται από κοινού
Αντικειμενοστραφής προγραμματισμός
Η ροή του προγράμματος καθορίζεται από γεγονότα όπως π.χ. είναι το κλικ
του ποντικιού
Οδηγούμενος από το γεγονός προγραμματισμός
Επιτρέπει την δημιουργία προγραμμάτων με γραφικό τρόπο(π.χ. δημιουργία ενός παραθύρου)
Οπτικός προγραμματισμός
Με βάση το στυλ προγραμματισμού
που χρησιμοποιούν οι γλώσσες προγραμματισμού
ταξινομούνται σε …
Διαδικασιακές C, BASIC, PASCAL
Αντικειμενοστραφείς JAVA, C++, ADA
Συναρτησιακές LISP
Μη διαδικασιακές PROLOG
Ερωταπαντήσεων SQL
Με βάση την περιοχή χρήσης
οι γλώσσες προγραμματισμού ταξινομούνται σε …
Γενικής χρήσης BASIC, PASCAL
Επιστημονικής κατεύθυνσης FORTRAN
Εμπορικής κατεύθυνσης COBOL
Προγραμματισμού συστημάτων C
Τεχνητής νοημοσύνης LISP, PROLOG
Ειδικής χρήσης VHDL
Ένα ερώτημα που ίσως να έχετε είναι το εξής:
Ποια είναι η καλύτερη γλώσσα προγραμματισμού;
Η απάντηση είναι ότι δεν υπάρχει καλύτερη
γλώσσα προγραμματισμού.
Υπάρχουν γλώσσες που είναι κατάλληλες για μία συγκεκριμένη
κατηγορία προβλημάτων