Τι είναι οι γλώσσες μηχανής;
Σκέψη / Μεθοδολογία: Ορισμός βασισμένος στο §6.2.1 — τι μορφή έχουν οι εντολές και γιατί ήταν δύσκολος ο προγραμματισμός σε αυτές.
Λύση:
Δίνουμε τον ορισμό της γλώσσας μηχανής και επισημαίνουμε γιατί ήταν δύσχρηστη (κατανοητή μόνο από τη μηχανή, απαιτούσε γνώση αρχιτεκτονικής).
Απάντηση: Γλώσσες μηχανής ονομάζονται οι ακολουθίες δυαδικών ψηφίων (0 και 1) στις οποίες μετατρέπονται τελικά οι εντολές ενός προγράμματος, ώστε να είναι κατανοητές και εκτελέσιμες από τον επεξεργαστή του υπολογιστή. Ήταν ο μόνος τρόπος προγραμματισμού στους πρώτους υπολογιστές (π.χ. ENIAC) και απαιτούσε βαθιά γνώση του υλικού και της αρχιτεκτονικής, γι' αυτό ήταν επίπονος και ελάχιστοι μπορούσαν να τον χρησιμοποιήσουν.
Πρόσεξε:
Ποιες οι διαφορές των γλωσσών υψηλού επιπέδου από αυτές χαμηλού επιπέδου;
Σκέψη / Μεθοδολογία: Ερώτηση σύγκρισης — παραθέτουμε τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου (§6.2.3) που λειτουργούν ως σημεία διαφοράς από τις χαμηλού επιπέδου.
Λύση:
Υπενθυμίζουμε τι είναι οι γλώσσες χαμηλού επιπέδου (συμβολικές, εξαρτημένες από αρχιτεκτονική) και παραθέτουμε τα σημεία στα οποία υπερτερούν οι γλώσσες υψηλού επιπέδου.
Απάντηση: Οι γλώσσες χαμηλού επιπέδου (συμβολικές) είναι στενά συνδεδεμένες με την αρχιτεκτονική του κάθε υπολογιστή, δεν διαθέτουν εντολές για σύνθετες λειτουργίες (οδηγώντας σε μακροσκελή, δυσσυντήρητα προγράμματα) και δεν είναι μεταφέρσιμες σε άλλον υπολογιστή. Οι γλώσσες υψηλού επιπέδου, αντίθετα: (α) χρησιμοποιούν φυσικότερο, πιο «ανθρώπινο» τρόπο έκφρασης, πιο κοντά στο ίδιο το πρόβλημα, (β) είναι ανεξάρτητες από τον τύπο υπολογιστή — ένα πρόγραμμα εκτελείται σε οποιονδήποτε υπολογιστή διαθέτει τον κατάλληλο μεταγλωττιστή, (γ) είναι ευκολότερες στην εκμάθηση, και (δ) η διόρθωση λαθών και η συντήρηση των προγραμμάτων είναι πολύ πιο εύκολη.
Πρόσεξε:
Ποιες γλώσσες υψηλού επιπέδου γνωρίζεις;
Σκέψη / Μεθοδολογία: Ανοιχτού τύπου, αλλά με σαφή απάντηση από το κατάλογο του §6.2.3 — αρκεί η αναφορά ενδεικτικού αριθμού γλωσσών με σωστά ονόματα.
Λύση:
Παραθέτουμε ενδεικτική λίστα γλωσσών υψηλού επιπέδου, όπως αναφέρονται στο §6.2.3.
Απάντηση (ενδεικτική): Ενδεικτικά: FORTRAN (1957, επιστημονικές εφαρμογές), COBOL (1960, εμπορικές/διαχειριστικές εφαρμογές), ALGOL (1960), PL/1, LISP (επεξεργασία λιστών, Τεχνητή Νοημοσύνη), PROLOG (λογικός προγραμματισμός), BASIC (1964, εκπαιδευτική), PASCAL (1970, γενικής χρήσης/δομημένος προγραμματισμός), C (1972, συστημάτων), C++ (αντικειμενοστραφής εξέλιξη της C) και JAVA (αντικειμενοστραφής, εφαρμογές Διαδικτύου).
Πρόσεξε:
Τι ονομάζουμε οπτικό προγραμματισμό και τι οδηγιούμενο από τα γεγονότα;
Σκέψη / Μεθοδολογία: Ορισμός των δύο εννοιών όπως δίνονται στο §6.2.3, με σαφή διάκριση της μίας από την άλλη.
Λύση:
Ορίζουμε ξεχωριστά τον οπτικό προγραμματισμό και τον οδηγούμενο από γεγονότα προγραμματισμό.
Απάντηση: Οπτικός (visual) προγραμματισμός ονομάζεται η δυνατότητα να δημιουργούμε γραφικά ολόκληρο το περιβάλλον μιας εφαρμογής, π.χ. τα πλαίσια διαλόγου ή τα μενού. Οδηγούμενος από γεγονός (event driven) προγραμματισμός ονομάζεται η δυνατότητα να ενεργοποιούνται λειτουργίες του προγράμματος με την εκτέλεση ενός γεγονότος, π.χ. την επιλογή μιας εντολής από μενού ή το κλικ του ποντικιού. Και οι δύο έννοιες εμφανίστηκαν με την ανάγκη εκμετάλλευσης των γραφικών περιβαλλόντων εργασίας.
Πρόσεξε:
