Σχόλια για Bernstein (was: Re: Linux Stability)

Αλέξανδρος Διαμαντίδης adia at hellug.gr
Wed May 29 01:41:01 EEST 2002


Εντάξει για όλα τα υπόλοιπα, αλλά στο παρακάτω νομίζω ότι εννοεί κάτι
διαφορετικό:

* Giorgos Keramidas <keramida at ceid.upatras.gr> [2002-05-28 16:58]:
> > The upshot has been that I've pretty much decided to learn to write
> > (useful) software *correctly*, or not at all (maybe do music or
> > other stuff instead).
...
> χρήσιμα.  Δεν έχει νόημα να γράφεις λογισμικό που δεν είναι σωστά
> γραμμένο.  Η μαγική λέξη εδώ είναι το "σωστά", κι όποιος καταφέρει και
> την ορίσει παίρνει γλιφιτζούρι.  Το να είσαι ασαφής δεν θεωρείται

Όχι να είναι σωστά γραμμένο, αλλά να είναι σωστό. Και συγκεκριμένα:

> > discovered at Linux Expo) very willing and enthusiastic to step in
> > and contribute to the GNU/Linux pool of software, for which
> > fundamental (vs. distribute/collect-bug-reports/debug/fix/repeat)
> > correctness is barely in the top five of goals, much less #1.
> 
> Σταμάτησε να βγάζει το g77 γιατί δεν του αρέσει το GNU development
> model.

Όχι δεν του άρεσε το GNU development model - αυτό που δεν του άρεσε
είναι να φεύγουν από τα χέρια των προγραμματιστών προγράμματα που δε
δουλεύουν σωστά εξαρχής, αλλά έχουν κάποια προβλήματα τα οποία θα λυθούν
μετά από αναφορές bug που θα στείλουν οι χρήστες.

> > Imagine an open- source compiler with the #1 goal of never
> > generating incorrect code, #2 of never crashing, #3 of making the
> > code run fast, or similar, with stuff like supporting whatever
> 
> Κάποιος μεταγλωττιστής που βγάζει "λάθος κώδικα" (για κάποιο ορισμό
> του "λάθος") έχει bug και πρέπει να διορθωθεί.  Είμαι σίγουρος ότι
> αυτόν τον μεταγλωττιστή δεν τον χρησιμοποιεί κανείς λογικός άνθρωπος
> για σοβαρή δουλειά.
> 
> Το #2 είναι πολύ σωστό.  Απαιτώ όλα τα προγράμματα που τρέχω σε
> περιβάλλοντα που γίνεται παραγωγική δουλειά να μην κρασάρουν. ΠΟΤΕ!

Το ίδιο απαιτεί κι αυτός. Δεν έχεις δίκιο ότι έναν τέτοιο μεταγλωττιστή
δεν θα τον χρησιμοποιήσει κανείς για σοβαρή δουλειά: ο gcc έχει
εμφανίσει κατά καιρούς τέτοια λάθη, και παρόλα αυτά συνεχίζει να
χρησιμοποιείται (όπως και ο πυρήνας του Linux, κ.α.). Το θέμα είναι ότι
όταν έχεις ένα τόσο πολύπλοκο σύστημα, το να είναι εξαρχής 100% σωστό είναι
σημαντικά πιο δύσκολο από το να είναι 99% σωστό και τα λάθη να
διορθωθούν στην πορεία. Δεν μιλάμε για προγράμματα που καθοδηγούν
πυραύλους ή άλλα τόσο κρίσιμα συστήματα.

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

Τελικά η συζήτηση είναι μάλλον φιλοσοφική...

-- 
Αλέξανδρος Διαμαντίδης * adia at hellug.gr



More information about the Linux-greek-users mailing list