{"id":14248,"date":"2022-03-15T09:00:26","date_gmt":"2022-03-15T08:00:26","guid":{"rendered":"https:\/\/www.warlandia.it\/magazine\/?p=14248"},"modified":"2022-03-16T11:40:15","modified_gmt":"2022-03-16T10:40:15","slug":"press-play-on-tape-dal-basic-al-pascal","status":"publish","type":"post","link":"https:\/\/www.warlandia.it\/magazine\/2022\/03\/15\/press-play-on-tape-dal-basic-al-pascal\/","title":{"rendered":"PRESS PLAY ON TAPE: no alla FORZA BRUTA"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Ovvero dal BASIC al TURBO PASCAL <em>(passando per l&#8217;ASSEMBLY!)<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Nel 1984 ricevetti in dono un <a href=\"https:\/\/www.warlandia.it\/magazine\/2012\/07\/24\/retro-games-commodore-vic-20\/\" data-type=\"post\" data-id=\"5383\">COMMODORE VIC 20 <\/a>e iniziai la mia esperienza di bambino programmatore che mi lasci\u00f2 un animo <strong>NERD <\/strong>che ancora oggi mi appartiene. Tanti anni dopo studiai presso un <strong><a href=\"https:\/\/www.itive3pa.edu.it\/\" target=\"_blank\" rel=\"noreferrer noopener\">Istituto Tecnico Industriale<\/a><\/strong> la mia materia preferita Informatica! <\/em><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"507\" src=\"https:\/\/www.warlandia.it\/magazine\/wp-content\/uploads\/2012\/07\/commodore-vic-20-all.jpg\" alt=\"\" class=\"wp-image-10094\" srcset=\"https:\/\/www.warlandia.it\/magazine\/wp-content\/uploads\/2012\/07\/commodore-vic-20-all.jpg 800w, https:\/\/www.warlandia.it\/magazine\/wp-content\/uploads\/2012\/07\/commodore-vic-20-all-300x190.jpg 300w, https:\/\/www.warlandia.it\/magazine\/wp-content\/uploads\/2012\/07\/commodore-vic-20-all-768x487.jpg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption>COMMODORE VIC 20 (1982)<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Quanta passione e quanto tempo dedicato a capire i meccanismi che regolavano il funzionamento dei computer dell&#8217;epoca.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Passai anni a capire i limiti dell&#8217;hardware che avevo la fortuna di poter usare e sperimentare. Lessi tutti i manuali che trovai in giro su computer <strong>COMMODORE<\/strong>, <strong>OLIVETTI<\/strong>, <strong>IBM<\/strong>, <strong>AMSTRAD<\/strong>. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"895\" src=\"https:\/\/www.warlandia.it\/magazine\/wp-content\/uploads\/2022\/03\/manuale-vic20.jpg\" alt=\"Manuale COMMODORE VIC 20\" class=\"wp-image-14249\" srcset=\"https:\/\/www.warlandia.it\/magazine\/wp-content\/uploads\/2022\/03\/manuale-vic20.jpg 600w, https:\/\/www.warlandia.it\/magazine\/wp-content\/uploads\/2022\/03\/manuale-vic20-201x300.jpg 201w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption>Manuale COMMODORE VIC 20<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Quasi non mi sembrava possibile che ci fosse una scuola vera in cui oltre la matematica (che amo da morire) e l&#8217;Italiano si studiassero materie specifiche come <strong>Informatica <\/strong>e <strong>Sistemi<\/strong>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A quei tempi il linguaggio di programmazione pi\u00f9 diffuso era sicuramente il <strong>BASIC <\/strong>che aveva dei grossi limiti essendo un linguaggio interpretato. Era lento perch\u00e9 fra il BASIC e il linguaggio macchina (quello che il computer comprende) c&#8217;era un interprete che doveva tradurre in &#8220;<em>DIRETTA<\/em>&#8221; il codice BASIC perch\u00e9 le istruzioni fossero chiare al computer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A scuola iniziammo a studiare un linguaggio di programmazione diverso: il <strong>PASCAL<\/strong>. Un linguaggio molto elegante e diverso dal BASIC. In PASCAL tutto era importante: dal definire precisamente tutte le variabili in gioco che avrei usato al rispetto maniacale di ogni regola di sintassi. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"306\" src=\"https:\/\/www.warlandia.it\/magazine\/wp-content\/uploads\/2022\/03\/turbopascal.jpg\" alt=\"BORLAND Turbo Pascal 5.5\" class=\"wp-image-14250\" srcset=\"https:\/\/www.warlandia.it\/magazine\/wp-content\/uploads\/2022\/03\/turbopascal.jpg 600w, https:\/\/www.warlandia.it\/magazine\/wp-content\/uploads\/2022\/03\/turbopascal-300x153.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption>BORLAND Turbo Pascal 5.5<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">In BASIC tutto era lecito&#8230;il computer sembrava un amico con cui puoi parlare una lingua personalizzata. Un gergo pieno di errori grammaticali, ma che fra amici \u00e8 chiarissimo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La scelta di insegnarci il Pascal nella versione Turbo Pascal della BORLAND era sicuramente mirata a introdurre nelle nostre vite il concetto di SINTASSI, rispetto delle regole (seppur grammaticali), progettazione e, infine, ottimizzazione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si perch\u00e9 per anni i computer non solo erano lenti, ma avevano talmente tanti limiti di memoria, spazio su disco o sui floppy che ogni bravo programmatore doveva tenere conto di questi limiti e imparare a progettare tutto con cura. Avendo in mente quante e quali variabili di un certo tipo avrebbe usato, quanto spazio ciascuna avrebbe occupato in memoria RAM e sui dischi. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il concetto di <strong>OTTIMIZZAZIONE <\/strong>\u00e8 entrato nella mente di ciascuno di noi. Anche lo studente pi\u00f9 svogliato avr\u00e0 sicuramente interiorizzato il fatto che per far funzionare una cosa con pochi mezzi devi avere le idee chiare. Non puoi sprecare nulla&#8230;neanche la pi\u00f9 piccola parte delle risorse che hai.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gli anni a venire ci fecero incontrare il RE SUPREMO dei linguaggi di programmazione, quello che in fatto di sprechi \u00e8 imbattibile perch\u00e9 \u00e8 la lingua madre dei computer: il linguaggio MACCHINA.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"411\" src=\"https:\/\/www.warlandia.it\/magazine\/wp-content\/uploads\/2022\/03\/6502.jpg\" alt=\"Assembly 6502\" class=\"wp-image-14251\" srcset=\"https:\/\/www.warlandia.it\/magazine\/wp-content\/uploads\/2022\/03\/6502.jpg 600w, https:\/\/www.warlandia.it\/magazine\/wp-content\/uploads\/2022\/03\/6502-300x206.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption>Assembly 6502<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Per dirla con onest\u00e0 c&#8217;\u00e8 un substrato di comunicazione quasi umano che \u00e8 l&#8217;ASSEMBLY&#8230;fatto da sigle di tre lettere tipo LDA, STX e cos\u00ec via. Sembra incomprensibile, ma si impara.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quello era lo stadio di massima vicinanza all&#8217;anima del computer, con <strong>ASSEMBLY <\/strong>potevi spremere tutta la potenza di un 6502 o 6510 dentro un <a href=\"https:\/\/www.warlandia.it\/magazine\/2012\/09\/10\/retro-games-ghostbusters-per-commodore-64\/\" data-type=\"post\" data-id=\"5486\">COMMODORE 64 <\/a>oppure se proprio eri fortunato potevi imparare quello del <strong>MOTOROLA 68000<\/strong> che era il cuore degli <a href=\"https:\/\/www.warlandia.it\/magazine\/2012\/06\/26\/retro-games-dal-commodore-vic-20-all-amiga-500\/\" data-type=\"post\" data-id=\"5307\">AMIGA<\/a>. Per qualche estremista c&#8217;era persino la possibilit\u00e0 di parlare con un <strong>INTEL 8086<\/strong> a 16 BIT&#8230;.che ve lo dico a fare?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ma tutti questi paroloni per dire cosa? Per dire che una generazione di NERD ha conosciuto il concetto di pensiero, ottimizzazione, progettazione dettagliata e dovrebbe oggi poterne fare uso nel mondo moderno che sembra volere affrontare tutto con un approccio di FORZA BRUTA.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Questo concetto ha diversi significati, ma qui lo intendo semplicemente con l&#8217;idea che quando hai una soluzione la puoi potenziare aggiungendo RAM, dischi pi\u00f9 grandi, velocit\u00e0 di connessione alla rete pi\u00f9 elevata oppure&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8230;oppure puoi accettare che il modello che stai usando ha dei limiti e mettere di nuovo tutto in discussione per poter trovare nuove soluzioni. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La differenza \u00e8 nell&#8217;idea. Una auto pu\u00f2 essere una FIAT 500 degli anni 50 oppure una FERRARI del 2022&#8230;.sempre quattro ruote e un motore avr\u00e0. In alcuni casi, per\u00f2, magari il motore \u00e8 a combustibile fossile e in altri \u00e8 elettrico. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Qualcuno pu\u00f2 ragionare su come rendere il mezzo pi\u00f9 leggero, altri possono riflettere su come alleggerire il carico delle citt\u00e0 pi\u00f9 intensamente popolate incentivando le aziende ad investire in luoghi meno abitati e pi\u00f9 economici e riducendo cos\u00ec le distanze da percorrere, alleggerendo il traffico per le strade&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Insomma non fermiamoci alla soluzione <strong>FORZA BRUTA<\/strong>, non tutto si conquista con un coltello fra i denti e un mitragliatore al collo&#8230;magari potremmo trovare una soluzione diversa, magari qualcuno avrebbe potuto imparare da un vecchio COMMODORE che nella vita c&#8217;\u00e8 sempre una soluzione diversa che non necessita l&#8217;uso della forza bruta.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nel 1984 ricevetti in dono un COMMODORE VIC 20 e iniziai la mia esperienza di bambino programmatore che mi lasci\u00f2 un animo NERD che ancora oggi mi appartiene. Tanti anni dopo studiai presso un Istituto Tecnico Industriale la mia materia preferita Informatica! <\/p>\n","protected":false},"author":1,"featured_media":9399,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[9],"tags":[92],"class_list":["post-14248","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-videogames","tag-commodore","latest_post"],"_links":{"self":[{"href":"https:\/\/www.warlandia.it\/magazine\/wp-json\/wp\/v2\/posts\/14248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.warlandia.it\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.warlandia.it\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.warlandia.it\/magazine\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.warlandia.it\/magazine\/wp-json\/wp\/v2\/comments?post=14248"}],"version-history":[{"count":3,"href":"https:\/\/www.warlandia.it\/magazine\/wp-json\/wp\/v2\/posts\/14248\/revisions"}],"predecessor-version":[{"id":14255,"href":"https:\/\/www.warlandia.it\/magazine\/wp-json\/wp\/v2\/posts\/14248\/revisions\/14255"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.warlandia.it\/magazine\/wp-json\/wp\/v2\/media\/9399"}],"wp:attachment":[{"href":"https:\/\/www.warlandia.it\/magazine\/wp-json\/wp\/v2\/media?parent=14248"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.warlandia.it\/magazine\/wp-json\/wp\/v2\/categories?post=14248"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.warlandia.it\/magazine\/wp-json\/wp\/v2\/tags?post=14248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}