Ο προγραμματισμός μπορεί να γίνει για τον καθένα από μια απλή απασχόληση ή χόμπι, μέχρι και κύρια πηγή εισοδήματος. Από τη δημιουργία μιας ιστοσελίδας, μέχρι την ανάπτυξη ενός ηλεκτρονικού παιχνιδιού, ο προγραμματισμός μας δίνει απεριόριστες δυνατότητες. Γι' αυτό κάθε Τετάρτη στο PCsteps θα παρουσιάζουμε μαθήματα προγραμματισμού, προκειμένου να βοηθήσουμε τον απλό χρήστη να ξεκινήσει την ενασχόλησή του με το αντικείμενο.
Προτάσεις συνεργασίας
Τα νέα άρθρα του PCsteps
Γίνε VIP μέλος στο PCSteps
Σε ποιόν απευθύνονται τα μαθήματα
Το λογισμικό βρίσκεται στον πυρήνα πολλών εργαλείων που χρησιμοποιούμε σήμερα.
Οι περισσότεροι από εμάς χρησιμοποιούν κάποιο κοινωνικό μέσο δικτύωσης, όλοι σχεδόν έχουμε ένα smartphone, ενώ κι οι πιο πολλές δουλειές γραφείου χρειάζονται υπολογιστή για την διεκπεραίωση των εργασιών τους.
Αυτό έχει προκαλέσει μια κατακόρυφη αύξηση της ζήτησης σε ανθρώπους που ξέρουν προγραμματισμό, τόσο στην Ελλάδα όσο και σε διεθνές επίπεδο, ή ακόμα και από το σπίτι.
Πολυεθνικές & Site Που Προσφέρουν Εργασία Από το Σπίτι Μέσω ΊντερνετΤο προνόμιο της εργασίας από το σπίτι είναι ο διακαής πόθος των περισσοτέρων εργαζομένων. Το γεγονός ότι έχουμε τη δυνατότητα να αμειβόμαστε δουλεύοντας online από…
Τα καλά νέα είναι πως ο προγραμματισμός δεν χρειάζεται απαραίτητα πανεπιστημιακές σπουδές ή επί πληρωμή μαθήματα.
Θα βρούμε αυτή τη στιγμή πολυάριθμα βιβλία, διαδραστικά online turorial, και boot camps, που υπόσχονται να μετατρέψουν αρχάριους χρήστες σε υψηλόμισθους προγραμματιστές.
Στόχος των μαθημάτων του PCsteps δεν είναι τόσο να παράγουμε τον επόμενο εκκολαπτόμενο Dennis Ritchie…
…αλλά να φέρουμε τον χρήστη σε επαφή με κάποιες βασικές γνώσεις προγραμματισμού, που μπορούν να μας διευκολύνουν στην καθημερινή ενασχόλησή μας με τον υπολογιστή, για εργασία ή διασκέδαση.
Έτσι, με λίγες γραμμές κώδικα, θα μπορούσαμε να επεξεργαζόμαστε και να αντλούμε πληροφορίες από αρχεία excel ή pdf, να διαχειριζόμαστε την ηλεκτρονική αλληλογραφία μας, και γενικότερα, να δημιουργούμε αυτοματοποιημένες διαδικασίες που κάνουν πιο απλές τις δουλειές μας.
Κατά τα άλλα, δεν πρόκειται να αναφερθούμε σε εξεζητημένες έννοιες, πέρα από τις απαραίτητες για να κατανοήσουμε και να φέρνουμε εις πέρας τέτοιες απλές εφαρμογές.
Υπάρχουν ήδη αρκετά (και δωρεάν) βιβλία και οδηγοί που αποσκοπούν στην πλήρη ανάλυση μιας γλώσσας.
Τι γνώσεις χρειάζομαι?
Ο μεγαλύτερος φόβος που έχει συνήθως όποιος σκέφτεται να ασχοληθεί με τον προγραμματισμό είναι ότι χρειάζεται πολλά μαθηματικά.
Στην πραγματικότητα, κατά την συγγραφή προγραμμάτων σε απλό και προσωπικό επίπεδο, δεν θα χρειαστούμε ιδιαίτερες γνώσεις μαθηματικών, πέρα από βασικές έννοιες αριθμητικής.
Ο προγραμματισμός έχει να κάνει περισσότερο με έναν διαφορετικό τρόπο σκέψης. Πολύ συχνά θα πρέπει να μπούμε στη λογική του πώς να αναλύσουμε το πρόβλημά μας σε επιμέρους υποπροβλήματα, η επίλυση των οποίων θα δώσει τελικά τη λύση του συνολικού προβλήματος.
Το ίδιο θα συμβεί και με την αποσφαλμάτωση (debugging) των προγραμμάτων, δηλαδή την εύρεση και διόρθωση λαθών.
Θα χρειαστεί υπομονή και εξέταση των επιμέρους κομματιών του προγράμματός μας, για να εξακριβώσουμε τι συμβαίνει στο καθένα και να εντοπίσουμε την αιτία του προβλήματος.
Ο προγραμματισμός, λοιπόν, είναι περισσότερο μια δημιουργική ενασχόληση, που θα μπορούσαμε να προσομοιάσουμε με την κατασκευή κάστρου από τουβλάκια LEGO.
Ξεκινάμε από μια βασική ιδέα του πώς θέλουμε να φαίνεται το κάστρο μας και συνεχίζουμε το χτίσιμο με τα διαθέσιμα τούβλα. Όταν τελειώσουμε το πρόγραμμά μας, μπορούμε να βελτιώσουμε τον κώδικα όπως θα κάναμε και με το κάστρο.
Η διαφορά του από άλλες δημιουργικές δραστηριότητες είναι ότι στον προγραμματισμό έχουμε διαθέσιμα στον υπολογιστή μας όλα τα απαραίτητα υλικά για να κατασκευάσουμε κάτι· δεν χρειαζόμαστε πρόσθετα τουβλάκια LEGO, μπογιές, ή ηλεκτρονικά είδη.
Επιπλέον, όταν το πρόγραμμά μας είναι έτοιμο, μπορούμε να το μοιραστούμε ελεύθερα με τον υπόλοιπο κόσμο.
Επίσης, τα εργαλεία μας θα αλλάζουν αναλόγως της γλώσσας ή του σκοπού για τον οποίον γράφουμε κώδικα. Έτσι, ο προγραμματισμός για τη διαχείριση ενός λειτουργικού συστήματος θα διαφέρει σημαντικά από τον αντίστοιχο για τη διαμόρφωση μιας ιστοσελίδας.
Επιλογή γλώσσας
Πρώτο μας μέλημα είναι να αποφασίσουμε με ποια γλώσσα επιθυμούμε να έρθουμε σε επαφή για πρώτη φορά με τον προγραμματισμό. Η επιλογή μας θα διαφέρει, ανάλογα με τον σκοπό για τον οποίο θέλουμε να ασχοληθούμε με το αντικείμενο.
Για παράδειγμα, θα ξεκινούσαμε με HTML ή Javascrpit αν μας ενδιαφέρει η κατασκευή ιστοσελίδων (front-end) και με Java για προγραμματισμό εφαρμογών για κινητά.
Περιβάλλον εργασίας
Πριν γράψουμε το πρώτο μας πρόγραμμα, θα πρέπει να φροντίσουμε να έχουμε το κατάλληλο περιβάλλον, μια βάση δηλαδή πάνω στην οποία μπορούμε να γράφουμε τα προγράμματά μας.
Αυτό εξαρτάται καταρχήν από το λειτουργικό σύστημα με το οποίο δουλεύουμε: πιο φιλικά για συγγραφή κώδικα θεωρούνται τα Mac και τα Linux, και μάλλον τα Windows είναι η χειρότερη επιλογή, χωρίς να σημαίνει ότι δεν υπάρχουν πολλοί προγραμματιστές που επιλέγουν τα τελευταία για τη δουλειά τους.
Το Καλύτερο Λειτουργικό Σύστημα για PCΤο ότι τα Windows έχουν το μεγαλύτερο μερίδιο αγοράς δεν σημαίνει απαραιτήτως πως είναι το καλύτερο λειτουργικό σύστημα για PC. Στον οδηγό αυτό θα δούμε…
Επεξεργαστής κειμένου – Text Editor ή IDE
Για να γράψουμε τον κώδικά μας είναι απαραίτητος ένας text editor, όπως το Notepad, αλλά με πιο πλούσια χαρακτηριστικά, που να μας υποστηρίζουν κατά τη συγγραφή σε γλώσσα προγραμματισμού.
Οι περισσότεροι editors σήμερα προσθέτουν extra λειτουργικότητα και προσφέρουν πληθώρα βοηθητικών εργαλείων, όπως ορθογραφικό έλεγχο για τη γλώσσα, αυτόματη στοίχιση, εύρεση ορφανών παρενθέσεων, κλπ.
Από την άλλη, υπάρχει η δυνατότητα επιλογής ενός IDE (Integrated Develepoment Environment). Πρόκειται για λογισμικό που συνδυάζει σε ένα πακέτο ένα πιο συνολικό περιβάλλον για προγραμματισμό, περιλαμβάνοντας επεξεργαστή, μεταγλωττιστή, εργαλεία debugging, linking, και πολλά άλλα.
Παρότι ένα IDE μπορεί να διευκολύνει πολύ τη ζωή του προγραμματιστή, ίσως είναι προτιμότερο – ειδικά για τον αρχάριο χρήστη – να αρχίσουμε την εκμάθηση προγραμματισμού σε text editor. Αφού εξοικειωθούμε με τη γλώσσα, το συντακτικό της, τις βιβλιοθήκες, κλπ, μπορούμε να εξετάσουμε το ενδεχόμενο ενός IDE.
Μεταγλωττιστής…
Αφού γράψουμε το πρόγραμμά μας στον editor και το αποθηκεύσουμε ως αρχείο, το επόμενο βήμα είναι να το τρέξουμε στον υπολογιστή.
Αυτό δεν είναι τόσο απλό όσο ακούγεται, αφού ο υπολογιστής δεν καταλαβαίνει το πρόγραμμά μας απευθείας στη μορφή κειμένου που το έχουμε αποθηκεύσει.
Θα πρέπει προηγουμένως το πρόγραμμα να μετατραπεί σε δυαδική μορφή, την οποία μπορεί να διαβάσει ο υπολογιστής. Η μετατροπή αυτή γίνεται από ένα λογισμικό που λέγεται μεταγλωττιστής (compiler).
Η διαδικασία της μετατροπής (μεταγλώττιση) θα παράγει ένα εκτελέσιμο αρχείο, το οποίο μπορούμε πλέον να τρέξουμε.
Ο μεταγλωττιστής είναι αναγκαίος όταν γράφουμε σε γλώσσα που πρέπει να κάνουμε compile (μεταγλώττιση) σε δυαδική μορφή, πριν την εκτέλεση του προγράμματος.
Επομένως, για τέτοιες γλώσσες όπως οι C, C++, και Java θα χρειαστεί να εγκαταστήσουμε τους αντίστοιχους compilers πριν καταπιαστούμε με τον κώδικα.
…ή Διερμηνέας?
Υπάρχουν όμως και γλώσσες όπως η Python, η Perl, και η PHP που δεν χρειάζονται μεταγλώττιση.
Σε τέτοιες γλώσσες χρησιμοποιείται συνήθως ένα πρόγραμμα που λέγεται διερμηνέας (interpreter), το οποίο διαβάζει το πρόγραμμα γραμμή – γραμμή και το εκτελεί χωρίς περαιτέρω μετατροπές. Και η Java έχει τη δυνατότητα λειτουργίας με διερμηνέα.
Αν λοιπόν πρόκειται να γράψουμε σε μια από τις παραπάνω γλώσσες, θα πρέπει προηγουμένως να εγκαταστήσουμε τον αντίστοιχο interpreter.
Συνεχίζεται…
Στην επόμενη δημοσίευση θα ρίξουμε μια ματιά στην πρώτη γλώσσα που θα δούμε, την Python. Θα ασχοληθούμε με αυτή τη γλώσσα για μερικά μαθήματα, πριν προχωρήσουμε στην επόμενη.
Θα δούμε επίσης ποιες ενέργειες πρέπει να κάνουμε, ποιον text editor θα εγκαταστήσουμε, και ποιον interpreter θα χρειαστούμε, προκειμένου να γράψουμε το πρώτο μας πρόγραμμα Python σε Windows.
Μαθαίνετε κάποια γλώσσα προγραμματισμού?
Τι γνώμη έχετε για τη νέα στήλη του PCsteps? Σας ενδιαφέρει η εκμάθηση κάποιας γλώσσας? Αν θέλετε να δείτε κάποιο πρόγραμμα ή κάποια συγκεκριμένη γλώσσα στο μέλλον, γράψτε μας στα σχόλια.