Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Σχετικά έγγραφα
Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Εισαγωγή στον Προγραμματισμό

6. 1 Η έννοια του προγράμματος

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό

Επιµέλεια Θοδωρής Πιερράτος

Μαλούτα Θεανώ Σελίδα 1

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

Εισαγωγή στον προγραμματισμό

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

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

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

7 ο ΓΕΛ Καλλιθέας Οδηγός Α.Ε.Π.Π. ΚΕΦΑΛΑΙΟ 6 ο

Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

Κεφάλαιο 1 Προγραμματισμός Υπολογιστή. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Πληροφορική 2. Γλώσσες Προγραμματισμού

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

6. Εισαγωγή στον προγραµµατισµό

.EVAL push bx Xor bx,bh Add si,ax.loop dec cx. 1. Fortran. 2. Cobol. 3. Algol

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

ΚΕΦΑΛΑΙΟ 6 Ο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΜΕΡΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΙΣ ΓΛΩΣΣEΣ ΠPOΓPAMMATIΣMOY

ΑΕΠΠ Ερωτήσεις θεωρίας

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Βασίλειος Κοντογιάννης ΠΕ19

κ ε φ ά λ α ι ο 7 0 Α. Θ Ε Ω Ρ Ι Α Η έ ν ν ο ι α τ ο υ π ρ ο γ ρ ά µ µ α τ ο ς Ι σ τ ο ρ ι κ ή Α ν α δ ρ ο µ ή π α ρ α τ ή ρ η σ η

Α. Ερωτήσεις Ανάπτυξης

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο. Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού

Εργαστήρι Πληροφορικής Αλγόριθµος 92 Σηµειώσεις Τεχνολογικής Κατεύθυνσης Γλώσσες µηχανής Αρχικά για να µπορέσει ο υπολογιστής να εκτελέσει µία οποιαδή

ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 Προγραμματισμός υπολογιστή

ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Κεφάλαιο 1: Εισαγωγή. Αρχές Γλωσσών και Προγραμματισμού και Μεταφραστών. Γιάννης Γαροφαλάκης ΤΜΗΥΠ - Πανεπιστήμιο Πατρών

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

Προγραµµατισµός Η/Υ. Μέρος2

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ - ΓΛΩΣΣΑ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΠΕΡΙΕΧΟΜΕΝΑ Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Αντικειμενοστραφής

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Εισαγωγή στην Επιστήμη των Υπολογιστών

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 3 : Γλώσσες προγραμματισμού. Δρ.

Επικοινωνία Ανθρώπου- Υπολογιστή Σχεδίαση Αλληλεπίδρασης

Μέρος Α. Λογισµικό & Προγράµµατα συστήµατος και εφαρµογών ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ. Το σηµερινό µάθηµα. Λογισµικό συστηµάτων & εφαρµογών

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

Αρχές Προγραμματισμού Υπολογιστών

Προγραμματισμός και Εφαρμογές Υπολογιστών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εισαγωγή στον προγραμματισμό

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

ΠΕΡΙΕΧΟΜΕΝΑ Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Αντικειμενοστραφής

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

Εισαγωγή στον δομημένο προγραμματισμό

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

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Εισαγωγή στην επιστήμη των υπολογιστών

ΠΕΡΙΕΧΟΜΕΝΑ 1. ΕΙΣΑΓΩΓΗ ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΑΟΓΙΣΤΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ...3-1

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Προγραμματισμός Υπολογιστών

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

ΓΕ0170 -Αλγόριθμοι και Προηγμένες Προγραμματικές Τεχνικές. Εισαγωγή. Νίκος Αθανάσης.

Ορισμός Κάθε ζήτημα που τίθεται προς επίλυση, κάθε δύσκολη κατάσταση που μας απασχολεί και πρέπει να αντιμετωπιστεί.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Διδακτική της Πληροφορικής ΙΙ

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού

Ελεύθερο Λογισμικό. Ερευνητική Εργασία Τμήμα Α2-3 ου ΓΕΛ Κομοτηνής Ιανουάριος 2014

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τα επιμέρους τμήματα Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ. Αναπαράσταση μεγεθών. Αναλογική αναπαράσταση ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΜΟΝΑ Α ΕΛΕΓΧΟΥ

Transcript:

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1

περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό προβλήματος δηλ. Κατανόηση + Ανάλυση Προβλήματος 2. Ανάπτυξη Αλγορίθμου 3. Ανάπτυξη Προγράμματος ΠΡΟΓΡΑΜΜΑ = ΑΛΓΟΡΙΘΜΟΣ + ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Πρόγραμμα είναι το σύνολο των εντολών που χρειάζεται να δοθούν στον Η/Υ, ώστε να υλοποιηθεί ο αλγόριθμος για την επίλυση του προβλήματος. Παρατηρήσεις: 1. Οι γλώσσες προγραμματισμού αναπτύχθηκαν με σκοπό την επικοινωνία του ανθρώπου (προγραμματιστή) με την μηχανή (υπολογιστή). 2. Η εργασία συγγραφής προγραμμάτων σε κάποια γλώσσα προγραμματισμού ονομάζεται προγραμματισμός, και τα άτομα που το κάνουν ονομάζονται προγραμματιστές. 3. Ο υπολογιστής καταλαβαίνει μόνο δύο καταστάσεις, οι οποίες αντιπροσωπεύονται από δύο αριθμούς: το μηδέν και το ένα. 4. Ο υπολογιστής εκτελεί μόνο ελάχιστες ενέργειες σε ακολουθίες από δυαδικά ψηφία, τα bits: (a) αποθήκευση στη μνήμη, (b) ανάκτηση, (c) πρόσθεση και (d) σύγκριση. Αυτές τις ενέργειες όμως, τις εκτελεί με ασύλληπτη ταχύτητα. 2

Γλώσσες Μηχανής (1 η φάση γέννησης του προγραμματισμού «νεογέννητο») Οι εντολές σε γλώσσα μηχανής είναι κατάλληλες ακολουθίες από 0 και 1 Ένα πρόγραμμα σε γλώσσα μηχανής είναι μία ακολουθία δυαδικών ψηφίων (0 και 1), που αποτελούν εντολές προς τον επεξεργαστή, για στοιχειώδεις λειτουργίες. Χαρακτηριστικά (μειονεκτήματα) των γλωσσών μηχανής: 1. Ο προγραμματισμός είναι εξαιρετικά επίπονος και χρονοβόρος. 2. Ο προγραμματισμός θέλει βαθιά γνώση του υλικού και της αρχιτεκτονικής του Η/Υ Υπάρχουν ελάχιστοι προγραμματιστές Παρατηρήσεις: 1. Και σήμερα, οι εντολές ενός προγράμματος, μετατρέπονται τελικά σε ακολουθίες από 0 και 1, δηλαδή σε εντολές σε γλώσσα μηχανής. 3

Συμβολικές Γλώσσες ή Γλώσσες Χαμηλού Επιπέδου (2 η φάση γέννησης του προγραμματισμού «νήπιο») Οι εντολές σε συμβολική γλώσσα αποτελούνται από συμβολικά ονόματα που αντιστοιχούν σε εντολές της γλώσσας μηχανής. Οι εντολές σε συμβολική γλώσσα μεταφράζονται σε γλώσσα μηχανής από ειδικό πρόγραμμα, τον συμβολομεταφραστή (assembler). Γιατί αναπτύχθηκαν οι Συμβολικές Γλώσσες; Διότι παρουσιάστηκε αμέσως η ανάγκη, η γλώσσα να έχει έννοια για τον άνθρωπο, να είναι δηλαδή πιο κατανοητή και να απομνημονεύεται σχετικά εύκολα Χαρακτηριστικά (μειονεκτήματα) των συμβολικών γλωσσών: 1. Δεν διέθεταν εντολές σύνθετων λειτουργιών μακροσκελή προγράμματα: δύσκολο να γραφτούν και δύσκολο να συντηρηθούν 2. Είναι στενά συνδεδεμένες με την αρχιτεκτονική του κάθε υπολογιστή τα προγράμματα δεν μπορούν να μεταφερθούν σε άλλον Η/Υ, ακόμα και του ίδιου κατασκευαστή 4

Γλώσσες Υψηλού Επιπέδου ή 3 ης γενιάς (3 η φάση γέννησης του προγραμματισμού «παιδική ηλικία») Οι γλώσσες υψηλού επιπέδου χρησιμοποιούν ως εντολές, απλές λέξεις της αγγλικής γλώσσας, ακολουθώντας αυστηρούς κανόνες σύνταξης Οι εντολές σε γλώσσες υψηλού επιπέδου μεταφράζονται από τον ίδιο τον υπολογιστή σε εντολές σε γλώσσα μηχανής Γιατί αναπτύχθηκαν οι Γλώσσες Υψηλού Επιπέδου; Για να καλύψουν τις ανεπάρκειες των συμβολικών γλωσσών, δηλαδή: Να μην είναι στενά συνδεδεμένες με την αρχιτεκτονική του κάθε υπολογιστή Να διαθέτουν εντολές για πιο σύνθετες λειτουργίες Να επιτρέψουν καλύτερη επικοινωνία ανθρώπου - μηχανής Παρατηρήσεις: 1. Καμία γλώσσα προγραμματισμού δεν μπόρεσε και δεν μπορεί να καλύψει όλους τους τομείς δραστηριοτήτων. Γι αυτό, αναπτύχθηκαν και αναπτύσσονται πολλές γλώσσες προγραμματισμού για διάφορες περιοχές δραστηριοτήτων. 5

Γλώσσες Υψηλού Επιπέδου ή 3 ης γενιάς Πλεονεκτήματα των γλωσσών υψηλού επιπέδου: (3 η φάση γέννησης του προγραμματισμού «παιδική ηλικία») 1. Φυσικότερος και πιο «ανθρώπινος» τρόπος έκφρασης των προγραμμάτων. 2. Μεταφερσιμότητα των προγραμμάτων (ανεξαρτησία από τον τύπο του υπολογιστή) 3. Ευκολία εκμάθησης και εκπαίδευσης 4. Ευκολία διόρθωσης λαθών και συντήρησης προγραμμάτων Ελάττωση Χρόνου και Κόστους Παραγωγής νέων προγραμμάτων 6

Γλώσσες Υψηλού Επιπέδου ή 3 ης γενιάς (3 η φάση γέννησης του προγραμματισμού «παιδική ηλικία») 1957 1960 1970 FORTRAN Formula Translation 1 η γλώσσα υψηλού επιπέδου ΙΒΜ Μαθηματικά κ Επιστημονικά Προβλήματα COBOL COmmon Business Oriented Language Εμπορικές κ Διαχειριστικές Εφαρμογές Χρησιμοποιείται ακόμα και σήμερα ALGOL ALgorithmic Language από τις σημαντικότερες γλώσσες ελάχιστη πρακτική εφαρμογή επηρέασε ιδιαίτερα τον προγραμματισμό σκοπός της: δημιουργία γενικής φύσεως προγραμμάτων που να μη συνδέονται με συγκεκριμένες εφαρμογές LISP (μέσα του 60) LIst Processor γλώσσα τεχνητής νοημοσύνης χειρισμός λιστών από σύμβολα ΒASIC LOGO γλώσσα για μαθητές μικρής ηλικίας (1964) Beginner s All Purpose Symbolic Instruction Code πολύ πετυχημένη γλώσσα αναπτύχθηκε για εκπαίδευση αρχαρίων στον προγραμματισμό γλώσσα-πρότυπο για ανάπτυξη εφαρμογών σε προσωπικούς υπολογιστές Εκδόσεις: QuickBasic και VisualBasic της Microsoft PROLOG Programming LOgic γλώσσα τεχνητής νοημοσύνης PASCAL δημιούργημα του Wirth στηρίχθηκε στην ALGOL γλώσσα Γενικής Χρήσης κατάλληλη για: εκπαίδευση δημιουργία ισχυρών προγραμμάτων κάθε τύπου κατάλληλη για δημιουργία δομημένων προγραμμάτων έχει τεράστια εξάπλωση αποτέλεσε τη βάση για ανάπτυξη άλλων ισχυρότερων γλωσσών (πχ. ADA) C αναπτύχθηκε στα εργαστήρια της Bell χρησιμοποιήθηκε για την ανάπτυξη του λειτουργικού συστήματος Unix έχει πολύ ισχυρά χαρακτηριστικά κατάλληλη για την ανάπτυξη δομημένων εφαρμογών έχει επίσης πολλές δυνατότητες χαμηλού επιπέδου 1990s Java ειδικά για προγραμματισμό στο Διαδίκτυο αναπτύχθηκε από την SUN σκοπός της: ανάπτυξη κατανεμημένων εφαρμογών 2016: 9 εκατομμύρια προγραμματιστές C++ αντικειμενοστραφής προγρ/μός Visual C++ αντικειμενοστραφής προγρ/μός οπτικός προγραμματισμός 7

