The Programming Learning Curve: 5 Βασικές Τεχνικές

Αναρτήθηκε 19 Αυγούστου, 2009 στο θέμα Ώρες Καψίματος από τον fuSi0N

Hello World ΤοστΜιλώντας για learning curve εννοούμε την διαδικάσια εκμάθησης μιας γλώσσας προγραμματισμού. Στη συνέχεια θα μελετήσουμε πως αυτή μπορεί να ξεπεραστεί αποτελεσματικά.

Τί είναι?

Η “καμπύλη εκμάθησης” είναι η διαδικασία στην οποία εισέρχεται ο προγραμματιστής την περίοδο γνωρίμιας με κάποια γλώσσα προγραμματισμού, με κάποιο framework ή κάποιο API.

Για χάρη συντομίας, στο υπόλοιπο άρθρο θα αναφερόμαστε μόνο στην περίπτωση της γλώσσας προγραμματισμού. Στη συνέχεια θα δούμε κάποιες από τις τεχνικές που χρησιμοποιούνται.

1. To Documentation είναι η Βίβλος σου

Βιβλιοθήκη

Το επίσημο documentation είναι η καλύτερη πηγή γνώσης που μπορείς να έχεις.

Το πρόβλημα που συναντάται συχνά στα documentations είναι ότι σου παρέχουν πολύ περισσότερη πληροφορία απ’ όση θα χρειαστείς για να ξεκινήσεις. Καλό θα είναι στην πρώτη σας επαφή με την γλώσσα να κάνετε ένα γενικό “σκανάρισμα” και να κρατήσετε κάποια πράγματα που σας φαίνονται ενδιαφέροντα.

2. Μάθε να Ψάχνεις

Πληκτρολόγιο Dell Inspiron 6400

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

Λέξεις που πρέπει να μάθεις είναι how-tos, tutorials, tips&tricks.

Αυτές, συνοδευόμενες με το όνομα της γλώσσας προγραμματισμού εγγυώνται πολύ καλά αποτελέσματα στο google που πολύ πιθανώς θα σου λύσουν τα χέρια. :-)

3. Ψάξε Tutorials

Μονοπάτια

Δεδομένου ότι έχει βρει κάποια sites γύρω από το αντικείμενο σου, είναι καιρός να διαβάσεις τα tutorials που κυκλοφορούν. Η λογική λέει να ξεκινήσεις από τα εύκολα και να προσπαθείς συνέχεια να ανέβεις επίπεδο.

Μια διαφορετική προσέγγιση είναι να επιλέξεις από την αρχή κάποιο tutorial μέτριας δυσκολίας το οποίο θα προσπαθείς να καταλάβεις, με τη βοήθεια του documentation. Έτσι θα καταφέρεις να μπείς στην γενική φιλοσοφία της γλώσσας πολύ πιο εύκολα καθώς θα ξεκολλήσεις από τα βαρετά basics.

Προτίμησε τα video tutorials, ειδικά όταν οι γνώσεις σου δεν είναι ακόμα αρκετά σφαιρικές ώστε να καλύψουν τα κενά που αφήνουν τα γραπτά tutorial. Ένα καλό video tutorial θα καλύψει αρκετές απορείες, ειδικά όταν έχεις επιλέξει καλό δάσκαλο.

4. Το Πρώτο σου Πρόγραμμα μην είναι και το Μοναδικό

Κώδικας σε Javascript με jQuery

Το “Hello World” δεν είναι αρκετά μεγάλο κίνητρο για να συνεχίσεις.

Προσπάθησε να δουλέψεις σε κάτι πιο σύνθετο ίσως και κάτι εμπνευσμένο από τα tutorials που παρακολουθήσες.

Δοκίμασε να αλλάξεις κάτι για να δεις πως συμπεριφέρεται το πρόγραμμα.

Αν κάτι πάει στραβά, αγνόησε την επιθυμία σου να το λύσεις μόνος και συμβουλέψου την κοινότητα (community) σχετικά με το πρόβλημα σου.

Οι απαντήσεις που θα πάρεις μπορεί να σε βοηθήσουν και σε άλλα προβλήματα που θα εμφανιστούν.

5. Αγόρασε ένα Βιβλίο

Βιβλία Προγραμματισμού

Αρχικά προσπάθησε να βρεις στο internet κάποια reviews σχετικά με τα βιβλία που σε ενδιαφέρουν. Για παράδειγμα, αν ψάξεις στο google “best books in python programming” μπορείς πολύ εύκολα να δεις τι προτείνεται από άλλους εμπείρους χρήστες. Πιθανώς να βρεις και κάποιο preview του βιβλίου, για παράδειγμα τις πρώτες 100 σελίδες.

Με αυτόν τον τρόπο θα καταφέρεις να βρεις κάποιο reference στην γλώσσα που μπορεί πραγματικά να σε εμπνεύσει και να σε καθοδηγήσει.

Flickr Credits

