SlideShare a Scribd company logo
1 of 26
Κεφ. 6 Εισαγωγή στον
   Προγραμματισμό
              Περιεχόμενα
Η έννοια του προγράμματος
Ιστορική αναδρομή
Φυσικές και τεχνητές γλώσσες
Τεχνικές σχεδίασης προγραμμάτων
Αντικειμενοστραφής προγραμματισμός
Προγραμματιστικά περιβάλλοντα


Ιωάννου Γιαννάκης
&6.1 Η έννοια του προγράμματος
Η επίλυση ενός προβλήματος με τον υπολογιστή
  περιλαμβάνει τρία στάδια:
 Τον ακριβή προσδιορισμό του προβλήματος

 Την ανάπτυξη του αντίστοιχου αλγορίθμου

 Την διατύπωση του αλγορίθμου σε κατανοητή μορφή από
  τον υπολογιστή

Ο προγραμματισμός ασχολείται με το τρίτο στάδιο, τη
  δημιουργία του προγράμματος δηλαδή του συνόλου των
  εντολών που πρέπει να δοθούν ώστε να υλοποιηθεί ο
  αλγόριθμος για την επίλυση του προβλήματος.
&6.1 Η έννοια του προγράμματος
   Ο προγραμματισμός είναι αυτός που δίνει την
    εντύπωση ότι, οι υπολογιστές είναι έξυπνες μηχανές
    που επιλύουν τα πολύπλοκα προβλήματα.


   Ο υπολογιστής είναι μία μηχανή που καταλαβαίνει
    μόνο δύο καταστάσεις, το μηδέν και το ένα, τα
    ψηφία του δυαδικού συστήματος.


   Ο υπολογιστής μπορεί απλά να αποθηκεύει στη
    μνήμη τις ακολουθίες των δυαδικών ψηφίων, να τις
    ανακτά, να κάνει στοιχειώδεις αριθμητικές πράξεις
    με αυτές και να τις συγκρίνει.
&6.2 Ιστορική αναδρομή
   Οι πρώτοι υπολογιστές ήταν τεράστιοι σε μέγεθος αλλά
    με πάρα πολύ περιορισμένες δυνατότητες και μικρές
    ταχύτητας επεξεργασίας.


   Εξελίχθηκαν σε πολύ μικρούς σε μέγεθος υπολογιστές
    με τεράστιες όμως δυνατότητες και ταχύτητες
    επεξεργασίας.


   Την ίδια αργή εξέλιξη ουσιαστικά έχουν και οι γλώσσες
    προγραμματισμού, οι οποίες αν και εξελίσσονται και
    συνεχώς εμπλουτίζονται με νέες δυνατότητες, τα
    χαρακτηριστικά τους και οι βασικές τους ιδιότητες
    ουσιαστικά παραμένουν τα ίδια.
&6.2.1 Γλώσσες μηχανής
   Αρχικά για να μπορέσει ο υπολογιστής να εκτελέσει μια
    οποιαδήποτε λειτουργία, έπρεπε να δοθούν κατευθείαν οι
    κατάλληλες ακολουθίες από 0 και 1, δηλαδή εντολές σε
    μορφή κατανοητή από τον υπολογιστή.


   Ελάχιστοι μπορούσαν να το κάνουν, αφού απαιτούσε βαθιά
    γνώση του υλικού και της αρχιτεκτονικής του υπολογιστή.


   Ο πρώτος υπολογιστής ο περίφημος ENIAC για να
    “προγραμματιστεί”, ώστε να εκτελέσει κάποιους
    υπολογισμούς, έπρεπε να αλλάξουν θέση εκατοντάδες
    διακόπτες και να ρυθμιστούν αντίστοιχα όλες οι καλωδιώσεις.
&6.2.2 Συμβολικές γλώσσες ή γλώσσες
             χαμηλού επιπέδου
   Από τα πρώτα χρόνια άρχισαν να γίνονται προσπάθειες
    για τη δημιουργία μίας συμβολικής γλώσσας, η οποία ενώ
    θα έχει έννοια για τον άνθρωπο, θα μετατρέπεται
    εσωτερικά από τους υπολογιστές στις αντίστοιχες
    ακολουθίες 0 και 1.
   Η χρήση των πρώτων αυτών συμβολικών γλωσσών, ήταν
    μια εξέλιξη από τις ακολουθίες δυαδικών στοιχείων.
    Ωστόσο παρέμεναν στενά συνδεδεμένες με την
    αρχιτεκτονική του κάθε υπολογιστή.
   Επίσης δεν διέθεταν εντολές πιο σύνθετων λειτουργιών
    οδηγώντας έτσι σε μακροσκελή προγράμματα, που ήταν
    δύσκολο να γραφούν και κύρια να συντηρηθούν.
   Οι γλώσσες αυτές ονομάζονται συμβολικές ή γλώσσες
    χαμηλού επιπέδου, αφού εξαρτώνται από την
    αρχιτεκτονική του υπολογιστή.
&6.2.2 Συμβολικές γλώσσες ή γλώσσες
            χαμηλού επιπέδου




Ένα πρόγραμμα σε γλώσσα μηχανής, σε συμβολική
  γλώσσα και σε γλώσσα υψηλού επιπέδου για τον
  υπολογισμό του αθροίσματος των αριθμών 0 και 1.
&6.2.3 Γλώσσες υψηλού επιπέδου


Οι παραπάνω ανεπάρκειες των συμβολικών γλωσσών και η
   προσπάθεια για καλύτερη επικοινωνία ανθρώπου – μηχανής,
   οδήγησαν στα τέλη της δεκαετίας του 50 στην εμφάνιση των
   πρώτων γλωσσών προγραμματισμού υψηλού επιπέδου.
&6.2.3 Γλώσσες υψηλού επιπέδου
Το 1957 η IBM ανάπτυξε την πρώτη γλώσσα υψηλού επιπέδου τη
  FORTRAN. Το όνομα FORTRAN προέρχεται από τις λέξεις
  FORmula TRANslation, που σημαίνουν μετάφραση τύπων. Η
  FORTRAN αναπτύχθηκε ως γλώσσα κατάλληλη για την επίλυση
  μαθηματικών και επιστημονικών προβλημάτων
&6.2.3 Γλώσσες υψηλού επιπέδου
Το 1957 η IBM ανάπτυξε την πρώτη γλώσσα υψηλού επιπέδου τη
   FORTRAN. Το όνομα FORTRAN προέρχεται από τις λέξεις FORmula
   TRANslation, που σημαίνουν μετάφραση τύπων. Η FORTRAN
   αναπτύχθηκε ως γλώσσα κατάλληλη για την επίλυση μαθηματικών και
   επιστημονικών προβλημάτων. Το ίδιο πρόγραμμα FORTRAN μπορεί να
   εκτελεστεί σε οποιοδήποτε άλλο υπολογιστή, αρκεί να υπάρχει ο
   αντίστοιχος μεταγλωττιστής για αυτόν τον υπολογιστή.
Η γλώσσα FORTRAN μετά από πολλές αλλαγές, προσθήκες και βελτιώσεις
   χρησιμοποιείται ακόμη και σήμερα για επιστημονικές εφαρμογές.
&6.2.3 Γλώσσες υψηλού επιπέδου
   Το 1960 αναπτύχθηκε μη γλώσσα COBOL. Η COBOL είναι
    κατάλληλη για ανάπτυξη εμπορικών εφαρμογών, και γενικότερα
    διαχειριστικών εφαρμογών, τομέας όπου η FORTRAN υστερούσε.
&6.2.3 Γλώσσες υψηλού επιπέδου
Μια από τις σημαντικότερες γλώσσα προγραμματισμού με ελάχιστη
   πρακτική εφαρμογή αλλά που επηρέασε ιδιαίτερα τον
   προγραμματισμό και τις επόμενες γλώσσες, είναι η ALGOL
   (ALGOrithmic Language).
Αναπτύχθηκε από Ευρωπαίους επιστήμονες, αρχικά το 1960, με σκοπό
  τη δημιουργία γενικής φύσης προγραμμάτων που να μη συνδέονται
  με συγκεκριμένες εφαρμογές.
Στα μέσα της δεκαετίας του 60 αναπτύχθηκε η γλώσσα PL/1
   (Programming Language / 1) που προσπάθησε, χωρίς επιτυχία να
   καλύψει όλους τους τομείς του προγραμματισμού, επιστημονικούς
   και εμπορικούς, αντικαθιστώντας τόσο τη FORTRAN όσο και την
   COBOL.
Στο χώρο της Τεχνητής Νοημοσύνης αναπτύχθηκαν δύο γλώσσες
   αρκετά διαφορετικές από όλες τις άλλες. Στα μέσα του 60
   αναπτύχθηκε στο ΜΙΤ η LISP (LISt Processor), γλώσσα η οποία
   προσανατολίζεται σε χειρισμό λιστών από σύμβολα και η PROLOG
   (PROgramming LOGic) στις αρχές του 70.
&6.2.3 Γλώσσες υψηλού επιπέδου
                         Γλώσσα Basic
Δύο σημαντικότατες γλώσσες γενικού σκοπού, οι οποίες
  αναπτύχθηκαν τη δεκαετία του 60 αλλά χρησιμοποιούνται πάρα
  πολύ στις ημέρες μας, είναι η BASIC και η PASCAL.
Η γλώσσα προγραμματισμού BASIC αρχικά αναπτύχθηκε ως γλώσσα
   για την εκπαίδευση αρχαρίων στον προγραμματισμό. Σχεδιάστηκε
   για να γράφονται σύντομα προγράμματα, τα οποία εκτελούνται με
   τη βοήθεια διερμηνευτή (interpreter). Η ανάπτυξη όμως των
   μικροϋπολογιστών και οι συνεχείς εκδόσεις της γλώσσας βοήθησαν
   στην εξάπλωσή της, τόσο ώστε να γίνει ίσως η δημοφιλέστερη
   γλώσσα στους προσωπικούς υπολογιστές.
&6.2.3 Γλώσσες υψηλού επιπέδου
                         Γλώσσα Pascal


Η γλώσσα PASCAL έφερε μεγάλες αλλαγές στον προγραμματισμό.
   Παρουσιάστηκε το 1970 και στηρίχτηκε πάνω στην ALGOL . Είναι
   μία γλώσσα γενικής χρήσης, η οποία είναι κατάλληλη τόσο για την
   εκπαίδευση όσο και τη δημιουργία ισχυρών προγραμμάτων κάθε
   τύπου.
Χαρακτηριστικό της γλώσσας είναι η η καταλληλότητα για τη
  δημιουργία δομημένων προγραμμάτων.
Η PASCAL γνώρισε και συνεχίζει να γνωρίζει τεράστια εξάπλωση ειδικά
   στο χώρο των μικροϋπολογιστών και αποτέλεσε τη βάση για την
   ανάπτυξη άλλων ισχυρότερων γλωσσών όπως η ADA και η Modula-
   2.
&6.2.3 Γλώσσες υψηλού επιπέδου

           Τεχνική Δομημένου Προγραμματισμού


Στα μέσα του 1960 παρουσιάστηκε για πρώτη φορά μία τεχνική
   σχεδίασης προγραμμάτων που έμελλε να αλλάξει ριζικά τον
   τρόπο ανάπτυξης προγραμμάτων καθώς και τις ίδιες τις
   γλώσσες προγραμματισμού. Η τεχνική του δομημένου
   προγραμματισμού η οποία εξασφαλίζει τη δημιουργία
   προγραμμάτων απλών στη συγγραφή και την κατανόηση και
   εύκολων στη διόρθωση.
Ο δομημένος προγραμματισμός και τα χαρακτηριστικά του θα
   παρουσιαστούν εκτενώς σε επόμενη παράγραφο.
&6.2.3 Γλώσσες υψηλού επιπέδου
                         Γλώσσα C
Μία ακόμη γλώσσα που γνώρισε μεγάλη διάδοση είναι η γλώσσα
   C. Η C αναπτύχθηκε στα εργαστήρια της εταιρείας BELL και
   χρησιμοποιήθηκε για την ανάπτυξη του λειτουργικού
   συστήματος Unix. Είναι μία γλώσσα με ισχυρά
   χαρακτηριστικά, μερικά από αυτά κοινά με την Pascal,
   κατάλληλη για ανάπτυξη δομημένων εφαρμογών αλλά και με
   πολλές δυνατότητες γλώσσας χαμηλού επιπέδου.
Η C εξελίχτηκε στη γλώσσα C++, η οποία είναι
   αντικειμενοστραφής.
&6.2.3 Γλώσσες υψηλού επιπέδου

                             Java
Τα τελευταία χρόνια χρησιμοποιείται ιδιαίτερα, ειδικά για
  προγραμματισμό στο Διαδίκτυο, η JAVA.
H JAVA είναι μία αντικειμενοστραφής γλώσσα που αναπτύχθηκε
   από την εταιρεία SUN με σκοπό την ανάπτυξη εφαρμογών,
   που θα εκτελούνται σε διαφορετικούς υπολογιστές οι οποίοι
   είναι συνδεδεμένοι στο Διαδίκτυο.