Γλώσσες Υψηλού Επιπέδου ή 3 ης γενιάς (3 η φάση γέννησης του προγραμματισμού «εφηβική ηλικία») Τα Γραφικά Περιβάλλοντα Εργασίας (Windows ) απαιτούν Γραφικό Τρόπο Επικοινωνίας Προγραμματιστή Υπολογιστή, οπότε αναπτύχθηκαν Γραφικές και στη συνέχεια Οπτικές Γλώσσες Προγραμματισμού 1990s 2000s 2007 2010s Java ειδικά για προγραμματισμό στο Διαδίκτυο αναπτύχθηκε από την SUN σκοπός της: ανάπτυξη κατανεμημένων εφαρμογών 2016: 9 εκατομμύρια προγραμματιστές Scratch MIT εύκολη και δωρεάν Drag & drop γλώσσα προγραμματισμού AppInvenor Πρώτα Google, μετά MIT Ανάπτυξη εφαρμογών για Android συσκευές Drag & drop γλώσσα προγραμματισμού 8

Γλώσσες 4 ης Γενιάς Παρατηρήσεις: 1. Οι γλώσσες υψηλού επιπέδου ή 3ης γενιάς, απευθύνονται μόνο σε προγραμματιστές. Υπάρχει όμως η ανάγκη, οι χρήστες να μπορούν να κάνουν μόνοι τους αλλαγές σε κάποιο πρόγραμμα για να ικανοποιήσουν νέες ανάγκες τους. 2. Οπότε, υπάρχει αυξανόμενη τάση απόκρυψης αρχιτεκτονικής υλικού απόκρυψης τεχνικής προγραμματισμού 3. Στις γλώσσες 4ης γενιάς, ο χρήστης έχει τη δυνατότητα: να υποβάλλει -σχετικά εύκολα- ερωτήσεις στο σύστημα να αναπτύσσει εφαρμογές που ανακτούν πληροφορίες από βάσεις δεδομένων να καθορίζει τον ακριβή τρόπο εμφάνισης των πληροφοριών αυτών 4. Παράδειγμα Γλώσσας 4ης γενιάς: SQL 9

Ποια είναι η Καλύτερη Γλώσσα Προγραμματισμού; ΔΕΝ Υπάρχει Καλύτερη Γλώσσα Προγραμματισμού Η επιλογή της γλώσσας για την ανάπτυξη μίας εφαρμογής, εξαρτάται από: το είδος της εφαρμογής το υπολογιστικό περιβάλλον στο οποίο θα εκτελεστεί τα προγραμματιστικά περιβάλλοντα που διαθέτουμε τις γνώσεις του προγραμματιστή 10

Και λίγα λόγια για το Ελεύθερο Λογισμικό / Λογισμικό Ανοιχτού Κώδικα ΕΛΛΑΚ Η ισχύς εν τη ενώσει! Προγραμματιστές ενωμένοι, ποτέ Νικημένοι! 1. Μοιραζόμαστε τα προγράμματά μας 2. Ανοίγουμε τον κώδικά μας (το πρόγραμμά μας!) 3. Αποφασίζουμε αν θέλουμε πνευματικά δικαιώματα στον κώδικά μας, και τί είδους 4. Συνεισφέρουμε με γνώσεις και βοηθάμε την παγκόσμια κοινότητα προγραμματιστών. 11

Τέλος??? 12

Όχι ακόμα. 1. Μεγάλο Έλλειμμα Προγραμματιστών στην ΕΕ 2. Οι προγραμματιστές είναι από τα καλύτερα αμειβόμενα επαγγέλματα 3. Οι προγραμματιστές δηλώνουν σε μεγάλο βαθμό, πολύ ικανοποιημένοι από τη δουλειά τους. 4. Οι γυναίκες αντιπροσωπεύουν μόλις το 10% της παγκόσμιας κοινότητας προγραμματιστών GO!!!! 13

Τέλος. 14