Κυριακή 8 Ιουλίου 2007

Μεγάλες αλήθειες

Μου τα στείλανε, τα διάβασα, μου αρέσανε και σας τις παρουσιάζω..
  • Η διαφορά μεταξύ ιδιοφυΐας και βλακείας είναι ότι η ιδιοφυϊα έχει όρια.
  • Φυσικά και υπάρχει πολλή γνώση στα πανεπιστήμια. Οι πρωτοετείς φέρνουν λίγη, οι τελειόφοιτοι δεν παίρνουν πολλή κι έτσι η γνώση συσσωρεύεται.
  • Ο καλύτερος τρόπος για να κρατάς το λόγο σου είναι να μην τον δίνεις.
  • Μην κρατάς αρνητική στάση λέγοντας: Δε θα επιτύχω, δε θα επιτύχω.. Προτιμότερη είναι η θετική στάση: Θα αποτύχω, θα αποτύχω.
  • Όσο απλό είναι να περιπλέξεις τα πράγματα, τόσο περίπλοκο είναι να τα απλοποιήσεις.
  • Αρχιτεκτονική είναι η τέχνη να χαραμίζεις χώρο.
  • Όταν ένας άντρας ανοίγει την πόρτα του αυτοκινήτου στην σύζυγό του, δύο πράγματα μπορεί να συμβαίνουν: ή είναι καινούρια σύζυγος ή είναι καινούριο το αυτοκίνητο.
  • Οι άντρες που έχουν τρυπήσει τα αυτιά τους είναι καλά προετοιμασμένοι για γάμο.Έχουν νιώσει πόνο κι έχουν αγοράσει κοσμήματα.
  • Μην εκνευρίζεσαι αν ο γείτονάς σου έχει το στέρεο ανοιχτό στις δύο το πρωί.Τηλεφώνησέ του στις τέσσερις και πες του πόσο σου άρεσε.
  • Καταλαβαίνεις ότι γέρασες από τη στιγμή που τα κεριά κοστίζουν
  • περισσότερο από την τούρτα.
  • Οι ληστές ζητούν ή τα λεφτά ή τη ζωή σου. Οι γυναίκες και τα δυο.
  • Το μόνο κοινό που έχουν το National Geographic και το Playboy είναι ότι σου επιτρέπουν να δεις πολλά μέρη που ποτέ δε θα επισκεφτείς.
  • Ο ορισμός της κραυγαλέας σπατάλης για μένα είναι ένα λεωφορείο γεμάτο δικηγόρους που πέφτει στο γκρεμό κι έχει τρεις θέσεις αδειανές.
  • Eγωιστής: ένα άτομο που ενδιαφέρεται περισσότερο για τον εαυτό του παρά για μένα.
  • Επιτυχημένος άντρας είναι εκείνος που βγάζει περισσότερα λεφτά από όσα μπορεί να ξοδέψει η γυναίκα του.
  • Επιτυχημένη γυναίκα είναι αυτή που μπορεί να βρει έναν τέτοιον άντρα.
  • Η σκληρή δουλειά δε σκότωσε ποτέ κανέναν, αλλά γιατί να παίζουμε με την τύχη μας;
  • Μ΄ αρέσει η δουλειά. Μ' ενθουσιάζει. Μπορώ να κάθομαι επί ώρες και να την κοιτάω.
  • Ο άνθρωπος που χαμογελά όταν όλα πάνε στραβά έχει σκεφτεί κάποιον να ρίξει το φταίξιμο.
  • Σας ευχαριστώ όλους που ήρθατε εδώ να γιορτάσουμε τη 43η επέτειο των 39 μου χρόνων.
  • Το να κόψεις το τσιγάρο είναι το πιο εύκολο πράγμα. Εγώ το έχω κόψει τουλάχιστον 50 φορές.
  • Στη δημοκρατία το κάθε κόμμα αφιερώνει το μεγαλύτερο μέρος της ενέργειάς του να αποδείξει ότι το άλλο δεν είναι ικανό να κυβερνήσει. Και τα δυο το πετυχαίνουν. Και τα δυο έχουν δίκιο.
  • Αν αναλάβει το κράτος την έρημο Σαχάρα, σε λίγα χρόνια θα υπάρχει έλλειψη άμμου.
  • Λογική είναι η τέχνη να κάνεις λάθος με αυτοπεποίθηση.
  • Για να ντυθεί μια γυναίκα, γδύνονται δύο ζώα: ένα που δίνει τη γούνα κι ένα που την πληρώνει.
  • Γράφω σε ένα χαρτί ό,τι πρέπει να θυμηθώ. Κατ' αυτόν τον τρόπο, αντί να ξοδεύω το χρόνο μου προσπαθώντας να θυμηθώ αυτό που έγραψα, τον ξοδεύω ψάχνοντας το χαρτί που έγραψα αυτά που πρέπει να θυμηθώ.
  • Eίπα στη γυναίκα μου την αλήθεια. Της είπα πως βλέπω ψυχίατρο. Μετά μου είπε την αλήθεια: βλέπει ψυχίατρο, δυο υδραυλικούς και έναν μπάρμαν.
  • Οικονομολόγος είναι ένας άνθρωπος που θα ξέρει αύριο γιατί αυτά που προέβλεψε χτες δε συνέβησαν σήμερα.
  • Υπάρχουν τρεις τρόποι να γίνει κάτι. Κάν' το μόνος σου, προσέλαβε κάποιον να το κάνει ή υπαγόρευσε στα παιδιά σου να το κάνουν.
  • Τα αισθήματά μου είναι ανάμεικτα. Είναι σαν να βλέπεις την πεθερά σου να πέφτει στο γκρεμό με το αυτοκίνητό σου.
  • Εύκολη: αντρικός όρος που χαρακτηρίζει τις γυναίκες που έχουν τη σεξουαλική ηθική του άντρα.
  • Η ζωή στη Γη μπορεί να είναι ακριβή, αλλά περιλαμβάνει και δωρεάν ταξίδια γύρω από τον ήλιο.
  • Τράπεζα είναι το ίδρυμα που σου δανείζει λεφτά αν μπορείς να αποδείξεις ότι δεν σου χρειάζονται.
  • Όταν κάνεις το καλό, ζήτα απόδειξη, μην τυχόν και ο παράδεισος δουλεύει σαν την εφορία.
  • Οι στατιστικές λένε ότι ένας στους τέσσερις Έλληνες υποφέρει από κάποια διανοητική διαταραχή.
  • Σκέψου τους τρεις καλύτερους φίλους σου. Αν είναι υγιείς, τότε έχεις πρόβλημα!!!