Τα προγράμματα αυτά μπορούν να εκτελούνται από
  διαφορετικούς υπολογιστές, προσωπικούς ή μεγάλα
  συστήματα με διαφορετικά λειτουργικά συστήματα χωρίς
  αλλαγές.
&6.2.3 Γλώσσες υψηλού επιπέδου
               Οπτικός Προγραμματισμός

Με τον όρο οπτικό εννοούμε τη δυνατότητα να δημιουργούμε
  γραφικά περιβάλλοντα της εφαρμογής για παράδειγμα τα
  πλαίσια διαλόγου ή το μενού.

Με τον όρο οδηγούμενο από το γεγονός προγραμματισμό
  εννοούμε τη δυνατότητα να ενεργοποιούνται λειτουργίες
  του προγράμματος με την εκτέλεση ενός γεγονότος, για
  παράδειγμα την επιλογή μίας εντολής από ένα μενού ή το
  κλικ του ποντικιού.

Οι πιο διαδεδομένες γλώσσες προγραμματισμού σε
   γραφικό περιβάλλον για προσωπικούς υπολογιστές είναι η
   Visual Basic, η Visual C++ και η Java.
&6.2.3 Γλώσσες υψηλού επιπέδου
&6.7 Προγραμματιστικά
             Περιβάλλοντα

Κάθε πρόγραμμα που γράφτηκε σε οποιαδήποτε γλώσσα
  προγραμματισμού, πρέπει να μετατραπεί σε μορφή
  αναγνωρίσιμη και εκτελέσιμη από τον υπολογιστή, δηλαδή
  σε γλώσσα μηχανής.
Η μετατροπή αυτή γίνεται με τη χρήση ειδικών
  μεταφραστικών προγραμμάτων.
Υπάρχουν δύο μεγάλες κατηγορίες τέτοιων προγραμμάτων, οι
  μεταγλωττιστές (compilers) και οι διερμηνευτές
  (interpreters).
&6.7 Προγραμματιστικά Περιβάλλοντα

              Μεταγλωττιστές (Compilers)

Ο μεταγλωττιστής δέχεται στην είσοδο ένα πρόγραμμα
  γραμμένο σε γλώσσα υψηλού επιπέδου και παράγει ένα
  ισοδύναμο πρόγραμμα σε γλώσσα μηχανής, το οποίο μπορεί
  να εκτελείται οποτεδήποτε από τον υπολογιστή και είναι
  τελείως ανεξάρτητο από το αρχικό πρόγραμμα.

Το αρχικό πρόγραμμα λέγεται πηγαίο (source) πρόγραμμα,
  ενώ το πρόγραμμα που παράγεται από το μεταγλωττιστή
  λέγεται αντικείμενο (object) πρόγραμμα.
&6.7 Προγραμματιστικά Περιβάλλοντα
Το αντικείμενο πρόγραμμα είναι μεν σε μορφή κατανοητή από
  τον υπολογιστή, αλλά συνήθως δεν είναι σε θέση να
  εκτελεστεί. Χρειάζεται να συμπληρωθεί και να συνδεθεί με
  άλλα τμήματα προγράμματος απαραίτητα για την εκτέλεση
  του, τμήματα που είτε τα γράφει ο προγραμματιστής είτε
  βρίσκονται σε βιβλιοθήκες (libraries) της γλώσσας. Το
  πρόγραμμα που επιτρέπει αυτή τη σύνδεση ονομάζεται
  συνδέτης – φορτωτής (linker - loader). Το αποτέλεσμα
  του συνδέτη είναι η παραγωγή του εκτελέσιμου
  προγράμματος (executable), το οποίο είναι το τελικό
  πρόγραμμα που εκτελείται από τον υπολογιστή.
&6.7 Προγραμματιστικά Περιβάλλοντα
Ο διερμηνευτής διαβάζει μία προς μία τις εντολές του
  αρχικού προγράμματος και για κάθε μια εκτελεί αμέσως μια
  ισοδύναμη ακολουθία εντολών μηχανής.
&6.7 Προγραμματιστικά Περιβάλλοντα
                         Λάθη προγράμματος
   Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο στην
    περίπτωση, που το αρχικό πρόγραμμα δεν περιέχει λάθη.
   Τις περισσότερες φορές κάθε πρόγραμμα αρχικά θα έχει λάθη. Τα λάθη
    του προγράμματος είναι γενικά δύο ειδών, λογικά και συντακτικά.
   Τα λογικά λάθη εμφανίζονται μόνο στην εκτέλεση, ενώ τα
    συντακτικά λάθη στο στάδιο της μεταγλώττισης.
   Τα λογικά λάθη που είναι τα πλέον σοβαρά και δύσκολα στη
    διόρθωση τους, οφείλονται σε σφάλματα κατά την υλοποίηση του
    αλγορίθμου.
   Τα συντακτικά οφείλονται σε αναγραμματισμούς ονομάτων εντολών,
    παράληψη δήλωσης δεδομένων και πρέπει πάντα να διορθωθούν, ώστε
    να παραχθεί το τελικό εκτελέσιμο πρόγραμμα.
&6.7 Προγραμματιστικά Περιβάλλοντα


                     Συντάκτης (editor)
   Για την αρχική σύνταξη των προγραμμάτων και τη
    διόρθωσή τους στη συνέχεια χρησιμοποιείται ένα ειδικό
    πρόγραμμα που ονομάζεται συντάκτης (editor).
   Ο συντάκτης είναι ουσιαστικά ένας μικρός επεξεργαστής
    κειμένου, με δυνατότητες όμως που διευκολύνουν τη
    γρήγορη γραφή των εντολών των προγραμμάτων .
&6.7 Προγραμματιστικά Περιβάλλοντα


Για τη δημιουργία, τη μετάφραση και την εκτέλεση ενός
   προγράμματος απαιτούνται τουλάχιστον τρία προγράμματα:
    – ο συντάκτης (editor)
    – ο μεταγλωττιστής (compiler)
    – ο συνδέτης (linker)
   Τα σύγχρονα προγραμματιστικά περιβάλλοντα παρέχουν αυτά
    τα προγράμματα με ενιαίο τρόπο.

More Related Content

What's hot

ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες ΑλγορίθμωνΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
evoyiatz
 
ΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
ΑΕΠΠ: Σύνθετες Λογικές ΣυνθήκεςΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
ΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
Nikos Michailidis
 
ΑΕΠΠ: Δομή Επιλογής - Μέρος Α΄
ΑΕΠΠ: Δομή Επιλογής - Μέρος Α΄ΑΕΠΠ: Δομή Επιλογής - Μέρος Α΄
ΑΕΠΠ: Δομή Επιλογής - Μέρος Α΄
Nikos Michailidis
 

