Μια εισαγωγή στον προγραμματισμό
Θέματα που καλύπτονται :
· Προγραμματισμός : μια διαδικασία που αφορά τους πάντες
· Γλώσσες προγραμματισμού
· Γιατί να μάθω να προγραμματίζω τον υπολογιστή ?
(όσοι σιχαίνονται τους προλόγους , ή θεωρούν ότι λίγο πολύ έχουν καταλάβει τι είναι ο προγραμματισμός και οι γλώσσες προγραμματισμού μπορούν να προχωρήσουν στο επόμενο άρθρο)
Προγραμματισμός : μια διαδικασία που αφορά τους πάντες.
Για ένα μεγάλο ποσοστό των ανθρώπων ο προγραμματισμός των υπολογιστών είναι έργο των "γκουρού" της πληροφορικής και μόνο. Για έναν πολύ απλό λόγο έχουν άδικο : ο καθένας γνωρίζει τι είναι ο προγραμματισμός και μάλιστα είναι κάτι που όλοι κάνουμε καθημερινά. Όταν για παράδειγμα κοιτάζουμε στο ημερολόγιο την αυριανή μέρα και σκεπτόμαστε "Αύριο θα κάνω αυτό , και κείνο και.." δεν κάνουμε τίποτε άλλο παρα ... προγραμματισμό (της αυριανής μέρας) , γιατί βάζουμε κάποιο σχέδιο στις αυριανές μας εργασίες. Αν υποθέσουμε ότι έχουμε αρκετή αυτοπειθαρχία , το σχέδιό μας θα πραγματοποιηθεί. Όταν λέμε στο μικρό μας αδερφάκι "Άντε στο περίπτερο να μου πάρεις τσιγάρα" , και πάλι προγραμματισμό κάνουμε .Προγραμματίζουμε τις επόμενες ενέργειες του μικρού μας αδερφού , με βάση ένα σχέδιο . Το σχέδιό μας θα εφαρμοστεί , εφόσον διαθέτουμε αρκετή επιρροή πάνω του (κι αν θέλει , ας κάνει κι αλλιώς :))).
Ένα πολύ χρήσιμο εργαλείο σήμερα είναι οι υπολογιστές. Είναι χρήσιμο για δύο λόγους κυρίως:
· Πρώτον : έχει πολύ μεγάλες υπολογιστικές δυνατότητες (γιατί άλλο θα λεγότανε υπολογιστής άλλωστε??)
· Δεύτερον : Ο υπολογιστής είναι ένα πειθήνιο όργανό μας . Αυτό σημαίνει ότι (όπως και με το αδερφάκι !) δεν πρόκειται ποτέ να μας φέρει αντίρρηση σε ότι του πούμε , αν το διατυπώσουμε με τον κατάλληλο τρόπο. Μην ανησυχείτε όμως. Στην περίπτωση του υπολογιστή δεν είναι αναγκαία η χρήση σωματικής βίας !
Αυτό λοιπόν είναι ο προγραμματισμός. Η κατάστρωση ενός σχεδίου , το οποίο θα εφαρμοστεί από το εκτελεστικό όργανο , είτε αυτό λέγεται αδερφάκι είτε υπολογιστής.
Αφού λοιπόν απομυθοποιήσαμε τον προγραμματισμό , ας περάσουμε στο επόμενο ζήτημα που αφορά τις ...
Γλώσσες προγραμματισμού
Αυτό κι αν είναι φόβητρο για τον πολύ κόσμο ! Ακούνε "γλώσσα προγραμματισμού" και παγώνει το αίμα τους. Και αυτή η αντίληψη είναι λάθος , και , για να το καταλάβουμε , θα χρησιμοποιήσω πάλι το παράδειγμα με το αδερφάκι που προγραμματίσαμε να μας πάρει τσιγάρα...
ΠΩΣ το προγραμματίσαμε ? ΜΗΠΩΣ του στείλαμε τηλεπαθητικό μήνυμα ? Σήμα καπνού ? Ταχυδρομικό περιστέρι ? Αν και όλα αυτά θα μπορούσαν να πιάσουν , κάτω από ορισμένες προϋποθέσεις , εμείς απλώς του το είπαμε σε απλά ελληνικά.
Χρησιμοποιώντας όρους πληροφορικής : "ΠΡΟΓΡΑΜΜΑΤΙΣΑΜΕ το αδερφάκι μας να μας πάρει τσιγάρα με ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ τα ΑΠΛΑ ΕΛΛΗΝΙΚΑ"
Μετά από αυτό το παράδειγμα , δεν νομίζω να υπάρχει κάποιος που έχει απορίες σε σχέση με τον προγραμματισμό και τις γλώσσες προγραμματισμού.
Παρόλα αυτά , μην τρέφετε αυταπάτες ότι θα προγραμματίσετε τον υπολογιστή σας με ΑΠΛΑ ΕΛΛΗΝΙΚΑ , αλλά δεν νομίζω ότι είμαστε και πολύ μακριά από κάτι τέτοιο!
Όπως και να έχει , οι γλώσσες προγραμματισμού των υπολογιστών είναι πολύ πιο εύκολες από τις γλώσσες που χρησιμοποιούν οι άνθρωποι.
Γιατί να μάθω να προγραμματίζω τον υπολογιστή ?
Αυτή είναι μια ερώτηση που ακούω συνεχώς από όταν άρχισα να ασχολούμαι με το ζήτημα.
· Από περιέργεια. Υπάρχει κανείς που να μην αναρωτήθηκε ποτέ "πως στο καλό λειτουργεί αυτό το πρόγραμμα?"
· Για επιστημονικούς λόγους. Όταν σε κάποιο στάδιο της έρευνας , το αντικείμενο που μελετάται απαιτεί τη δημιουργία πολύπλοκων μαθηματικών προτύπων , που μόνο ο υπολογιστής μπορεί να λύσει πριν το τέλος του κόσμου (!) , γιατί νομίζετε ότι τότε οι επιστήμονες στρέφονται προς τον προγραμματισμό ?
· Όταν αντιμετωπίζουμε ένα μαθηματικό πρόβλημα που θέλουμε να λύσουμε , μπορούμε να κάνουμε τον υπολογιστή να το λύσει για μας.
· Για οικονομικούς λόγους. Δηλαδή : "Γιατί να δώσω ένα πεντοχίλιαρο να αγοράσω ένα πρόγραμμα , όταν μπορώ να το φτιάξω μόνος μου?". Πάνω σε αυτή την ιδέα έχει βασιστεί ένα ολόκληρο κίνημα των χρηστών του διαδικτύου , που αναπτύσσουν προγράμματα και τα διανέμουν δωρεάν . Από αυτή τη δραστηριότητα κερδίζουν όλοι. Άλλωστε κερδίζουν και οι ίδιοι οι διανομείς (που εσφαλμένα θεωρούνται "κορόιδα") , αφού με αυτόν τον τρόπο η δουλειά τους γίνεται γνωστή και τελικά κερδίζουν ουκ ολίγα από τα προγράμματα που κατασκευάζουν.
· Για φιγούρα (ουδέν σχόλιον)
· Για διασκέδαση . Το να κατασκευάσεις ένα πρόγραμμα αποτελεί μεγάλη πρόκληση και η διαδικασία που ακολουθείται για το σκοπό αυτό θεωρείται από πολλούς μια συναρπαστική περιπέτεια , που έχει μεν δυσκολίες , αλλά μέσα από τη διαδικασία αυτή , ο προγραμματιστής έχει πολλά πνευματικά αγαθά να κερδίσει , με σπουδαιότερο την τέχνη να αναλύει τα προβλήματα και να σκέπτεται λογικά και στη ζωή. Άλλωστε και η ζωή ένα μεγάλο προγραμματιστικό πρόβλημα είναι , όπου ο καθένας κάνει τα δικά του σχέδια που θα ακολουθήσει. Επιπρόσθετα το συναίσθημα του προγραμματιστή όταν το πρόγραμμά του λειτουργεί κανονικά , για πρώτη φορά είναι κάτι που πραγματικά δεν πληρώνεται με τίποτα , είναι κάτι σαν το συναίσθημα του ορειβάτη που μόλις κατέκτησε την κορυφή !
Και τώρα που κάναμε τις αναγκαίες διευκρινίσεις μπορούμε να προχωρήσουμε σε πιο ουσιώδη θέματα...