Σου άρεσε το θέμα?

Γίνε συνδρομητής στο RSS feed

Μπορείς επίσης να αφήσεις το δικό σου σχόλιο ή να κάνεις trackback από το προσωπικό σου blog.

Tags: , , ,



Σχόλια Επισκεπτών

  1. Χάρης Καλογήρου

    Στα πολύ σωστά παραπάνω να προσθέσω και την ανάγνωση κώδικα που έχουν γράψει άλλοι. Ειδικά σήμερα που υπάρχει τέτοια πληθώρα λογισμικού ανοιχτού κώδικα, είναι πολύ εύκολο να μάθεις από τους “guru”!

    Αν μαθαίνεις Python πρέπει σίγουρα να “διαβάσεις” Guido…

  2. fuSi0N

    Σωστή παρατήρηση, όλη η δύναμη του open-source είναι η εγγύηση ότι μπορείς να μάθεις από τους καλύτερους έχοντας παράλληλα την υποστήριξη της κοινότητας.

  3. Λία Βέρου

    Συμφωνώ στα περισσότερα, διαφωνώ κάθετα με το “αγνόησε την επιθυμία σου να το λύσεις μόνος σου” για πολλούς λόγους:
    1. Δεν μπορείς στο κάθετι που σκοντάφτεις να ρωτάς άλλους.
    2. Το να το λύσεις μόνος σου θα σε εισάγει στον τρόπο σκέψης που θα σου χρειαστεί για το debugging πάρα πολλές φορές στο μέλλον.
    3. Οι άλλοι θα σου απαντήσουν στοχοκεντρικά (πώς να το λύσεις), ενώ μόνος σου μπορεί να περιπλανηθείς σε διάφορα μονοπάτια και να μάθεις πολύ περισσότερα.

    Προσωπικά είμαι της άποψης να προσπαθείς να λύσεις το κάθετι μόνος σου (με πειραματισμό, διάβασμα googling etc) και μόνο αν φτύσεις αίμα (που λέει ο λόγος) και δεν τα καταφέρεις, τότε και μόνο τότε να ρωτήσεις άλλους.
    Μέχρι στιγμής μπορώ να πω ότι μου έχει βγει σε καλό…

  4. Λία Βέρου

    PS: Και απ’ότι φαίνεται, δεν είμαι η μόνη που έχει αυτή την άποψη… ;-)

  5. fuSi0N

    Μια γραμμή παραπάνω αναφέρω πως κάποιος μπορεί να πειραματιστεί με κάποιον έτοιμο κώδικα.

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

    Σε περίπτωση βέβαια που μιλάμε για προσωπικό project, συμφωνώ με όσα είπες.

  6. Aflets

    Πολύ καλό άρθρο, μπράβο.

    Θα μπορούσες ίσως να φτιάξεις και μια λίστα με τα top tutorial-offering websites του χώρου? (μιλάω πάντα για free, και σαφέστατα όχι premium). Δεν λέω ότι δεν έχω επαφή, χρησιμοποιώ μερικά και είμαι ευχαριστημένος. Αλλά ίσως υπάρχει κάτι καλύτερο στο διαδίκτυο για το οποίο δεν έχουμε ακούσει ακόμα.

    Ευχαριστώ :)

  7. fuSi0N

    @Aflets
    Ευχαριστώ φίλε για τα καλά σου λόγια. :-)

    Τώρα για αυτό που είπες, πιστεύω ότι δεν μπορώ να παρουσιάσω τα “απόλυτα” tutorial sites/magazines γιατί αυτό είναι καθαρά υποκειμενικό.
    Να σκεφτείς μόνο ότι από την εποχή που έψαχνα να κρατήσω 10-20 must-have resources πιθανώς να έχουν εμφανιστεί άλλα πολύ καλύτερα.
    Στην τελική μπορεί να ξέρω λιγότερα από εσένα.

    Υποθέτω μιλάς για web design.
    Μερικές λέξεις που μου έρχονται στο μυαλό:
    nettuts, blog.themeforest, smashing magazine, six revisions, noupe, cssglobe, css-tricks, thinkvitamin, designm.ag, catswhocode.

  8. Aflets

    Ευχαριστώ πολύ fuSiON. Ομολογώ πως τα περισσότερα τα ακούω πρώτη φορά. Σε διαβεβαιώ όμως πως όλα τους (τουλάχιστον από όσο περιηγήθηκα) είναι άριστα.

    Τά σέβη μου! :)

  9. dyrer

    Πάρα πολύ καλό το άρθρο, έτσι για τους νέους προγραμματιστές ότι θα πρέπει να προσπαθούνε πριν να κερδίσουν την ευχέρεια να προγραμματίζουν άνετα. Άντε και καλό πτυχίο!!!

  10. fuSi0N

    Ευχαριστώ για τα καλά σου λόγια.
    Ο φίλος του Νότη να υποθέσω :-D

Πες τη γνώμη σου

To Όνομα σου