What's hot (20)

Aepp-6.4-6.7-tsiotakis
Aepp-6.4-6.7-tsiotakisAepp-6.4-6.7-tsiotakis
Aepp-6.4-6.7-tsiotakis
 
ΑΕΠΠ ΚΕΦ 7
ΑΕΠΠ ΚΕΦ 7ΑΕΠΠ ΚΕΦ 7
ΑΕΠΠ ΚΕΦ 7
 
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ
 
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες ΑλγορίθμωνΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
ΑΕΠΠ κεφ2 μέρος Α Βασικές Εννοιες Αλγορίθμων
 
ΑΕΠΠ - Μάθημα 1
ΑΕΠΠ - Μάθημα 1ΑΕΠΠ - Μάθημα 1
ΑΕΠΠ - Μάθημα 1
 
ΤΟΓΙΑ Β ΓΥΜΝΑΣΙΟΥ ΜΑΘΗΜΑ 1
ΤΟΓΙΑ Β ΓΥΜΝΑΣΙΟΥ ΜΑΘΗΜΑ 1 ΤΟΓΙΑ Β ΓΥΜΝΑΣΙΟΥ ΜΑΘΗΜΑ 1
ΤΟΓΙΑ Β ΓΥΜΝΑΣΙΟΥ ΜΑΘΗΜΑ 1
 
κεφαλαιο 7
κεφαλαιο 7κεφαλαιο 7
κεφαλαιο 7
 
ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
 
ΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
ΑΕΠΠ: Σύνθετες Λογικές ΣυνθήκεςΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
ΑΕΠΠ: Σύνθετες Λογικές Συνθήκες
 
Εφαρμογές νέφους Παρουσίαση 01
Εφαρμογές νέφους Παρουσίαση 01Εφαρμογές νέφους Παρουσίαση 01
Εφαρμογές νέφους Παρουσίαση 01
 
Eισαγωγή στις αρχές της επιστήμης των HY κεφ 1
Eισαγωγή στις αρχές της επιστήμης των HY κεφ 1Eισαγωγή στις αρχές της επιστήμης των HY κεφ 1
Eισαγωγή στις αρχές της επιστήμης των HY κεφ 1
 
Προγραμματισμός - Γλώσσα μηχανής
Προγραμματισμός - Γλώσσα μηχανής Προγραμματισμός - Γλώσσα μηχανής
Προγραμματισμός - Γλώσσα μηχανής
 
1.1 επιστημη των υπολογιστων
1.1 επιστημη των υπολογιστων1.1 επιστημη των υπολογιστων
1.1 επιστημη των υπολογιστων
 
ΑΕΠΠ - μάθημα 28
ΑΕΠΠ - μάθημα 28ΑΕΠΠ - μάθημα 28
ΑΕΠΠ - μάθημα 28
 
κεφάλαιο 6
κεφάλαιο 6κεφάλαιο 6
κεφάλαιο 6
 
Αλγοριθμική Δομή Επιλογής
Αλγοριθμική Δομή ΕπιλογήςΑλγοριθμική Δομή Επιλογής
Αλγοριθμική Δομή Επιλογής
 
ΑΕΠΠ: Δομή Επιλογής - Μέρος Α΄
ΑΕΠΠ: Δομή Επιλογής - Μέρος Α΄ΑΕΠΠ: Δομή Επιλογής - Μέρος Α΄
ΑΕΠΠ: Δομή Επιλογής - Μέρος Α΄
 
Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"
Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"
Παρουσίαση του μαθήματος "Εισαγωγή στις αρχές της Επιστήμης των Η/Υ"
 
Πληροφορική Γ' γυμνασίου
Πληροφορική Γ' γυμνασίουΠληροφορική Γ' γυμνασίου
Πληροφορική Γ' γυμνασίου
 
Kef09
Kef09Kef09
Kef09
 

Similar to Κεφ. 6 Εισαγωγή στον Προγραμματισμό

Ιστορία του Προγραμματισμού των Ηλεκτρονικών Υπολογιστών
Ιστορία του Προγραμματισμού των Ηλεκτρονικών ΥπολογιστώνΙστορία του Προγραμματισμού των Ηλεκτρονικών Υπολογιστών
Ιστορία του Προγραμματισμού των Ηλεκτρονικών Υπολογιστών
Stathis Gourzis
 
Η γλώσσα προγραμματισμού GW – Βasic.
Η γλώσσα προγραμματισμού GW – Βasic.Η γλώσσα προγραμματισμού GW – Βasic.
Η γλώσσα προγραμματισμού GW – Βasic.
Stathis Gourzis
 
Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.
Stathis Gourzis
 
Η γλώσσα προγραμματισμού C++.
Η γλώσσα προγραμματισμού C++.Η γλώσσα προγραμματισμού C++.
Η γλώσσα προγραμματισμού C++.
Stathis Gourzis
 
Η γλώσσα προγραμματισμού Clipper.
Η γλώσσα προγραμματισμού Clipper.Η γλώσσα προγραμματισμού Clipper.
Η γλώσσα προγραμματισμού Clipper.
Stathis Gourzis
 
6.1 Γλώσσες και εργαλεία προγραμματισμού
6.1 Γλώσσες και εργαλεία προγραμματισμού6.1 Γλώσσες και εργαλεία προγραμματισμού
6.1 Γλώσσες και εργαλεία προγραμματισμού
ΑΡΓΚΕΝ ΖΟΤΚΑ
 
Slideshow programming languages!
Slideshow programming languages!Slideshow programming languages!
Slideshow programming languages!
apihappy
 
Η γλώσσα προγραμματισμού Java.
Η γλώσσα προγραμματισμού Java.Η γλώσσα προγραμματισμού Java.
Η γλώσσα προγραμματισμού Java.
Stathis Gourzis
 
Προγραμματισμός σε Clipper - 1
Προγραμματισμός σε Clipper - 1Προγραμματισμός σε Clipper - 1
Προγραμματισμός σε Clipper - 1
Stathis Gourzis
 

Similar to Κεφ. 6 Εισαγωγή στον Προγραμματισμό (20)

Aepp-6.1-6.2-6.3-tsiotakis
Aepp-6.1-6.2-6.3-tsiotakisAepp-6.1-6.2-6.3-tsiotakis
Aepp-6.1-6.2-6.3-tsiotakis
 
Eisagwgi
EisagwgiEisagwgi
Eisagwgi
 
