Οι κώδικες με βρισιές είναι καλύτεροι!
Οι κώδικες με βρισιές είναι καλύτεροι!

Οι βωμολοχίες κάνουν καλό στην επιστήμη! Εντάξει, μπορεί εκ πρώτης όψεως να νομίζει κανείς πως είναι πλάκα, αλλά είναι κάτι που αποδεικνύεται και με επιστημονικά δεδομένα!

Ο καθηγητής Αλέξανδρος Σταματάκης, ο οποίος από τις αρχές του χρόνου είναι κάτοχος έδρας ERA  (πρόγραμμα HORIZON-WIDERA-2022-TALENTS-01: 2023-2028) στο Ινστιτούτο Πληροφορικής του Ιδρύματος Τεχνολογίας και Έρευνας και ταυτόχρονα ηγείται μιας ερευνητικής ομάδα στο Ινστιτούτο Θεωρητικών Σπουδών της Χαϊδελβέργης (HITS) και είναι καθηγητής στο Τεχνολογικό Ινστιτούτο της Καρλσρούης (KIT), επέβλεψε την πτυχιακή εργασία του Jan Strehmel με θέμα το πώς η χρήση υβριστικού λεξιλογίου επηρεάζει την ποιότητα ενός πηγαίου ανοιχτού κώδικα.

Ο δρ. Αλέξανδρος Σταματάκης
Ο δρ. Αλέξανδρος

Ο δρ. Αλέξανδρος Σταματάκης εξηγεί στην «Π» πως συμπέρασμα της εργασίας ήταν ότι αν οι προγραμματιστές έβριζαν, παρήγαγαν καλύτερο κώδικα!

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

Οι επιστήμονες το 2021 δημιούργησαν ένα εργαλείο (https://www.nature.com/articles/s41598-021-89495-8) με το οποίο μπορούν να αξιολογήσουν την ποιότητα ενός κώδικα, δηλαδή πόσο καλογραμμένος και καλά δομημένος είναι με βάση κάποια στάνταρ που χρησιμοποιούνται, εκτός των άλλων από την NASA και το CERN.

Ένας κώδικας, που είναι προσβάσιμος στο διαδίκτυο, μπορεί να διαβαστεί από άτομα που γνωρίζουν από προγραμματισμό. Οι ερευνητές χρησιμοποίησαν μια λίστα βωμολοχιών από ένα μικρό λεξικό με 300 βρισιές στα αγγλικά και έκαναν αναζήτηση σε χιλιάδες κώδικες που ήταν διαθέσιμοι στο διαδίκτυο. Τελικά, εμφανίστηκαν πολλές περιπτώσεις πηγαίων κωδίκων που είχαν χρησιμοποιήσει κάποιες από αυτές τις λέξεις.

Συγκεκριμένα, ο Strehmel χρησιμοποιώντας διάφορες κατάλληλες στατιστικές δοκιμές, διαπίστωσε ότι οι ανοιχτοί κώδικες που περιέχουν υβριστικό λεξιλόγιο (όπως bullshit, damn, clusterfuck, hell, ass, κ.ά) εμφανίζουν σημαντικά καλύτερη ποιότητα από εκείνους που δεν περιέχουν.

Το αποτέλεσμα της έρευνας έδειξε ότι τα 7.600 αποθετήρια ανοιχτού κώδικα που δεν περιέχουν καμία από τις 300 περίπου βρισιές που αναφέρονται έλαβαν μέση τιμή του δείκτη ποιότητας 5,41 βαθμούς (διάστημα εμπιστοσύνης 5,38-5,45 σε επίπεδο εμπιστοσύνης 99%). Αντίστοιχα, τα 3.800 αποθετήρια με αγγλικές βρισιές σημείωσαν 5,87 (5,81-5,93). Η συσσώρευση κωδίκων με βρισιές με υψηλή βαθμολογία από 7 έως 8 βαθμούς είναι ιδιαίτερα εντυπωσιακή!

Δημοσιεύματα σε Γερμανία και Δανία αναδεικνύουν την ανταπόκριση της έρευνας στην παγκόσμια επιστημονική κοινότητα
Ο δρ. Αλέξανδρος

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

Βέβαια, από εκεί και πέρα μπορούν να αναλάβουν περαιτέρω διερεύνηση του θέματος γλωσσολόγοι αλλά και ψυχολόγοι. Πρόκειται για μία ανακάλυψη που έτυχε ευρείας προβολής στην  κοινότητα των προγραμματιστών. Οι αναρτήσεις του καθηγητή έγιναν viral, ενώ υπάρχουν σχετικά δημοσιεύματα στη Γερμανία, την Ελλάδα, τη Δανία και τις ΗΠΑ.

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

Το tweet του καθηγητή έγινε viral
Σταματάκης

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

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