Mas endiaferei ?

Γιώργος Κεραμίδας keramida at ceid.upatras.gr
Sun Apr 13 14:54:01 EEST 2003


*** Προειδοποίηση: Δεν έγραψα τίποτα στο thread γιατί περίμενα να
*** διαβάσω πρώτα αρκετά πράγματα.  Τώρα τα έγραψα όλα μαζί.  Αν σας τη
*** σπάνε τα μεγάλα email, πατήστε το DEL τώρα! :P]

On 2003-04-13 08:21, Evripidis Papakostas <evris at source.gr> wrote:
>
> kai omos, skepsou etairies pliroforikis pou anaptisoun ena sistima gia
> elegxo enos laser egxeiriseon matiou, i ton ipologismo antoxis,
> kampsis dokon gia domikous, i to security ton sistimaton tou pirgou
> elegxou enos aerodromiou, i ta logistika mias etairias klp. edo den
> paizetai episis i s(t)omatiki :-) akeraiotita eos kai i fylaki
> anthropon?

Ναι, σε όλα αυτά το λογισμικό έχει σημαντικό ρόλο.  Και σε πολλά άλλα
πράγματα.  Ποιος μπορεί να ελέγξει όμως την 'ποιότητα' αυτών των
προγραμμάτων; Κι αν έστω και μετά από αρκετό κόπο και δουλειά αποφασίσει
κάποιος να πει ότι 'OK λοιπόν, εγώ από σήμερα μπορώ να ελέγξω
οποιοδήποτε πρόγραμμα έχει σχέση με λογιστικά', ποιος εξασφαλίζει ότι
όντως αυτός ο άνθρωπος ξέρει και σε 2 χρόνια να το κάνει;

Αυτοί που ελέγχουν, κατευθύνουν και μοιράζονται τις δουλειές σε μεγάλα
έργα εδώ πέρα (μιλάω για την Πάτρα, που μπορώ να ξέρω) συνήθως, όταν
έχουν οποιαδήποτε σχέση με υπολογιστές και δεν είναι απλά καλοί
businessmen που τυχαίνει να γνωρίζουν τα κατάλληλα άτομα, είναι άνθρωποι
για τους οποίους ισχύουν μερικά από τα εξής:

  * Κάποτε είχαν προγραμματίσει σε υπολογιστή.

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

  * Η φράση 'software quality assurance' τους θυμίζει Κινέζικα.

> se ola ta alla epaggelmata, kapoioi katathetoun ta ptyxia tous,
> pairnoun tin efthini synolika, xreiazetai tin ipografi tous,
> logodotoun gia to olo project se themata kakis kataskevis, ithikon
> zitimaton, sto dikastirio, apaiteitai se diagonismous klp.

Είναι λίγο περίεργα τα πράγματα εδώ.  Στην τεχνολογία των υπολογιστών
δεν είναι πολύ σαφές πότε κάτι είναι κακή κατασκευή.  Όταν λέμε κακή
κατασκευή για ένα σπίτι, μια γέφυρα, ένα λιμάνι, ένα δρόμο, κλπ. είναι
όλα τους οντότητες και πράγματα με φυσική, υλική υπόσταση και έχουν
άμεση ή έμμεση σχέση που εύκολα την αντιλαμβάνεται και κατανοεί σε
αρκετά ικανοποιητικό επίπεδο κάποιος, ακόμα κι αν δεν έχει κάνει δέκα
χρόνια κάποια αντίστοιχη δουλειά.  Ένα σπίτι όταν πέσει με σεισμό 3.χ
της κλίμακας Richter είναι πολύ εύκολο να καταλάβει οποιοσδήποτε ότι
ήταν 'κακή κατασκευή'.  Μια γέφυρα αν πέσει επειδή πέρασε από πάνω της
μιας νταλίκα, είναι πολύ λογικό να πούμε όλοι 'μα τι ηλίθιος ήταν ο
μηχανικός που την έφτιαξε'.

Με τους υπολογιστές, από την άλλη, τα πράγματα δεν είναι τόσο απλά.  Τα
προγράμματα είναι κάτι που κινείται στο χώρο του υπερφυσικού για τον
περισσότερο κόσμο.  Τι εννοώ;  Ας πούμε ένα παράδειγμα.

Ύστερα από μήνες καθημερινής επαφής με υπολογιστή, ο πατέρας μου, ο
οποίος πρώτα δεν ήξερε ούτε poweroff να κάνει σε ένα PC, γράφει πλέον
ότι θέλει, τυπώνει τα κείμενά του, διαβάζει email και καμιά σελίδα στο
web, και κάνει μέσω web της δηλώσεις του στο ΙΚΑ... τυπικά πράγματα για
κάποιον που δεν είναι προγραμματιστής υπολογιστών, αλλά έχει όρεξη να
μάθει ΚΑΠΟΙΑ πράγματα.  Ε, μετά από 7 μήνες που γίνεται αυτό σιγά σιγά,
ξέρετε τι με ρώτησε χτες όταν του είπα 'θα κάτσουμε να σου μάθω ένα άλλο
πρόγραμμα για email, έχω βαρεθεί να βλέπω αυτή την αηδία το Outlook, που
μου στέλνει γράμματα σε ότι μορφή του καπνίσει';

  - Ρε Γιώργο, ακόμα δεν έχω καταλάβει καλά.
    Τι ακριβώς είναι αυτό που λέμε 'πρόγραμμα' τώρα;

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