Σάββατο 7 Ιουλίου 2007

Πως να γίνεις προγραμματιστής

Τις τελευταίες 2-3 μέρες πρόσθεσα έναν μετρητή επισκεπτών. Ώστε να βλέπω αν έχω κανέναν επισκέπτη, ή αν μονος τα γράφο, μονος τα διαβάζω! [Η μέτρηση γίνεται με το sitemeter, αν πάτε στην κάτω μεριά της σελίδας στο κέντρο υπάρχει το εικονιδιο]. Αυτό μου δίνει την δυνατότητα να βλέπω το πως με βρήκανε και αν διαβάσανε κάποια συγκεκριμένη ανάρτηση [post] ή γενικά μπήκαν στο blog μου, αλλά και το σε ποια σελίδα πήγανε..
Ολα αυτά τα γράφω για να πω οτι το έχω κάνει ώστε να βλέπω αν αυτοι που με βρίσκουν τους ικανοποιώ! Δηλαδή αν ψάχνει κάποιος για το Α, τότε εγώ του δίνω αυτό το Α ή με βρίσκει κατα τύχη; Ανάμεσα στις αναζητήσεις, όπου οι περισσότερες αφορούσανε το θέμα που με έχει ευαισθητοποιήσει περισσότερο απο όλα, δηλαδή την στην Πάρνηθα, βρήκα και μια για το "πως γίνεσαι προγραμματιστής".
Η αλήθεια είναι ότι ειδικότητα μου είναι ο προγραμματισμος, αυτή άλλωστε ειναι η δουλειά μου! Έχω πλέον και 12 μήνες ένσημα και γενικά 15 μήνες προϋπηρεσία ;-). Αλλά ως τώρα δεν είχα σκεφτεί αν γράψω κάτι τέτοιο.. Είναι κάτι περίπλοκο. Ένας συνάδερφος μου λέει οτι είναι απλά να ακολουθείς κάποιες διαδικασίας, εγώ απο την άλλη θεωρώ ότι ειναι να έχεις ταλέντο. Να έχεις τον περίπλοκο τρόπο σκέψης, ή μάλλον τον προσαρμόσιμο τρόπο σκέψης. Πρέπει να μην είσαι απλά μαθηματικό μυαλό. Πρέπει να μπορείς να βλέπεις τα πράγματα πιο χαοτικά. Και πάνω απο όλα να μπορείς να δομής την σκέψη.
Δομημένη σκέψη σημαίνει ότι όταν πρέπει να ξεκινήσεις απο το Α να πας στο Ω πρέπει να περιγράψεις όσο πιο απλά γίνεται την διαδρομή ώστε να μπορέσεις να βρεις εύκολα το τι λάθος έκανες. Γιατι αυτό που πρέπει να ξερει απο την αρχή ένας προγραμματιστής είναι ότι στόχος δεν ειναι να μην κάνει λάθη, είναι αδύνατον, αλλά να μπορεί να τα εντοπίζει εύκολα. Για αυτό πρέπει πάντα να φτιάχνει ένα σχεδιαγραμμα και γενικά να μελετά πρώτα στο χαρτί το πως θα λειτουργεί το προγραμμα του, πριν το γράψει σε κώδικα. Είναι όπως ο μηχανικός στις οικοδομές. Φτιάχνει τα σχέδια πρώτα, αφού έχει μελετήσει. Και μετά ρίχνει μπετά, δηλαδή υλοποιεί τα σχέδια.
Άλλωστε και ο προγραμματιστής τι είναι; Μηχανικός λογισμικού είναι. Άρα και ο προγραμματιστής πρέπει να ξέρει να σχεδιάζει το οικοδομημα του πριν ρίξει τα μπετά, δηλαδή γράψει κώδικα. Οποιος αρχίζει και γράφει γραφει γραφει, σιγουρα κάποια στιγμή θα το πετάξει ολοκληρο! Εκτώς βέβαια κι αν κάνει κάτι το πάρα πολύ εύκολο οποτε και δε θα έχει προβλημα.
Αυτά τα σχέδια φτιαχνονται συνήθως με χρήση μιας τυποποιημένης γλώσσας, που είναι η UML, ή με αυτοσχέδιες μεθόδους ;-) Στην πτυχιακή μου εργασία είχα ασχοληθεί με την UML και πως μπορεί να επεκταθεί έξυπνα ώστε να καλύψει κάποιες ανάγκες επεκτασιμοτητας συστηματων. [Κάποια στιγμή θα την ανεβάσω στο Δίκτυο να την διαβάσει όποιος ενδιαφέρεται! Αν κι αν είστε τυχεροί και είναι πάνω ο server της βιβλιοθήκης του ΤΕΙ, μπορείτε να την δείτε κι εδώ]. Οι ανάγκες επεκτασιμότητας που καλύπτονται απο την δικιά μου πτυχιακή είναι ανάγκες όπως προσαρμοστικότητα, δηλαδή για παραδειγμα πρόγραμμα που φτιάχτηκε να παίζει σε υπολογιστή, να θέλουμε να παίζει και σε κινητο. Με χρήση της UML, με τον τρόπο που προτείνω στην πτυχιακή μου, αποφεύγεται ο πλήρης επανασχεδιασμός. Οπότε έχει μικρότερο κόστος σε χρόνο, χρήμα αλλά και κίνδυνο ;-) Γενικά ο σχεδιασμός είναι το πρώτο βήμα που πρέπει να μάθει κάποιος, αν θέλει να γίνει προγραμματιστής κι όχι απλά ένας code monkey.
Αλλωστε, το επόμενο βήμα απο το να είσαι ένας απλό προγραμματιστής πρέπει να είναι να γίνεις αναλυτής. Δηλαδή να είσαι αυτός που θα κάνει τα σχέδια για ολόκληρο το σύστημα. [τα σχέδια που κάνει ένας απλός προγραμματιστής αφορούν πιο συγκεκριμένα θέματα, που είναι πιο κοντά στην υλοποιηση, σε σχέση με τον αναλυτή. Αν και συνήθως μπλέκονται οι αρμοδιοτητες ;-)]
Μετά απο αυτό το βήμα, του σχεδιασμού, πρέπει να μπορεί να γράψει και κώδικα. Δηλαδή να μετατρέψει αυτά τα διαγράμματα σε μια γλώσσα προγραμματισμου, το οποίο είναι το πιο εύκολο αλλά, λόγο των ιδιαιτεροτήτων κάθε γλώσσας, χρειάζεται εξοικείωση.
Τέλος το τρίτο και εξίσου σημαντικό με το πρώτο βήμα είναι η δοκιμή. Δηλαδή ο έλεγχος του ότι αυτό που υλοποιήθηκε κάνει αυτό που ζητήθηκε. Εδώ χρειάζεται προσοχή. Δεν δοκιμάζουμε αν αυτό που σχεδιάστηκε είναι αυτό που υλοποιήθηκε, αλλά αν αυτό που ζητήθηκε είναι αυτο που υλοποιήθηκε ;-). Πολλές φορές μου έχει συμβεί αυτό το μπέρδεμα. Σχεδιάζω κάτι λάθος, οποτε στον έλεγχο συγκρίνω το υλοποιημένο με το σχέδιο και βλέπω ότι είναι σωστό. Αλλά στην πραγματικότητα έχει γίνει λάθος απο την αρχή. Για αυτό το λόγο πρέπει το πρώτο βήμα να το προσέχουμε πάρα πολύ, ώστε να μην μπαλώνουμε μετά.

Συνοψίζοντας:
Αν θέλεις να γίνεις καλός προγραμματιστής πρέπει να μπορείς να κάνεις τουλάχιστον τα 3 ακόλουθα:
  1. Σχεδιασμός συστήματος, βάση κάποιων απαιτήσεων του πελάτη
  2. Υλοποιηση σε κάποια πραγματική γλώσσα προγραμματισμού
  3. Δοκιμή ότι το υλοποιημένο καλύπτει τις απαιτήσεις
Βεβαίως αυτα προϋποθέτουν υπομονή, επιμονή, συνεχή όρεξη για λάθη, διάθεση για επίλυση κάθε προβλήματος. Και γενικά ένας προγραμματιστής πρέπει να έχει μια βασική αρχή,
"ΔΕΝ ΥΠΑΡΧΟΥΝ ΠΡΟΒΛΗΜΑΤΑ, ΜΟΝΟ ΠΡΟΚΛΗΣΕΙΣ"

ΥΓ: Αν έχεται κάποιες ερωτήσεις, ή σχόλια παρακαλώ προσθέστε τα και θα προσπαθήσω να ανταποκριθώ το συντομότερο ;-)

LinkWithin

Blog Widget by LinkWithin

Mobile edition