{"id":8480,"date":"2020-05-12T10:17:00","date_gmt":"2020-05-12T08:17:00","guid":{"rendered":"https:\/\/www.addlance.com\/blog\/?p=8480"},"modified":"2021-02-17T23:31:37","modified_gmt":"2021-02-17T22:31:37","slug":"cose-un-bug","status":"publish","type":"post","link":"https:\/\/seven.addlance.com\/beta\/blog\/cose-un-bug\/","title":{"rendered":"Cos&#8217;\u00e8 un Bug e come risolverlo"},"content":{"rendered":"\n<div class=\"wp-block-image\"><figure class=\"alignright size-medium\"><img decoding=\"async\" width=\"300\" height=\"233\" src=\"https:\/\/www.addlance.com\/wp-content\/uploads\/2020\/05\/cose-un-bug-300x233.jpg\" alt=\"cos'\u00e8 un bug\" class=\"wp-image-8481\" srcset=\"https:\/\/seven.addlance.com\/beta\/blog\/wp-content\/uploads\/2020\/05\/cose-un-bug-300x233.jpg 300w, https:\/\/seven.addlance.com\/beta\/blog\/wp-content\/uploads\/2020\/05\/cose-un-bug-1024x797.jpg 1024w, https:\/\/seven.addlance.com\/beta\/blog\/wp-content\/uploads\/2020\/05\/cose-un-bug-768x598.jpg 768w, https:\/\/seven.addlance.com\/beta\/blog\/wp-content\/uploads\/2020\/05\/cose-un-bug-1536x1195.jpg 1536w, https:\/\/seven.addlance.com\/beta\/blog\/wp-content\/uploads\/2020\/05\/cose-un-bug-610x475.jpg 610w, https:\/\/seven.addlance.com\/beta\/blog\/wp-content\/uploads\/2020\/05\/cose-un-bug-1080x840.jpg 1080w, https:\/\/seven.addlance.com\/beta\/blog\/wp-content\/uploads\/2020\/05\/cose-un-bug.jpg 1920w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/figure><\/div>\n\n\n\n<p>Cos&#8217;\u00e8 un bug? Potresti chiedertelo presto. Ecco di cosa si tratta e come puoi fronteggiarlo. Un bug \u00e8 un termine inglese che pu\u00f2 essere tradotto in italiano come &#8220;baco&#8221;. In informatica viene usato per <strong>indicare un guasto che causa un <a href=\"https:\/\/www.addlance.com\/s\/risolvere-bug\" class=\"aioseop-link\">malfunzionamento del <em>software<\/em><\/a><\/strong> (o programma). Il bug di solito \u00e8 ascrivibile ad <strong>errori di codice<\/strong>. Ti sembra gi\u00e0 troppo tecnica come spiegazione? Niente paura, ecco la bella notizia: a meno che tu non sia un esperto in materia, non puoi (e non devi) risolvere il bug da solo. La tua unica azione \u00e8 limitata a <strong>segnalare il problema allo sviluppatore del <em>software<\/em><\/strong>.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Naturalmente questo piccolo articolo su cos&#8217;\u00e8 un bug \u00e8 riservata a coloro che di programmazione informatica sono a digiuno, quindi ai semplici utilizzatori di un dato programma o <em>software<\/em>. Questo perch\u00e9 i <em>developer<\/em> di professione sanno benissimo cos&#8217;\u00e8 un bug e non hanno nessuna necessit\u00e0 che qualcuno gliene spieghi la definizione, la traduzione n\u00e9 tanto meno come intervenire per &#8220;sistemare&#8221; l&#8217;errore.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cos&#8217;\u00e8 un bug: ecco come puoi intervenire se trovi un errore<\/h2>\n\n\n\n<p>Primo assunto fondamentale: non tutti i bug (o bachi) sono visibili. Alcuni errori \u2013 dovuti allo sviluppo del codice sorgente e quasi mai al compilatore \u2013 sono impercettibili, nel senso che non pregiudicano (apparentemente) le funzionalit\u00e0 del <em>software<\/em> che stai utilizzando. Di altri bachi, invece, puoi accorgerti ben presto perch\u00e9 rendono il programma non fluido nel suo utilizzo e, nei casi peggiori, portano ad un <strong><em>crash <\/em><\/strong>e\/o un <strong>blocco del <em>software<\/em><\/strong> che quindi non esegue il comando impostogli. I bug pi\u00f9 pericolosi di tutti sono i cosiddetti <strong>bug di sicurezza<\/strong>, che pregiudicano la sicurezza stessa del programma e rendono i computer (sui quali sono installati i <em>software<\/em> &#8220;bacati&#8221;) vulnerabili ad attacchi esterni e agli &#8220;<strong>hacker<\/strong>&#8220;.<\/p>\n\n\n\n<p class=\"has-text-align-center\">Leggi anche <a href=\"https:\/\/www.addlance.com\/blog\/come-fare-sito-sicuro\/\">Come fare un sito sicuro, 7 azioni salva-vita<\/a><\/p>\n\n\n\n<p>Cosa puoi fare tu, dunque, se ti imbatti in un malfunzionamento del programma che hai acquistato o che stai usando anche in forma gratuita? Semplicemente segnalarlo allo sviluppatore o al team di sviluppo del <em>software<\/em> in questione. &nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cos&#8217;\u00e8 un bug, quando il programmatore &#8220;ci mette lo zampino&#8221;<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/www.addlance.com\/wp-content\/uploads\/2020\/05\/bug-traduzione-rutime-error.png\" alt=\"bug traduzione runtime error\" class=\"wp-image-8485\" width=\"258\" height=\"195\"\/><figcaption>Fonte: Airbrake.io<\/figcaption><\/figure><\/div>\n\n\n\n<p>Errare \u00e8 umano. Pu\u00f2 capitare che il bug in cui ti sei imbattuto e che ha colpito il <em>software<\/em> che stai utilizzando sia causato da un <strong>errore di concetto del programmatore<\/strong>. Se ti imbatti in uno di questi 3 casi, probabilmente sei davanti ad un <strong>errore concettuale del <em>developer<\/em><\/strong><em>.<\/em> Si verifica quando hai:<\/p>\n\n\n\n<ul><li><strong>Un errore di sintassi<\/strong> (se il bug \u00e8 accompagnato da una notifica del compilatore)<\/li><li><strong>Un errore di <em>runtime<\/em><\/strong> (causata da una operazione non lecita ad opera di un insieme di dati)<\/li><li><strong>Un errore logico<\/strong> (se nell&#8217;algoritmo \u00e8 stata fatta una scelta sbagliata).<\/li><\/ul>\n\n\n\n<p>Il terzo caso, poich\u00e9 non viene emesso nessun messaggio di errore (ovvero il compilatore non rilascia alcun <em>feedback<\/em> in merito) \u00e8 il pi\u00f9 difficile da individuare. Ci si rende conto di essere davanti ad un errore di tipo logico solo quando l&#8217;algoritmo del <em>software<\/em> restituisce un risultato differente rispetto a quello che gli era stato chiesto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La bella notizia? I bug si possono prevenire<\/h2>\n\n\n\n<p>Per fortuna, non capita tutti i giorni di imbattersi in bug che fanno irrimediabilmente bloccare il <em>software<\/em> sul quale stai lavorando. La buona notizia \u00e8 che <strong>i bug possono essere prevenuti<\/strong> (oltre che segnalati dall\u2019utenza al team di sviluppo). E come possono essere prevenuti? Direttamente in fase di programmazione, grazie a <strong>funzionalit\u00e0 specifiche<\/strong> che aiutano a non commettere errori (una sorta di correttore automatico, per intenderci). Inoltre i linguaggi di sviluppo sono dotati di diversi strumenti che possono scansionare il codice scritto, analizzandolo e aiutando i <em>developer<\/em> a controllare bene tutto il testo scritto.<\/p>\n\n\n\n<p>Non esitare, adesso che sai cos&#8217;\u00e8 un bug, a segnalare:<\/p>\n\n\n\n<ul><li>tutte le anomalie che incontri su qualunque tipo di <em>software<\/em><\/li><li>se il programma ti sembra pi\u00f9 lento del solito<\/li><li>se si blocca<\/li><li>se nel tuo <em>videogame <\/em>compaiono personaggi distorti o oggetti non usuali.<\/li><\/ul>\n\n\n\n<p>Il team di sviluppo si prodigher\u00e0 al pi\u00f9 presto per sistemare, attraverso le <strong>tecniche di debugging<\/strong>, i bachi che hai segnalato!<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"900\" height=\"586\" src=\"https:\/\/www.addlance.com\/wp-content\/uploads\/2020\/05\/bug-significato-1.jpg\" alt=\"bug significato\" class=\"wp-image-8483\" srcset=\"https:\/\/seven.addlance.com\/beta\/blog\/wp-content\/uploads\/2020\/05\/bug-significato-1.jpg 900w, https:\/\/seven.addlance.com\/beta\/blog\/wp-content\/uploads\/2020\/05\/bug-significato-1-300x195.jpg 300w, https:\/\/seven.addlance.com\/beta\/blog\/wp-content\/uploads\/2020\/05\/bug-significato-1-768x500.jpg 768w, https:\/\/seven.addlance.com\/beta\/blog\/wp-content\/uploads\/2020\/05\/bug-significato-1-610x397.jpg 610w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><figcaption>Fonte: Historybit.it <\/figcaption><\/figure>\n\n\n\n<p>Chiudiamo questo piccolo <em>excursus <\/em>sui bachi con una nota di colore: sai chi ha inventato questo termine introducendolo in ambito informatico? Il tenente <strong>Grace Hopper<\/strong> (inventore del linguaggio COBOL). Nel 1947, il tenente Hopper, si accorse che il problema di malfunzionamento del Mark II era causato da una falena che si era incastrata tra i circuiti. Cos\u00ec, Hopper rimosse l&#8217;insetto e lo annot\u00f2 nel registro del computer: si tratt\u00f2, di fatto, del primo bug (insetto) dell&#8217;era informatica.<\/p>\n    \t","protected":false},"excerpt":{"rendered":"<p>Cos&#8217;\u00e8 un bug? Potresti chiedertelo presto. Scopri di cosa si tratta e come puoi fronteggiarlo al meglio e impara i tipi di errore che possono capitare al PC!<\/p>\n","protected":false},"author":6,"featured_media":8481,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":""},"categories":[17],"tags":[18],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/seven.addlance.com\/beta\/blog\/wp-json\/wp\/v2\/posts\/8480"}],"collection":[{"href":"https:\/\/seven.addlance.com\/beta\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/seven.addlance.com\/beta\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/seven.addlance.com\/beta\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/seven.addlance.com\/beta\/blog\/wp-json\/wp\/v2\/comments?post=8480"}],"version-history":[{"count":1,"href":"https:\/\/seven.addlance.com\/beta\/blog\/wp-json\/wp\/v2\/posts\/8480\/revisions"}],"predecessor-version":[{"id":10651,"href":"https:\/\/seven.addlance.com\/beta\/blog\/wp-json\/wp\/v2\/posts\/8480\/revisions\/10651"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/seven.addlance.com\/beta\/blog\/wp-json\/wp\/v2\/media\/8481"}],"wp:attachment":[{"href":"https:\/\/seven.addlance.com\/beta\/blog\/wp-json\/wp\/v2\/media?parent=8480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/seven.addlance.com\/beta\/blog\/wp-json\/wp\/v2\/categories?post=8480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/seven.addlance.com\/beta\/blog\/wp-json\/wp\/v2\/tags?post=8480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}