Τι είναι λοιπόν ένα 'πρόγραμμα'; Ένας άνθρωπος που ξέρει πολύ καλά να
φτιάχνει ένα σωρό κατασκευές αδυνατεί να καταλάβει τι ακριβώς είναι ένα
πρόγραμμα.  Πως λοιπόν μπορεί αυτός ποτέ να καταλάβει αν ένα πρόγραμμα
είναι καλό ή όχι;  Αν είναι 'καλή κατασκευή' ή 'κακή'.

Για τον περισσότερο κόσμο, τα προγράμματα είναι μια ασαφής, ομιχλώδης,
ακατανόητη έννοια.  Κάτι που αγγίζει τα όρια της μαγείας και του
υπερφυσικού, και δεν κάνω καθόλου μα καθόλου πλάκα.  Όλοι μας έχουμε
διαβάσει ή ακούσει κάποια στιγμή ανέκδοτα με καινούριους χρήστες
υπολογιστών που δεν αφήνουν τα παιδιά τους να πάνε κοντά σε υπολογιστές
'για να μην κολλήσουν κανένα ιό'.  Μόλις καταλαγιάσουν τα γέλια από κάτι
τέτοια, συνειδητοποιούμε ότι είναι πολύ λογική η σκέψη.  Δεν είναι
εύκολο να καταλάβει κάποιος όλα αυτά τα καινούρια δαιμόνια που κουβαλάνε
μαζί τους οι υπολογιστές και η φάρα τους.  Ο πιο πολύς κόσμος το πρώτο
που προσπαθεί να κάνει είναι να βρει άμεσες αντιστοιχίες με τον φυσικό
κόσμο, πράγματα που τα ξέρει ήδη, για να καταλάβει τι είναι και πως
δουλεύει το καθετί.  Δυστυχώς, όπως φαίνεται κι από τα σχετικά ανέκδοτα
αυτός δεν είναι και πολύ καλός τρόπος, αφού δεν οδηγεί πάντα σε λογικά
αποτελέσματα.

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

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

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

Απόδειξη αυτού είναι κάτι που πολλές φορές το έχουμε συναντήσει αρκετοί
από εμάς εδώ πέρα, αλλά το προσπερνάμε συνήθως σαν κάτι που δεν μας
αφορά.  Μερικοί από εμάς, που έχω μιλήσει μαζί τους και προσωπικά,
παραδέχονται χωρίς δυσκολία ότι οι άνθρωποι που χρησιμοποιούν σαν κύριο
λειτουργικό σύστημά τους τα Windows έχουν μια τάση να αποδέχονται σαν
οικουμενική αλήθεια, κάτι προφανές, αυταπόδεικτο και αναπόφευκτο το
γεγονός ότι 'οι υπολογιστές είναι φυσιολογικό να κρεμάνε που και που'.
Αφήνοντας προς το παρόν στην άκρη το αντι-Microsoft κομμάτι της
διαπίστωσης, τι μας λέει αυτό;

Ότι κάποιοι άνθρωποι θεωρούν φυσιολογικό ...

  . να κρεμάει ο προσωπικός υπολογιστής τους στο σπίτι και να χάνουν 3
    ώρες δουλειάς.

  . να χάνεται το 20% από τα email που στέλνουν γιατί ο mail server τα
    παίζει όποτε το φεγγάρι είναι αρκετά γεμάτο.

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

  . να πρέπει να τυπώσει και να παραδώσει σε χαρτί ("για να είμαστε
    σίγουροι") την ηλεκτρονική δήλωση στο ΙΚΑ (ή σε κάποια άλλη δημόσια
    υπηρεσία).

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

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

Το γεγονός ότι μερικές από αυτές τις φορές, οι ενέργειες του
προγράμματος μπορεί να έχουν σοβαρό και μη αντιστρέψιμο αντίκτυπο στη
ζωή και ακεραιότητα ενός ανθρώπου (ένας είναι αρκετός για μένα, αν είναι
πολλοί ΤΟΣΟ ΧΕΙΡΟΤΕΡΑ), φαίνεται πως είναι δευτερεύουσας και χαμηλότερης
σημασίας.

