Per la serie “Magari lo sapevate già…” (lo stile rubrica, per noi cresciuti in epoca Almanacco del Giorno e Carosello, è una fissazione) parliamo di Stack Overflow.
Quando un software che stiamo utilizzando, va in crash, provocando in noi un aumento ipertensivo degno di una cartella fiscale, la causa è addebitabile ad uno Stack Overflow.
Immaginiamo di aver montato a parete una di quelle mensole dai nomi impronunciabili stile codice fiscale. Quella mensola può sostenere un peso di max 5kg. La destiniamo per accatastarci parte dei nostri libri preferiti.
Dal momento che siamo accaniti lettori, in breve tempo la pila (aka Stack) di libri supera, a nostra insaputa, il peso massimo sostenibile dalla mensola impronunciabile.
Così una sera, mentre siamo comodamente seduti sul divano con la tv accesa, nel momento topico di un thriller al cardiopalmo, KABUUUUUM!
Il boato alle nostre spalle fa sì che da seduto, il nostro corpo lievita improvvisamente stile santone, mentre il cuore al primo colpo di tosse è pronto a lasciare la gola.
Realizziamo che, per nostra fortuna, non è l’assassino che ha spalancato la nostra porta di casa bensì, per nostra sfortuna, è la mensola che ha ceduto sotto il peso della cultura!
Ecco cosa accade al nostro programma quando è richiesto l’uso di una quantità troppo elevata di memoria nello stack. Crash!
Lo stack delle chiamate contiene una certa quantità di memoria, ad esso dedicata, determinata spesso all’inizio di ogni programma ad es. sulla base del linguaggio di programmazione, dell’archittettura della macchina piuttosto che sulla quantità di memoria disponibile.
Quando un programma tenta di utilizzare più spazio di quello assegnatogli nello stack di chiamate (cioè quando si tenta di accedere alla memoria oltre i limiti definiti), lo stack trabocca ossia avviene il citato overflow, con un conseguente crash del programma.
Errori di programmazone quali l’uso di variabili di dati o di stack molto grandi così come l’attivazione di infinite istanze di un metodo (meglio nota come ricorsione infinita) sono la principale causa di questa tipologia di bugs informatici.
Magari lo sapevate già… ma non tutto ciò che è Stack Overflow ha una connotazione negativa.
“Stack Overflow is a question and answer site for professional and enthusiast programmers. It’s built and run by you as part of the Stack Exchange network of Q&A sites. With your help, we’re working together to build a library of detailed answers to every question about programming.”
Questo è lo slogan del sito stackoverflow.com ossia un portale sviluppato da e per programmatori alla ricerca di risposte ai loro quesiti così come tips and tricks dei principali linguaggi di programmazione (C#, Java, PHP, Android, Objective-C, jQuery, C++ e via codificando).
Come scrivono i nostri amici “lavoriamo insieme alla costruzione di una libreria (pure loro fissati con ‘sti libri!) di risposte dettagliate ad ogni quesito inerente la programmazione“
Ciascun developer iscritto ha un punteggio derivante dalla reputazione accordatagli dai colleghi/utenti sulla base della capacità esaustiva e risolutiva delle risposte ai quesiti posti.
A metà del 2013 la community di Stack Overflow contava quasi due milioni di utenti registrati e più di cinque milioni di quesiti.
Non siete ancora utenti di Stack Overflow?
Registratevi, noi lo utlizziamo. Funziona bene e spesso risolve i bugs del nostro cervello!
Leave a Comment