Γλώσσες Προγραμματισμού Σαρημπαλίδης Ιωάννης
γλωσσών προγραμματισμού Η εξέλιξη των γλωσσών προγραμματισμού Γλώσσα μηχανής Συμβολική γλώσσα Γλώσσα υψηλού επιπέδου Συμβολομεταφραστής Μεταγλωττιστής
Οι εντολές προγράμματος αποτελούνται από ακολουθίες 0 και 1 Γλώσσα μηχανής Οι εντολές προγράμματος αποτελούνται από ακολουθίες 0 και 1
Συμβολική Γλώσσα MOV AX,1234H PUSH AX MOV AH,09 INT 21H POP AX Οι εντολές αποτελούνται από συμβολικά ονόματα που αντιστοιχούν σε εντολές της γλώσσας μηχανής
των γλωσσών προγραμματισμού υψηλού επιπέδου Ας δούμε τώρα και την ιστορική εξέλιξη των γλωσσών προγραμματισμού υψηλού επιπέδου
FORTRAN (FORmula TRANslator) Κατάλληλη για την επίλυση μαθηματικών και επιστημονικών προβλημάτων John Backus 27 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
LISP (LISt Processor) 13 John McCarthy Συνδέεται στενά με τον χώρο της τεχνητής νοημοσύνης και προσανατολίζεται σε χειρισμό λιστών από σύμβολα John McCarthy 13 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
ALGOL (ALGOrithmic Language) Είναι ο πρόγονος των περισσότερων σύγχρονων δομημένων γλωσσών Friedrich L. Bauer Heinz Rutishauser Hermann Bottenbruch >50 Klaus Samelson 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
COBOL (COmmon Business Oriented Language ) Κατάλληλη για ανάπτυξη εμπορικών εφαρμογών Grace Hopper 34 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
BASIC (Beginner’s All-purpose Symbolic Instruction Code) Αναπτύχθηκε ως γλώσσα για την εκπαίδευση αρχαρίων στον προγραμματισμό. Εξελίχθηκε στην Visual Basic. Thomas Kurtz John Kemeny 5 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
PL/I (Programming Language 1) Απέτυχε να καλύψει όλους τους τομείς του προγραμματισμού >50 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
PASCAL (προς τιμή του Blaise Pascal) Γλώσσα γενικής χρήσης που είναι κατάλληλη για την δημιουργία δομημένων προγραμμάτων Niklaus Wirth 15 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
PROLOG (PROgramming LOGic) Χρησιμοποιείται κυρίως στον χώρο της τεχνητής νοημοσύνης Alain Colmerauer Robert Kowalski Philippe Roussel 43 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
C (σαν συνέχεια της γλώσσας B) Χρησιμοποιήθηκε για την συγγραφή του λειτουργικού συστήματος Unix Dennis Ritchie Kenneth Thompson 2 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
SQL (Structured Query Language) Σχεδιάστηκε για την διαχείριση δεδομένων σε ένα DBMS 14 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
Είναι μία αντικειμενοστραφής γλώσσα προγραμματισμού C++ (C με κλάσεις) Είναι μία αντικειμενοστραφής γλώσσα προγραμματισμού Bjarne Stroustrup 3 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
ADA (προς τιμή της κόρης του Λόρδου Βύρωνα) Η επίσημα γλώσσα ανάπτυξης στρατιωτικών εφαρμογών από το Υπ. Άμυνας των ΗΠΑ Jean Ichbiah 17 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
JAVA (από το όνομα αγαπητού καφέ των δημιουργών του) Σχεδιάστηκε για να καλύψει τις ανάγκες του προγραμματισμού για τον παγκόσμιο ιστό 1 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
C# (Μία C-style γλώσσα που είναι ένα βήμα μετά τις C/C++) Είναι μία γλώσσα που μοιάζει στην C και η οποία σχεδιάστηκε για την πλατφόρμα .NET 6 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
GO Μία νέα γλώσσα προγραμματισμού από την Google που έχει πολλά κοινά στοιχεία με την C 20 1955 1958 1959 1964 1970 1972 1978 1980 1983 1995 2001 2009
Οι 10 πιο διάσημες γλώσσες (Οκτώβριος 2010) 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 % Πηγή : 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
οι γλώσσες προγραμματισμού Με βάση την περιοχή χρήσης οι γλώσσες προγραμματισμού ταξινομούνται σε …
Επιστημονικής κατεύθυνσης FORTRAN Εμπορικής κατεύθυνσης COBOL Γενικής χρήσης BASIC, PASCAL Επιστημονικής κατεύθυνσης FORTRAN Εμπορικής κατεύθυνσης COBOL Προγραμματισμού συστημάτων C Τεχνητής νοημοσύνης LISP, PROLOG Ειδικής χρήσης VHDL
γλώσσα προγραμματισμού; Ένα ερώτημα που ίσως να έχετε είναι το εξής: Ποια είναι η καλύτερη γλώσσα προγραμματισμού;
γλώσσα προγραμματισμού. Η απάντηση είναι ότι δεν υπάρχει καλύτερη γλώσσα προγραμματισμού. Υπάρχουν γλώσσες που είναι κατάλληλες για μία συγκεκριμένη κατηγορία προβλημάτων