Θέλετε να γελάσετε τώρα; Παλιότερα, όταν ήμουν στην πρώτη λυκείου ήθελα
να σπουδάσω Ιατρική, με μια μικρή προτίμηση στην Παιδιατρική (εμφανώς
επηρεασμένος από ένα καλό οικογενειακό φίλο, που είναι κι ο γιατρός στον
οποίο πήγαινα πολλά χρόνια, ο οποίος είναι τρομερό άτομο).  Στην μέση
της δευτέρας λυκείου, παράτησα σαν ιδέα την Ιατρική γιατί δεν ήθελα να
κάνω κάτι που να εξαρτάται η ζωή ανθρώπων από ένα μου λάθος.  Πίστευα
ότι αν έκανα κάποιο λάθος θα είχα αβάσταχτες τύψεις και δεν θα την
έβγαζα καθαρή για πολύ καιρό.  Έτσι άλλαξα κατεύθυνση και ασχολήθηκα με
υπολογιστές, με τη σκέψη πως 'τουλάχιστον, εδώ αν κάτι πάει στραβά,
πετάς κάτι, αγοράζεις ένα άλλο εξάρτημα, και είσαι μάγκας ξανά'.

Όποιος γέλασε, δεν πιστεύω ακόμα το ίδιο :P

Ε, μετά από όλα αυτά, ποιος ξέρει τι είναι 'καλή κατασκευή' όταν μιλάμε
για ένα πρόγραμμα; Και το πιο σημαντικό, αυτός που το ξέρει, πως
πιστεύει ότι είναι ένας καλός τρόπος να το μάθει κι όλος ο άλλος κόσμος;

> se mas einai ligo ksefrago ampeli akoma (kai se dimosio kai se
> idiotikes). opoios nanai, kanei oti nanai, se oti poiotita nani, kai
> se oti timi nanai. an ipirxe enas aksioprepis silogos pliroforikis tha
> eprepe na eksasfalisei akrivos tetoia pragmata. me ipefthino /
> armodio, apodedeigmena ekseidikevmeno prosopiko pou exei alithines
> efthines kai den borei na parakamfthei apo ton opoiondipote
> megalompakali/idioktiti etairias, alla prepei na iparxei ipoxreotika
> to evris-approved-sfragidaki sto telos tis protasis diagonismou, tis
> aksiologisis, tou manual, tou kodika klp, tis paraggelias kai
> poiotikes prodiagrafes douleias, o misthos akolouthei.

Το evris-approved-sfragidaki είναι ένας καλός τρόπος να μάθει ο άλλος
ότι το πρόγραμμα καλύπτει κάποιες προδιαγραφές.  Αν ο σύλλογος στον
οποίο αναφέρεται όλο το thread βάλει σαν σκοπό το να θέσει κάποια
πρότυπα, και να απαιτεί να τηρούνται τα πρότυπα σε όλες τις δουλειές
που γίνονται σε σχέση με το όνομα του συλλόγου, είναι μια καλή αρχή!

Η όλη δυσκολία στο να πιάσει ένας τέτοιος σύλλογος βρίσκεται στο
'αποδεδειγμένα εξειδικευμένο προσωπικό' όμως.  Αποδεδειγμένα για ποιον;
Αφού λέμε ότι ο διευθυντής της AnoKatoSoft, Inc. δεν ξέρει ότι τα
προγράμματα που βγάζει το τεχνικό του τμήμα είναι επιοικώς για τα μπάζα,
κολλάνε με το παραμικρό, όταν δεν έχει φεγγάρι δεν ξεκινάνε ούτε με
σφαίρες, και κάθε Παρασκευή βράδυ κάνουν μακάβριες σατανιστικές τελετές
με πτώματα από αθώους, ανυποψίαστους χρήστες και παρθένες, δεκαεξάχρονες
οθόνες . . .

Ο ίδιος ο σύλλογος πως θα πιστοποιεί την εμπειρία, την γνώση και το πόσο
το εξειδικευμένο προσωπικό του είναι κατάλληλοι για να κάνουν κάτι
τέτοιο; Είναι το γνωστό πρόβλημα.  "Quis custodies ipsos custodes."
(Ποιος μιας φυλάει από αυτούς που μας φυλάνε;)

Κι έστω ότι υπάρχει ο σύλλογος.  Κι έχει και προσωπικό/μέλη.  Που
μπορούν και ξέρουν να κάνουν ελέγχους και δοκιμές σε προγράμματα.
Με συγκεκριμένο checklist από ποιοτικά κριτήρια, user interface
guidelines, μια πλήρη σειρά από προγράμματα δοκιμών για δεκάδες
πλατφόρμες, κλπ.

Γιατί ο διευθυντής της παραπάνω εταιρείας να μας ακούσει και να μην
αγοράσει λογισμικό από, π.χ., την AnoKatoSoft;

Ή για να το κάνω λίγο πιο περίπλοκο, γιατί ο υπουργός Επικοινωνιών να
μην δεχτεί την αγορά των νέων τραίνων από την Γερμανική Foo GmbH., που
ο σύλλογός μας έχει ερευνήσει το λογισμικό της και ανακάλυψε ότι έχει
ένα εκατομμύριο bugs, περίπου δηλαδή δέκα bugs για κάθε ευρώ που
κοστίζει στον φορολογούμενο Έλληνα το όλο 'πακέτο';

- Γιώργος





More information about the Linux-greek-users mailing list