Γλώσσες προγραμματισμού
Γλώσσες προγραμματισμούΓλώσσες προγραμματισμού
Γλώσσες προγραμματισμού
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥκεφ 2 3 1
Εισαγωγή στις αρχές της επιστήμης των ΗΥκεφ 2 3 1Εισαγωγή στις αρχές της επιστήμης των ΗΥκεφ 2 3 1
Εισαγωγή στις αρχές της επιστήμης των ΗΥκεφ 2 3 1
 
Ιστορία του Προγραμματισμού των Ηλεκτρονικών Υπολογιστών
Ιστορία του Προγραμματισμού των Ηλεκτρονικών ΥπολογιστώνΙστορία του Προγραμματισμού των Ηλεκτρονικών Υπολογιστών
Ιστορία του Προγραμματισμού των Ηλεκτρονικών Υπολογιστών
 
Η γλώσσα προγραμματισμού GW – Βasic.
Η γλώσσα προγραμματισμού GW – Βasic.Η γλώσσα προγραμματισμού GW – Βasic.
Η γλώσσα προγραμματισμού GW – Βasic.
 
Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.Η γλώσσα προγραμματισμού C.
Η γλώσσα προγραμματισμού C.
 
Η γλώσσα προγραμματισμού C++.
Η γλώσσα προγραμματισμού C++.Η γλώσσα προγραμματισμού C++.
Η γλώσσα προγραμματισμού C++.
 
κεφ 6 ανάπτυξη εφαρμογών
κεφ 6 ανάπτυξη εφαρμογώνκεφ 6 ανάπτυξη εφαρμογών
κεφ 6 ανάπτυξη εφαρμογών
 
Η γλώσσα προγραμματισμού Clipper.
Η γλώσσα προγραμματισμού Clipper.Η γλώσσα προγραμματισμού Clipper.
Η γλώσσα προγραμματισμού Clipper.
 
6.1 Γλώσσες και εργαλεία προγραμματισμού
6.1 Γλώσσες και εργαλεία προγραμματισμού6.1 Γλώσσες και εργαλεία προγραμματισμού
6.1 Γλώσσες και εργαλεία προγραμματισμού
 
Slideshow programming languages!
Slideshow programming languages!Slideshow programming languages!
Slideshow programming languages!
 
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 2
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 2Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 2
Εισαγωγή στις αρχές της επιστήμης των ΗΥ κεφ 2 3 2
 
Η γλώσσα προγραμματισμού Java.
Η γλώσσα προγραμματισμού Java.Η γλώσσα προγραμματισμού Java.
Η γλώσσα προγραμματισμού Java.
 
Kef 1 4 & 1 5
Kef 1 4 & 1 5Kef 1 4 & 1 5
Kef 1 4 & 1 5
 
Περιβάλλοντα ανάπτυξης εφαρμογών
Περιβάλλοντα ανάπτυξης εφαρμογώνΠεριβάλλοντα ανάπτυξης εφαρμογών
Περιβάλλοντα ανάπτυξης εφαρμογών
 
C_03112023.pdf
C_03112023.pdfC_03112023.pdf
C_03112023.pdf
 
Προγραμματισμός σε Clipper - 1
Προγραμματισμός σε Clipper - 1Προγραμματισμός σε Clipper - 1
Προγραμματισμός σε Clipper - 1
 
Kephalaio 5-6-7
 Kephalaio 5-6-7 Kephalaio 5-6-7
Kephalaio 5-6-7
 
Linux and C
Linux and CLinux and C
Linux and C
 

More from Ιωάννου Γιαννάκης

More from Ιωάννου Γιαννάκης (20)

Karel The Robot
Karel The RobotKarel The Robot
Karel The Robot
 
MakeCode.ppt
MakeCode.pptMakeCode.ppt
MakeCode.ppt
 
App inventor2
App inventor2App inventor2
App inventor2
 
Pencil code
Pencil codePencil code
Pencil code
 
Cloud computing
 Cloud computing Cloud computing
Cloud computing
 
Proxy server
Proxy serverProxy server
Proxy server
 
Alice 3
Alice 3Alice 3
Alice 3
 
Εισαγωγή στο Alice 3
Εισαγωγή στο Alice 3Εισαγωγή στο Alice 3
Εισαγωγή στο Alice 3
 
11 συγχρονισμός ώρας συστήματος
11 συγχρονισμός ώρας συστήματος11 συγχρονισμός ώρας συστήματος
11 συγχρονισμός ώρας συστήματος
 
Σωληνώσεις cat sort tee
Σωληνώσεις cat sort teeΣωληνώσεις cat sort tee
Σωληνώσεις cat sort tee
 
Παρακολούθηση διεργασιών
Παρακολούθηση διεργασιώνΠαρακολούθηση διεργασιών
Παρακολούθηση διεργασιών
 
Eντολή Chmod
Eντολή ChmodEντολή Chmod
Eντολή Chmod
 
Eντολές More less head tail
Eντολές More less head tailEντολές More less head tail
Eντολές More less head tail
 
Εντολές lp wc grep
Εντολές lp wc grepΕντολές lp wc grep
Εντολές lp wc grep
 
10 εντολές cp mv rm ln
10 εντολές cp mv rm ln10 εντολές cp mv rm ln
10 εντολές cp mv rm ln
 
09 εντολές mkdir rmdir
09 εντολές mkdir rmdir09 εντολές mkdir rmdir
09 εντολές mkdir rmdir
 
08 εντολή cd
08 εντολή cd08 εντολή cd
08 εντολή cd
 
07 εντολές pwd ls
07 εντολές pwd ls07 εντολές pwd ls
07 εντολές pwd ls
 
06 εντολές clear cal date finger
06 εντολές clear cal date finger06 εντολές clear cal date finger
06 εντολές clear cal date finger
 
05 απόλυτη σχετική διαδρομή
05 απόλυτη  σχετική διαδρομή05 απόλυτη  σχετική διαδρομή
05 απόλυτη σχετική διαδρομή
 

Recently uploaded

εργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptxεργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptx
Effie Lampropoulou
 

Recently uploaded (14)

Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣΗ ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
Η ΒΙΟΜΗΧΑΝΙΚΗ ΕΠΑΝΑΣΤΑΣΗ,ΜΠΟΗΣ ΧΡΗΣΤΟΣ - ΜΑΓΟΥΛΑΣ ΘΩΜΑΣ
 
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
ΧΑΝΟΣ ΚΡΟΥΜΟΣ-ΒΑΣΙΛΙΑΣ ΝΙΚΗΦΟΡΟΣ,ΚΡΙΣΤΙΝΑ ΚΡΑΣΤΕΒΑ
 
