Σε μια αλγοριθμική (imperative)
(ή προστακτική ή επιτακτική ή
διαδικαστική (procedural)) γλώσσα
το πρόγραμμα εκφράζει άμεσα τα βήματα που επιθυμούμε να
εκτελέσει ο υπολογιστής.
Fortran ... Fortran 18
Cobol
Algol-60
Basic
PL/I
Pascal, Modula-2, Oberon
C
Ada
Go / Rust
Awk, Perl, Tcl/Tk
Τιμές, τύποι και μεταβλητές
Κάθε έκφραση χαρακτηρίζεται από την τιμή της και τον τύπο της.
Τιμές
Η τιμή τις περισσότερες φορές υπολογίζεται συνήθως κατά την εκτέλεση
του προγράμματος.
Τύποι
Η τύπος μπορεί συχνά να βρεθεί κατά τη μεταγλώττιση του
προγράμματος.
Μεταβλητές
Εκφράσεις και τελεστές
Οι εκφράσεις σχηματίζονται με συνδυασμό τιμών με
τελεστές.
Μπορούμε να διακρίνουμε τους τελεστές σε κατηγορίες όπως:
Αριθμητικοί τελεστές
Τελεστές σύγκρισης
Λογικοί τελεστές
Τελεστές ανάθεσης
Δυαδικοί τελεστές
Μηχανισμοί αφαίρεσης
Διεργασία του λειτουργικού συστήματος (OS process)
Συνάρτηση (function)
Διαδικασία (procedure)
Άρθρωμα (module)
Κλάση (class) (ή τάξη)
Μέθοδος (method)
Τύπος (type)
Μηχανισμοί ελέγχου της ροής
Απόφαση
Βρόχος
Επιλογή
Εξαίρεση / διακοπή
Αντικειμενοστρεφείς γλώσσες
Σε μια αντικειμενοστρεφή (object oriented)
γλώσσα το πρόγραμμα βασίζεται στην αποστολή
μηνυμάτων (messages)
ανάμεσα σε
αντικείμενα (objects)
που παριστάνουν τις οντότητες του προγράμματος.
Τα αντικείμενα χαρακτηρίζονται από τις
ιδιότητες (fields) και τις
μεθόδους (methods) τους.
Τα αντικείμενα ομαδοποιούνται σε
κλάσεις (class) (ή τάξεις) (εργοστάσια παραγωγής αντικειμένων).
Οι τάξεις δομούνται ιεραρχικά και
κληρονομούν (inherit)
τα χαρακτηριστικά των προπατόρων τους.
Δυνατότητα μαθηματικής απόδειξης της ορθότητας ενός προγράμματος
Γλώσσες ολοκλήρωσης
Python
Ruby
Perl
PHP
Visual Basic
Tcl/Tk
Θέματα για μελέτη
Τι κάνει μια γλώσσα κατάλληλη για την υλοποίηση επιχειρηματικών εφαρμογών;
Με ποιον τύπο δεδομένων θα παραστήσετε στη Java χρηματικά ποσά;
Δώστε παραδείγματα.
Άσκηση: εξοικείωση με τις ασκήσεις
Άσκηση 1
Μπορείτε να κατεβάσετε το αντίστοιχο αρχείο και να στείλετε τους
βαθμούς σας από τους δεσμούς που βρίσκονται στη
σελίδα των ασκήσεων.
Βιβλιογραφία
Joyce Farrell. Java: Εκμάθηση με πρακτικά παραδείγματα. 2η έκδοση. Εκδόσεις Κριτική, Αθήνα 2024. Κεφ. 1-4.
Rogers CadenheadΠλήρες εγχειρίδιο της Java 12Όγδοη έκδοση. Εκδόσεις Μ. Γκιούρδας, Αθήνα 2023. Κεφ. 1, 2.
Herbert Schildt. Οδηγός της Java 7. 5η έκδοση. Εκδόσεις Γκιούρδας Μ., Αθήνα 2012. Κεφ. 1, 2, 3.
Harvey M. Deitel και Paul J. Deitel. Java Προγραμματισμός, 6η έκδοση. Εκδόσεις Μ. Γκιούρδας, Αθήνα 2005. Κεφάλαια 1, 2, 4, 5.
Rogers Cadenhead και Laura Lemay
Πλήρες εγχειρίδιο της Java 2 Εκδόσεις Μ. Γκιούρδας, Αθήνα 2003.
σ. 37-55, 93-106.
Ken
Arnold and James Gosling.
The Java Programming Language.
Addison-Wesley, 1996.
Anthony J. Field and Peter G.
Harrison.
Functional Programming.
Addison-Wesley, 1988.
Adele
Goldberg and David Robson.
Smalltalk-80: The Language.
Addison-Wesley, Reading, MA, 1989.
Glenn Krasner.
Smalltalk-80: Bits of History, Words of Advice.
Addison-Wesley, 1983.
Dennis M.
Ritchie.
The development of the C language.
ACM SIGPLAN Notices, 28(3):201–208, March 1993.
Preprints of the History of Programming Languages Conference (HOPL-II).
Peter H. Salus,
editor.
Handbook of Programming Languages, volume I: Object-Oriented
Programming Languages.
Macmillan Technical Publishing, Indianapolis, IN, 1998.
Peter H. Salus,
editor.
Handbook of Programming Languages, volume II: Imperative
Programming Languages.
Macmillan Technical Publishing, Indianapolis, IN, 1998.
Peter H. Salus,
editor.
Handbook of Programming Languages, volume III: Little Languages
and Tools.
Macmillan Technical Publishing, Indianapolis, IN, 1998.
Peter H. Salus,
editor.
Handbook of Programming Languages, volume IV: Functional and Logic
Programming Languages.
Macmillan Technical Publishing, Indianapolis, IN, 1998.
Ravi Sethi.
Programming Languages: Concepts and Constructs.
Addison-Wesley, Reading, MA, 1989.