Σχέσεις στην εφηβεία_έρωτας
Σχέσεις                     στην εφηβεία_έρωταςΣχέσεις                     στην εφηβεία_έρωτας
Σχέσεις στην εφηβεία_έρωτας
 
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗΗ ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ,  ΣΤΑΥΡΟΥΛΑ  ΜΠΕΚΙΑΡΗ
Η ΚΩΝΣΤΑΝΤΙΝΟΥΠΟΛΗ, ΣΤΑΥΡΟΥΛΑ ΜΠΕΚΙΑΡΗ
 
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
Παρουσίαση δράσεων στην Τεχνόπολη. 2023-2024
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
 
Σεβασμός .
Σεβασμός                                   .Σεβασμός                                   .
Σεβασμός .
 
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
Ο ΧΡΙΣΤΟΦΟΡΟΣ ΚΟΛΟΜΒΟΣ ΚΑΙ Η ΑΝΑΚΑΛΥΨΗ ΤΗΣ ΑΜΕΡΙΚΗΣ,ΕΙΡΗΝΗ ΝΤΟΥΣΚΑ-ΠΕΝΥ ΖΑΓΓΟ...
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .
 
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
 
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
ΘΕΣΣΑΛΟΝΙΚΗ Η ΔΕΥΤΕΡΗ ΠΟΛΗ ΤΗΣ ΒΥΖΑΝΤΙΝΗΣ ΑΥΤΟΚΡΑΤΟΡΙΑΣ, ΔΑΝΑΗ ΠΑΝΟΥ
 
Ο εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος ΔόσηςΟ εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
Ο εκχριστιανισμός των Σλάβων, Άγγελος Δόσης
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣΗ ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ 2008 ΓΙΑ ΕΚΠΑΙΔΕΥΤΙΚΟΥΣ
 
εργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptxεργασία εφημερίδας για την διατροφή.pptx
εργασία εφημερίδας για την διατροφή.pptx
 

Κεφ. 6 Εισαγωγή στον Προγραμματισμό

  • 1. Κεφ. 6 Εισαγωγή στον Προγραμματισμό Περιεχόμενα Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Αντικειμενοστραφής προγραμματισμός Προγραμματιστικά περιβάλλοντα Ιωάννου Γιαννάκης
  • 2. &6.1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία στάδια:  Τον ακριβή προσδιορισμό του προβλήματος  Την ανάπτυξη του αντίστοιχου αλγορίθμου  Την διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον υπολογιστή Ο προγραμματισμός ασχολείται με το τρίτο στάδιο, τη δημιουργία του προγράμματος δηλαδή του συνόλου των εντολών που πρέπει να δοθούν ώστε να υλοποιηθεί ο αλγόριθμος για την επίλυση του προβλήματος.
  • 3. &6.1 Η έννοια του προγράμματος  Ο προγραμματισμός είναι αυτός που δίνει την εντύπωση ότι, οι υπολογιστές είναι έξυπνες μηχανές που επιλύουν τα πολύπλοκα προβλήματα.  Ο υπολογιστής είναι μία μηχανή που καταλαβαίνει μόνο δύο καταστάσεις, το μηδέν και το ένα, τα ψηφία του δυαδικού συστήματος.  Ο υπολογιστής μπορεί απλά να αποθηκεύει στη μνήμη τις ακολουθίες των δυαδικών ψηφίων, να τις ανακτά, να κάνει στοιχειώδεις αριθμητικές πράξεις με αυτές και να τις συγκρίνει.
  • 4. &6.2 Ιστορική αναδρομή  Οι πρώτοι υπολογιστές ήταν τεράστιοι σε μέγεθος αλλά με πάρα πολύ περιορισμένες δυνατότητες και μικρές ταχύτητας επεξεργασίας.  Εξελίχθηκαν σε πολύ μικρούς σε μέγεθος υπολογιστές με τεράστιες όμως δυνατότητες και ταχύτητες επεξεργασίας.  Την ίδια αργή εξέλιξη ουσιαστικά έχουν και οι γλώσσες προγραμματισμού, οι οποίες αν και εξελίσσονται και συνεχώς εμπλουτίζονται με νέες δυνατότητες, τα χαρακτηριστικά τους και οι βασικές τους ιδιότητες ουσιαστικά παραμένουν τα ίδια.
  • 5. &6.2.1 Γλώσσες μηχανής  Αρχικά για να μπορέσει ο υπολογιστής να εκτελέσει μια οποιαδήποτε λειτουργία, έπρεπε να δοθούν κατευθείαν οι κατάλληλες ακολουθίες από 0 και 1, δηλαδή εντολές σε μορφή κατανοητή από τον υπολογιστή.  Ελάχιστοι μπορούσαν να το κάνουν, αφού απαιτούσε βαθιά γνώση του υλικού και της αρχιτεκτονικής του υπολογιστή.  Ο πρώτος υπολογιστής ο περίφημος ENIAC για να “προγραμματιστεί”, ώστε να εκτελέσει κάποιους υπολογισμούς, έπρεπε να αλλάξουν θέση εκατοντάδες διακόπτες και να ρυθμιστούν αντίστοιχα όλες οι καλωδιώσεις.
  • 6. &6.2.2 Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου  Από τα πρώτα χρόνια άρχισαν να γίνονται προσπάθειες για τη δημιουργία μίας συμβολικής γλώσσας, η οποία ενώ θα έχει έννοια για τον άνθρωπο, θα μετατρέπεται εσωτερικά από τους υπολογιστές στις αντίστοιχες ακολουθίες 0 και 1.  Η χρήση των πρώτων αυτών συμβολικών γλωσσών, ήταν μια εξέλιξη από τις ακολουθίες δυαδικών στοιχείων. Ωστόσο παρέμεναν στενά συνδεδεμένες με την αρχιτεκτονική του κάθε υπολογιστή.  Επίσης δεν διέθεταν εντολές πιο σύνθετων λειτουργιών οδηγώντας έτσι σε μακροσκελή προγράμματα, που ήταν δύσκολο να γραφούν και κύρια να συντηρηθούν.  Οι γλώσσες αυτές ονομάζονται συμβολικές ή γλώσσες χαμηλού επιπέδου, αφού εξαρτώνται από την αρχιτεκτονική του υπολογιστή.
  • 7. &6.2.2 Συμβολικές γλώσσες ή γλώσσες χαμηλού επιπέδου Ένα πρόγραμμα σε γλώσσα μηχανής, σε συμβολική γλώσσα και σε γλώσσα υψηλού επιπέδου για τον υπολογισμό του αθροίσματος των αριθμών 0 και 1.
  • 8. &6.2.3 Γλώσσες υψηλού επιπέδου Οι παραπάνω ανεπάρκειες των συμβολικών γλωσσών και η προσπάθεια για καλύτερη επικοινωνία ανθρώπου – μηχανής, οδήγησαν στα τέλη της δεκαετίας του 50 στην εμφάνιση των πρώτων γλωσσών προγραμματισμού υψηλού επιπέδου.
  • 9. &6.2.3 Γλώσσες υψηλού επιπέδου Το 1957 η IBM ανάπτυξε την πρώτη γλώσσα υψηλού επιπέδου τη FORTRAN. Το όνομα FORTRAN προέρχεται από τις λέξεις FORmula TRANslation, που σημαίνουν μετάφραση τύπων. Η FORTRAN αναπτύχθηκε ως γλώσσα κατάλληλη για την επίλυση μαθηματικών και επιστημονικών προβλημάτων
  • 10. &6.2.3 Γλώσσες υψηλού επιπέδου Το 1957 η IBM ανάπτυξε την πρώτη γλώσσα υψηλού επιπέδου τη FORTRAN. Το όνομα FORTRAN προέρχεται από τις λέξεις FORmula TRANslation, που σημαίνουν μετάφραση τύπων. Η FORTRAN αναπτύχθηκε ως γλώσσα κατάλληλη για την επίλυση μαθηματικών και επιστημονικών προβλημάτων. Το ίδιο πρόγραμμα FORTRAN μπορεί να εκτελεστεί σε οποιοδήποτε άλλο υπολογιστή, αρκεί να υπάρχει ο αντίστοιχος μεταγλωττιστής για αυτόν τον υπολογιστή. Η γλώσσα FORTRAN μετά από πολλές αλλαγές, προσθήκες και βελτιώσεις χρησιμοποιείται ακόμη και σήμερα για επιστημονικές εφαρμογές.
  • 11. &6.2.3 Γλώσσες υψηλού επιπέδου  Το 1960 αναπτύχθηκε μη γλώσσα COBOL. Η COBOL είναι κατάλληλη για ανάπτυξη εμπορικών εφαρμογών, και γενικότερα διαχειριστικών εφαρμογών, τομέας όπου η FORTRAN υστερούσε.
  • 12. &6.2.3 Γλώσσες υψηλού επιπέδου Μια από τις σημαντικότερες γλώσσα προγραμματισμού με ελάχιστη πρακτική εφαρμογή αλλά που επηρέασε ιδιαίτερα τον προγραμματισμό και τις επόμενες γλώσσες, είναι η ALGOL (ALGOrithmic Language). Αναπτύχθηκε από Ευρωπαίους επιστήμονες, αρχικά το 1960, με σκοπό τη δημιουργία γενικής φύσης προγραμμάτων που να μη συνδέονται με συγκεκριμένες εφαρμογές. Στα μέσα της δεκαετίας του 60 αναπτύχθηκε η γλώσσα PL/1 (Programming Language / 1) που προσπάθησε, χωρίς επιτυχία να καλύψει όλους τους τομείς του προγραμματισμού, επιστημονικούς και εμπορικούς, αντικαθιστώντας τόσο τη FORTRAN όσο και την COBOL. Στο χώρο της Τεχνητής Νοημοσύνης αναπτύχθηκαν δύο γλώσσες αρκετά διαφορετικές από όλες τις άλλες. Στα μέσα του 60 αναπτύχθηκε στο ΜΙΤ η LISP (LISt Processor), γλώσσα η οποία προσανατολίζεται σε χειρισμό λιστών από σύμβολα και η PROLOG (PROgramming LOGic) στις αρχές του 70.
  • 13. &6.2.3 Γλώσσες υψηλού επιπέδου Γλώσσα Basic Δύο σημαντικότατες γλώσσες γενικού σκοπού, οι οποίες αναπτύχθηκαν τη δεκαετία του 60 αλλά χρησιμοποιούνται πάρα πολύ στις ημέρες μας, είναι η BASIC και η PASCAL. Η γλώσσα προγραμματισμού BASIC αρχικά αναπτύχθηκε ως γλώσσα για την εκπαίδευση αρχαρίων στον προγραμματισμό. Σχεδιάστηκε για να γράφονται σύντομα προγράμματα, τα οποία εκτελούνται με τη βοήθεια διερμηνευτή (interpreter). Η ανάπτυξη όμως των μικροϋπολογιστών και οι συνεχείς εκδόσεις της γλώσσας βοήθησαν στην εξάπλωσή της, τόσο ώστε να γίνει ίσως η δημοφιλέστερη γλώσσα στους προσωπικούς υπολογιστές.
  • 14. &6.2.3 Γλώσσες υψηλού επιπέδου Γλώσσα Pascal Η γλώσσα PASCAL έφερε μεγάλες αλλαγές στον προγραμματισμό. Παρουσιάστηκε το 1970 και στηρίχτηκε πάνω στην ALGOL . Είναι μία γλώσσα γενικής χρήσης, η οποία είναι κατάλληλη τόσο για την εκπαίδευση όσο και τη δημιουργία ισχυρών προγραμμάτων κάθε τύπου. Χαρακτηριστικό της γλώσσας είναι η η καταλληλότητα για τη δημιουργία δομημένων προγραμμάτων. Η PASCAL γνώρισε και συνεχίζει να γνωρίζει τεράστια εξάπλωση ειδικά στο χώρο των μικροϋπολογιστών και αποτέλεσε τη βάση για την ανάπτυξη άλλων ισχυρότερων γλωσσών όπως η ADA και η Modula- 2.
  • 15. &6.2.3 Γλώσσες υψηλού επιπέδου Τεχνική Δομημένου Προγραμματισμού Στα μέσα του 1960 παρουσιάστηκε για πρώτη φορά μία τεχνική σχεδίασης προγραμμάτων που έμελλε να αλλάξει ριζικά τον τρόπο ανάπτυξης προγραμμάτων καθώς και τις ίδιες τις γλώσσες προγραμματισμού. Η τεχνική του δομημένου προγραμματισμού η οποία εξασφαλίζει τη δημιουργία προγραμμάτων απλών στη συγγραφή και την κατανόηση και εύκολων στη διόρθωση. Ο δομημένος προγραμματισμός και τα χαρακτηριστικά του θα παρουσιαστούν εκτενώς σε επόμενη παράγραφο.
  • 16. &6.2.3 Γλώσσες υψηλού επιπέδου Γλώσσα C Μία ακόμη γλώσσα που γνώρισε μεγάλη διάδοση είναι η γλώσσα C. Η C αναπτύχθηκε στα εργαστήρια της εταιρείας BELL και χρησιμοποιήθηκε για την ανάπτυξη του λειτουργικού συστήματος Unix. Είναι μία γλώσσα με ισχυρά χαρακτηριστικά, μερικά από αυτά κοινά με την Pascal, κατάλληλη για ανάπτυξη δομημένων εφαρμογών αλλά και με πολλές δυνατότητες γλώσσας χαμηλού επιπέδου. Η C εξελίχτηκε στη γλώσσα C++, η οποία είναι αντικειμενοστραφής.
  • 17. &6.2.3 Γλώσσες υψηλού επιπέδου Java Τα τελευταία χρόνια χρησιμοποιείται ιδιαίτερα, ειδικά για προγραμματισμό στο Διαδίκτυο, η JAVA. H JAVA είναι μία αντικειμενοστραφής γλώσσα που αναπτύχθηκε από την εταιρεία SUN με σκοπό την ανάπτυξη εφαρμογών, που θα εκτελούνται σε διαφορετικούς υπολογιστές οι οποίοι είναι συνδεδεμένοι στο Διαδίκτυο. Τα προγράμματα αυτά μπορούν να εκτελούνται από διαφορετικούς υπολογιστές, προσωπικούς ή μεγάλα συστήματα με διαφορετικά λειτουργικά συστήματα χωρίς αλλαγές.
  • 18. &6.2.3 Γλώσσες υψηλού επιπέδου Οπτικός Προγραμματισμός Με τον όρο οπτικό εννοούμε τη δυνατότητα να δημιουργούμε γραφικά περιβάλλοντα της εφαρμογής για παράδειγμα τα πλαίσια διαλόγου ή το μενού. Με τον όρο οδηγούμενο από το γεγονός προγραμματισμό εννοούμε τη δυνατότητα να ενεργοποιούνται λειτουργίες του προγράμματος με την εκτέλεση ενός γεγονότος, για παράδειγμα την επιλογή μίας εντολής από ένα μενού ή το κλικ του ποντικιού. Οι πιο διαδεδομένες γλώσσες προγραμματισμού σε γραφικό περιβάλλον για προσωπικούς υπολογιστές είναι η Visual Basic, η Visual C++ και η Java.
  • 20. &6.7 Προγραμματιστικά Περιβάλλοντα Κάθε πρόγραμμα που γράφτηκε σε οποιαδήποτε γλώσσα προγραμματισμού, πρέπει να μετατραπεί σε μορφή αναγνωρίσιμη και εκτελέσιμη από τον υπολογιστή, δηλαδή σε γλώσσα μηχανής. Η μετατροπή αυτή γίνεται με τη χρήση ειδικών μεταφραστικών προγραμμάτων. Υπάρχουν δύο μεγάλες κατηγορίες τέτοιων προγραμμάτων, οι μεταγλωττιστές (compilers) και οι διερμηνευτές (interpreters).
  • 21. &6.7 Προγραμματιστικά Περιβάλλοντα Μεταγλωττιστές (Compilers) Ο μεταγλωττιστής δέχεται στην είσοδο ένα πρόγραμμα γραμμένο σε γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής, το οποίο μπορεί να εκτελείται οποτεδήποτε από τον υπολογιστή και είναι τελείως ανεξάρτητο από το αρχικό πρόγραμμα. Το αρχικό πρόγραμμα λέγεται πηγαίο (source) πρόγραμμα, ενώ το πρόγραμμα που παράγεται από το μεταγλωττιστή λέγεται αντικείμενο (object) πρόγραμμα.
  • 22. &6.7 Προγραμματιστικά Περιβάλλοντα Το αντικείμενο πρόγραμμα είναι μεν σε μορφή κατανοητή από τον υπολογιστή, αλλά συνήθως δεν είναι σε θέση να εκτελεστεί. Χρειάζεται να συμπληρωθεί και να συνδεθεί με άλλα τμήματα προγράμματος απαραίτητα για την εκτέλεση του, τμήματα που είτε τα γράφει ο προγραμματιστής είτε βρίσκονται σε βιβλιοθήκες (libraries) της γλώσσας. Το πρόγραμμα που επιτρέπει αυτή τη σύνδεση ονομάζεται συνδέτης – φορτωτής (linker - loader). Το αποτέλεσμα του συνδέτη είναι η παραγωγή του εκτελέσιμου προγράμματος (executable), το οποίο είναι το τελικό πρόγραμμα που εκτελείται από τον υπολογιστή.
  • 23. &6.7 Προγραμματιστικά Περιβάλλοντα Ο διερμηνευτής διαβάζει μία προς μία τις εντολές του αρχικού προγράμματος και για κάθε μια εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής.
  • 24. &6.7 Προγραμματιστικά Περιβάλλοντα Λάθη προγράμματος  Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο στην περίπτωση, που το αρχικό πρόγραμμα δεν περιέχει λάθη.  Τις περισσότερες φορές κάθε πρόγραμμα αρχικά θα έχει λάθη. Τα λάθη του προγράμματος είναι γενικά δύο ειδών, λογικά και συντακτικά.  Τα λογικά λάθη εμφανίζονται μόνο στην εκτέλεση, ενώ τα συντακτικά λάθη στο στάδιο της μεταγλώττισης.  Τα λογικά λάθη που είναι τα πλέον σοβαρά και δύσκολα στη διόρθωση τους, οφείλονται σε σφάλματα κατά την υλοποίηση του αλγορίθμου.  Τα συντακτικά οφείλονται σε αναγραμματισμούς ονομάτων εντολών, παράληψη δήλωσης δεδομένων και πρέπει πάντα να διορθωθούν, ώστε να παραχθεί το τελικό εκτελέσιμο πρόγραμμα.
  • 25. &6.7 Προγραμματιστικά Περιβάλλοντα Συντάκτης (editor)  Για την αρχική σύνταξη των προγραμμάτων και τη διόρθωσή τους στη συνέχεια χρησιμοποιείται ένα ειδικό πρόγραμμα που ονομάζεται συντάκτης (editor).  Ο συντάκτης είναι ουσιαστικά ένας μικρός επεξεργαστής κειμένου, με δυνατότητες όμως που διευκολύνουν τη γρήγορη γραφή των εντολών των προγραμμάτων .
  • 26. &6.7 Προγραμματιστικά Περιβάλλοντα Για τη δημιουργία, τη μετάφραση και την εκτέλεση ενός προγράμματος απαιτούνται τουλάχιστον τρία προγράμματα: – ο συντάκτης (editor) – ο μεταγλωττιστής (compiler) – ο συνδέτης (linker)  Τα σύγχρονα προγραμματιστικά περιβάλλοντα παρέχουν αυτά τα προγράμματα με ενιαίο τρόπο.