<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Labview on Melabit</title>
    <link>https://static.233.196.69.159.clients.your-server.de/it/tags/labview/</link>
    <description>Recent content in Labview on Melabit</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Wed, 01 Apr 2026 06:00:00 +0000</lastBuildDate>
    <atom:link href="https://static.233.196.69.159.clients.your-server.de/it/tags/labview/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>50 anni con Apple</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2026/04/01/50-anni-con-apple/</link>
      <pubDate>Wed, 01 Apr 2026 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2026/04/01/50-anni-con-apple/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-04-01-50-anni-con-apple/Bit-5-nov-1979-p30-with-caption.jpg&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-04-01-50-anni-con-apple/Bit-5-nov-1979-p30.jpg&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&#xA;&amp;ndash; &lt;em&gt;La prima immagine di un Apple II pubblicata su Bit, che a cavallo fra la fine degli anni &amp;lsquo;70 e i primi anni &amp;lsquo;80 è stata la più importante rivista italiana dedicata ai personal computer (Bit n. 5, Novembre-Dicembre 1979).&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Cinquant&amp;rsquo;anni fa ero un liceale brufoloso e non avrei saputo dell&amp;rsquo;esistenza di Apple fino ai primissimi anni &amp;lsquo;80, quando Bit iniziò ad ospitare le prime pagine pubblicitarie dedicate all&amp;rsquo;Apple II.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-04-01-50-anni-con-apple/Bit-6-feb1980-backcover.jpg&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-04-01-50-anni-con-apple/Bit-6-feb1980-backcover-small.jpg&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&#xA;&amp;ndash; &lt;em&gt;Prima pagina pubblicitaria dedicata ad &amp;ldquo;Apple Computer&amp;rdquo; (Bit n. 6, Febbraio 1980, ultima di copertina).&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ma in quegli anni la parte del leone la faceva la sua principale concorrente, &lt;a href=&#34;https://www.marcomar.it/rcretrocomputer-rc0-mc_story/&#34;&gt;MCmicrocomputer&lt;/a&gt;, che fin dal primo numero del settembre 1981 dedicò ampio spazio all&amp;rsquo;azienda californiana.&lt;/p&gt;&#xA;&lt;p&gt;Nel 1981 un Apple II da 48K con monitor da 11&amp;quot; e un disco floppy costava 5 milioni di lire, più di una &lt;a href=&#34;https://www.facebook.com/watch/?v=1544780529899322&#34;&gt;FIAT Panda&lt;/a&gt; tanto per capirsi. Una cifra fuori dalla portata di uno studente universitario come ero io, che al massimo potevo permettermi un Commodore 64 comprato grazie ad una vincita al Totocalcio.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-04-01-50-anni-con-apple/MCmicrocomputer-1-sep1981-p84.jpg&#34;&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-04-01-50-anni-con-apple/MCmicrocomputer-1-sep1981-p84.jpg&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&#xA;&amp;ndash; &lt;em&gt;Listino completo dei prodotti Apple a settembre 1981 (tratto da MC Microcomputer no. 1, Settembre 1981, pagina 84).&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;Però a Fisica di Apple II ce n&amp;rsquo;erano parecchi, perché li si poteva  usare per costruire i primi &lt;a href=&#34;https://sci-hub.st/10.1119/1.2341547&#34;&gt;strumenti di misurazione automatica&lt;/a&gt; o per digitalizzare le immagini.&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; Bastava fare un giretto nei vari laboratori per trovarne qualcuno, e se si era fortunati si riusciva anche ad usarli quando erano liberi.&lt;/p&gt;&#xA;&lt;p&gt;Arrivò presto anche uno dei primi &lt;a href=&#34;https://melabit.com/it/2022/10/30/schede-perforate-mac-128k/&#34;&gt;Macintosh 128K&lt;/a&gt;, che riuscii ad usare solo fugacemente perché venne rubato dopo un paio di giorni.&lt;/p&gt;&#xA;&lt;p&gt;Poco dopo, al mio primo congresso, mi accorsi che uno degli oratori, Ken Gray, aveva usato il Macintosh per scrivere sia l&amp;rsquo;articolo che le &lt;em&gt;slide&lt;/em&gt;. Fra un centinaio di partecipanti, tutti con i testi scritti con la macchina da scrivere e le immagini incollate, il suo lavoro spiccava e si distingueva a colpo d&amp;rsquo;occhio. Il Mac fece nascere una simpatia immediata fra noi due, tanto che mi chiese di trasferirmi a Chicago a lavorare con lui. Ma avevo già accettato di andare al &lt;a href=&#34;https://melabit.com/it/2018/08/16/tutto-anzi-niente/&#34;&gt;Physikalisch-Technische Bundesanstalt&lt;/a&gt; (PTB) in Germania, e preferii mantenere la parola data.&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;E proprio al PTB arrivò la svolta, anche in campo Apple. Nel mio laboratorio di misure, assieme a strumentazione sofisticata e a uno o due Mac più vecchi, campeggiava un &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_II&#34;&gt;Macintosh II&lt;/a&gt;, il primo Mac espandibile (finalmente!), una &lt;a href=&#34;https://en.wikipedia.org/wiki/Workstation&#34;&gt;workstation&lt;/a&gt; vera e propria che poteva competere con le macchine &lt;a href=&#34;https://en.wikipedia.org/wiki/Sun_Microsystems&#34;&gt;Sun&lt;/a&gt; e &lt;a href=&#34;https://en.wikipedia.org/wiki/Digital_Equipment_Corporation&#34;&gt;DEC&lt;/a&gt;. E questo di espansioni ne aveva, eccome! Non mi ricordo se era collegato ad un sistema di acquisizione e elaborazione di immagini da microscopio che era avanzatissimo per l&amp;rsquo;epoca (una volta tornato in Italia ho impiegato anni per riuscire a realizzarne una pallida copia).&lt;/p&gt;&#xA;&lt;p&gt;Ma ricordo benissimo che c&amp;rsquo;era installata una scheda di conversione analogico-digitale che poteva essere usata per digitalizzare le misure sui nostri campioni, che era arrivata insieme alla prima versione del &lt;a href=&#34;https://it.wikipedia.org/wiki/LabVIEW&#34;&gt;LabVIEW&lt;/a&gt;, il primo linguaggio di programmazione visuale, che proprio per quello girava solo ed esclusivamente sul Macintosh. Per motivi vari la scheda l&amp;rsquo;abbiamo usata poco, ma il LabVIEW diventò subito il divertimento preferito mio e di un amico danese. La sera, quando non c&amp;rsquo;era nessuno, passavamo ore ad usare il LabVIEW per le cose più assurde, più erano lontane dagli scopi originali del linguaggio meglio era.&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;I Macintosh del laboratorio erano configurati per usare il tedesco, e il &lt;a href=&#34;https://en.wikipedia.org/wiki/System_6&#34;&gt;System 6&lt;/a&gt; di allora non permetteva certo di supportare utenti e linguaggi diversi. Ma nonostante il mio tedesco fosse zoppicante (molto zoppicante, in verità) io riuscivo ad usare senza troppi problemi il Mac perché mi ricordavo la posizione delle voci di menu che trovavo sui manuali o sulle riviste. Rispetto al sistema Unix proprietario e localizzato in tedesco che ero costretto ogni tanto ad usare, era davvero un altro mondo!&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;Tornato a casa, iniziò il mio &lt;em&gt;inverno Apple&lt;/em&gt;, che durò fino agli albori del nuovo millennio. I computer Apple erano diventati incompatibili con &lt;em&gt;tutto&lt;/em&gt;: le tastiere e i mouse per PC non funzionavano su Mac e viceversa, idem per la RAM o le schede video e idem soprattutto per le cose più sofisticate, come le schede di acquisizione dati e immagini o le schede per il controllo degli strumenti che usavo ogni giorno. Anche trasferire un file via floppy da un PC a un Mac metteva a dura prova la pazienza (e la testardaggine) di un santo.&lt;/p&gt;&#xA;&lt;p&gt;Poi, finalmente, arrivò Mac OS X.&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;Nei primi anni &amp;lsquo;90 avevo scoperto Unix, più che altro perché era l&amp;rsquo;unico modo per riuscire a fare &lt;a href=&#34;https://pubs.aip.org/aip/jap/article-abstract/79/10/7860/491907/Step-width-enhancement-in-a-pulse-driven-Josephson&#34;&gt;certi calcoli&lt;/a&gt; piuttosto &lt;a href=&#34;https://rescience.github.io/bibliography/Maggi_2020.html&#34;&gt;complicati&lt;/a&gt;.&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt; E quindi quando arrivò Linux, saltai immediatamente sul carro e iniziai ad usarlo ovunque.&lt;/p&gt;&#xA;&lt;p&gt;Tecnicamente Linux era uno sballo, ma l&amp;rsquo;aspetto grafico era, diciamo così, &lt;em&gt;zoppicante&lt;/em&gt;. Per cui, quando vidi in una vetrina un &lt;a href=&#34;https://en.wikipedia.org/wiki/IBook&#34;&gt;iBook G3 &amp;ldquo;Snow&amp;rdquo;&lt;/a&gt; con &lt;a href=&#34;https://en.wikipedia.org/wiki/Mac_OS_X_Jaguar&#34;&gt;Jaguar&lt;/a&gt; e lessi su Macworld che il nuovo sistema operativo era basato su BSD Unix, decisi che doveva essere mio.&lt;/p&gt;&#xA;&lt;p&gt;Lo stesso successe con l&amp;rsquo;iMac G4: lo vidi, me ne innamorai e lo comprai subito. E per settimane i colleghi venivano in ufficio, ammiravano il monitor e si mettevano a cercare il computer&amp;hellip; 😂.&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;Da allora, e sono quasi venticinque anni, ho sempre usato prodotti Apple: Mac, iPod, iPad, iPhone, Apple Watch, dimentico di sicuro qualcosa. Del resto funzionano (quasi) sempre, perfino i familiari più coriacei nei confronti della tecnologia riescono ad usarli  senza troppi problemi, sono eleganti, costano un po&amp;rsquo; di più dei concorrenti ma durano anche molto di più. Non avrebbe senso cambiare, almeno per ora.&lt;/p&gt;&#xA;&lt;p&gt;Certo, Apple ci mette del suo con certe decisioni discutibili: macOS Tahoe e Liquid Glass, la prossima dismissione di Rosetta, il &lt;em&gt;fork&lt;/em&gt; a pagamento di Pages, Numbers e Keynote (senza dimenticare Freeform), le crescenti limitazioni sull&amp;rsquo;uso di Applicazioni di terze parti, la debacle di Siri, la ristrutturazione delle Impostazioni di Sistema che ha rese ostiche anche a chi, come me, le usa quasi ogni giorno.&lt;/p&gt;&#xA;&lt;p&gt;Ma finché Apple non deciderà di impedire l&amp;rsquo;installazione di applicazioni di terze parti anche su macOS, come succede (non sempre) giustamente su iOS e iPadOS, sarà difficile abbandonare la casa madre. Perché, proprio come in un matrimonio con i suoi alti e bassi, cinquant&amp;rsquo;anni di vita passati quasi sempre a braccetto non sono facili da dimenticare.&lt;/p&gt;&#xA;&lt;p&gt;E allora tanti, tanti, tanti auguri ad Apple per i prossimi cinquant&amp;rsquo;anni!&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2026-04-01-50-anni-con-apple/ray-hennessy-gdTxVSAE5sk-unsplash.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://unsplash.com/@rayhennessy&#34;&gt;Ray Hennessy&lt;/a&gt; su &lt;a href=&#34;https://unsplash.com&#34;&gt;Unsplash&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Se confrontate il prezzo dell&amp;rsquo;Apple II base riportato in questa immagine con quello della pubblicità su Bit, noterete che in meno di due anni il prezzo dell&amp;rsquo;Apple II base era aumentato di ben un milione di lire (più o meno 1.000-1.500 euro odierni) a causa dell&amp;rsquo;inflazione galoppante di quegli anni.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;Era proprio l&amp;rsquo;epoca del passaggio dai &lt;em&gt;digitalizzatori umani&lt;/em&gt;, che passavano la vita chini su enormi immagini che &lt;a href=&#34;https://cds.cern.ch/record/1772154&#34;&gt;digitalizzavano&lt;/a&gt; a &lt;a href=&#34;https://cern70.cern/tracing-particles/&#34;&gt;mano&lt;/a&gt;, ai sistemi di digitalizzazione semiautomatici, che nei casi più semplici erano quasi sempre degli Apple II.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:3&#34;&gt;&#xA;&lt;p&gt;Tutti i normali comandi di &lt;code&gt;shell&lt;/code&gt; erano localizzati in tedesco, per cui il normale &lt;code&gt;whoami&lt;/code&gt;che serve per sapere il nome dell&amp;rsquo;utente che ha effettuato il login diventava &lt;code&gt;wobinich&lt;/code&gt;.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:4&#34;&gt;&#xA;&lt;p&gt;I PC erano tropo lenti. E come se non bastasse e nonostante i cartelli &lt;em&gt;terroristici&lt;/em&gt; che lasciavo in giro, alcuni colleghi si ostinavano a spegnere il PC su cui eseguivo le simulazioni durante la notte. Non volevano &amp;ldquo;sprecare corrente&amp;rdquo;, dicevano 😱.&amp;#160;&lt;a href=&#34;#fnref:4&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
    <item>
      <title>Emulare il Macintosh online (seconda parte)</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2017/05/07/emulare-il-macintosh-online-seconda-parte/</link>
      <pubDate>Sun, 07 May 2017 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2017/05/07/emulare-il-macintosh-online-seconda-parte/</guid>
      <description>&lt;p&gt;Nella &lt;a href=&#34;https://melabit.wordpress.com/2017/04/23/emulare-il-macintosh-online/&#34;&gt;puntata precedente&lt;/a&gt; abbiamo visto che da qualche settimana è disponibile un &lt;a href=&#34;https://archive.org/details/softwarelibrary_mac&#34;&gt;emulatore online del primo Macintosh&lt;/a&gt;, con il quale si possono provare parecchie applicazioni storiche per il Mac direttamente dal browser.&lt;/p&gt;&#xA;&lt;p&gt;Le applicazioni presenti in questo momento sono 77, non tantissime, ma è probabile che aumentino con il tempo.&lt;/p&gt;&#xA;&lt;p&gt;Ci sono due versioni di MacOS (proprio così, con Sierra siamo &lt;a href=&#34;https://www.apple.com/lae/macos/sierra/&#34;&gt;tornati allo stesso nome&lt;/a&gt; ma con una maiuscola in meno), un System 6 ridotto all&amp;rsquo;osso e un System 7 (del 1991) con un buon numero di applicazioni installate, a mostrare cosa poteva fare un Mac un quarto di secolo fa (System 7 è praticamente contemporaneo a &lt;a href=&#34;https://en.wikipedia.org/wiki/Windows_3.0&#34;&gt;Windows 3.0&lt;/a&gt;, uno dei sistemi operativi più inutili e pieni di bachi che abbia mai utilizzato).&lt;/p&gt;&#xA;&lt;p&gt;Ci sono poi un po&amp;rsquo; di giochi &lt;em&gt;classici&lt;/em&gt;, che continuamo a vedere riproposti ancora oggi in tutte le salse, con solo un vestito più carino. Non mancano le applicazioni di produttività personale e qualche numero delle prime riviste in formato elettronico (e-zine).&lt;/p&gt;&#xA;&lt;p&gt;Per lo sviluppo ci sono alcuni BASIC, ma c&amp;rsquo;è soprattutto &lt;a href=&#34;https://arstechnica.com/apple/2012/05/25-years-of-hypercard-the-missing-link-to-the-web/&#34;&gt;HyperCard&lt;/a&gt; (con qualche stack relativo) a dimostrare la genialità di un &lt;a href=&#34;https://archive.org/details/CC501_hypercard&#34;&gt;programma troppo avanzato&lt;/a&gt; per i suoi tempi.&lt;/p&gt;&#xA;&lt;p&gt;Insomma, con questo emulatore si possono provare parecchie cose interessanti, utili per mostrare ai più giovani le virtù (e i limiti) dei Mac degli anni &amp;lsquo;80 e &amp;lsquo;90, e che fanno respirare un soffio di nostalgia a chi &lt;em&gt;c&amp;rsquo;era già&lt;/em&gt; e quei Mac e quei sistemi operativi li ha usati davvero.&lt;/p&gt;&#xA;&lt;p&gt;Ma fra le tutte applicazioni disponibili, quella che mi ha incuriosito di più è stata &lt;a href=&#34;https://archive.org/details/mac_DataFlow&#34;&gt;DataFlow Version 0.0&lt;/a&gt; (attenzione al numero di versione).&lt;/p&gt;&#xA;&lt;p&gt;Non ne avevo mai sentito parlare, però non pretendo di certo di conoscere tutto il software sviluppato per il Mac (o per qualunque altra piattaforma). Forse quello che mi ha colpito è la finestra scarna e quasi vuota del programma, molto diversa rispetto a tutti gli altri programmi disponibili.&lt;/p&gt;&#xA;&lt;p&gt;Lancio l&amp;rsquo;emulatore e la prima impressione è che DataFlow sia un programma come tanti, qualcosa per realizzare diagrammi di flusso o simili.&lt;/p&gt;&#xA;&lt;p&gt;Ma poi guardo con più attenzione e mi accorgo che in realtà DataFlow è molto di più, è un sistema, anche se assai rudimentale, di programmazione visuale basato sul concetto di &lt;a href=&#34;https://en.wikipedia.org/wiki/Dataflow_programming&#34;&gt;programma a &lt;em&gt;flusso di dati&lt;/em&gt;&lt;/a&gt; (da cui il nome).&lt;/p&gt;&#xA;&lt;p&gt;In pratica un programma di questo tipo è composto da un certo numero di blocchi fondamentali che eseguono una operazione predefinita sui dati in ingresso e poi li trasmettono al blocco successivo. Poiché i blocchi di elaborazione sono indipendenti fra loro, questo semplice concetto porta naturalmente al calcolo parallelo, senza i trucchi e gli inganni di tanti linguaggi adattati in modo un po&amp;rsquo; raffazzonato allo scopo.&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;idea era relativamente nuova per l&amp;rsquo;epoca (con DataFlow siamo più o meno alla fine degli anni &amp;lsquo;80) ma ha generato sistemi di programmazione molto avanzati, utilizzati ancora oggi in ambiti estremamente diversi. Come ad esempio &lt;a href=&#34;https://en.wikipedia.org/wiki/LabVIEW&#34;&gt;LabVIEW&lt;/a&gt; di National Instruments per il controllo della strumentazione elettronica, &lt;a href=&#34;https://it.mathworks.com/products/simulink.html&#34;&gt;Simulink&lt;/a&gt; di MathWorks per la modellazione di sistemi dinamici, &lt;a href=&#34;https://developer.apple.com/library/content/documentation/GraphicsImaging/Conceptual/QuartzComposerUserGuide/qc_intro/qc_intro.html&#34;&gt;Quartz Composer&lt;/a&gt; di Apple per la composizione grafica e, più recentemente, &lt;a href=&#34;https://www.tensorflow.org/&#34;&gt;TensorFlow&lt;/a&gt; di Google, diventato in pochissimo tempo uno degli strumenti più &lt;em&gt;popolari&lt;/em&gt;, anzi direi proprio &lt;em&gt;hot&lt;/em&gt;, nel campo della programmazione e dell&amp;rsquo;intelligenza artificiale.&lt;/p&gt;&#xA;&lt;p&gt;Insomma DataFlow è un anticipo del futuro, una vera chicca buttata lì con noncuranza fra un foglio elettronico ed un giochino senza tante pretese.&lt;/p&gt;&#xA;&lt;p&gt;Usarlo non è semplice, almeno per le abitudini odierne. L&amp;rsquo;interfaccia è rozza, i blocchi grafici non si possono spostare dopo averli posizionati sul foglio (io almeno non ci sono riuscito), le linee di connessione vanno un po&amp;rsquo; troppo per i fatti loro, si vede che è una versione molto acerba (versione 0.0, oggi la chiameremmo una versione &lt;em&gt;alfa&lt;/em&gt; se non meno). Alla fine comunque sono riuscito a fare un programmino semplice semplice, che prende due numeri interi e ne calcola somma, prodotto e quoziente.&lt;/p&gt;&#xA;&lt;img src=&#34;https://melabit.files.wordpress.com/2017/05/dataflow.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Niente di che, è chiaro, ma quello che è particolarmente bello è che il programma è &lt;em&gt;dinamico&lt;/em&gt;, se si cambiano i numeri in ingresso mentre il programma è in esecuzione le caselle di uscita aggiornano immediatamente i risultati. Oggi è scontato, ma trent&amp;rsquo;anni fa?&lt;/p&gt;&#xA;&lt;p&gt;Naturalmente i programmi moderni fanno molto di più e in modo molto più comodo, ma i fondamenti ci sono già tutti in DataFlow. È bello che l&amp;rsquo;Internet Archive l&amp;rsquo;abbia sottratto all&amp;rsquo;oblio del tempo.&lt;/p&gt;&#xA;&lt;img src=&#34;http://forums.ni.com/attachments/ni/250/29496/1/Example.JPG&#34; alt=&#34;&#34;&gt;&lt;p&gt;&lt;img src=&#34;http://blogs.mathworks.com/images/seth/2008Q1/vdp_PlayButton.png&#34; alt=&#34;&#34;&gt;&lt;br&gt;&#xA;&lt;em&gt;Un semplice programma in LabVIEW (sopra), e in una vecchia versione di Simulink (sotto).&lt;/em&gt;&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Programmazione visuale: introduzione</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2015/01/19/programmazione-visuale-introduzione/</link>
      <pubDate>Mon, 19 Jan 2015 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2015/01/19/programmazione-visuale-introduzione/</guid>
      <description>&lt;p&gt;Il modello di programmazione tradizionale si basa sulla scrittura di codice sorgente secondo una struttura logica e ad una sintassi ben definita e dipendente dal linguaggio di programmazione prescelto.&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;idea di sostituire questo modello con uno fondato su una interfaccia grafica sulla quale trascinare dei blocchi funzionali predefiniti, manipolandoli ed assemblandoli l&amp;rsquo;uno all&amp;rsquo;altro quasi fossero dei mattoncini del LEGO, data dalla fine degli anni &amp;lsquo;80 a livello commerciale e si basa su ricerche iniziate già negli anni &amp;lsquo;60. Questo cambio di paradigma aveva l&amp;rsquo;obiettivo di rendere la programmazione accessibile anche ai non &lt;em&gt;iniziati&lt;/em&gt;, permettendo di insegnarne i rudimenti già ai bambini della scuola elementare.&lt;/p&gt;&#xA;&lt;p&gt;Ma non voglio farla lunga e rimando chi fosse interessato ad approfondire l&amp;rsquo;argomento a &lt;a href=&#34;http://constructingkids.com/2013/05/15/vpl/&#34;&gt;questa eccellente infografica&lt;/a&gt; e alla bibliografia alla fine del post. Ricordo solo che anche in questo campo Apple ha fatto da apripista con il suo &lt;a href=&#34;http://en.wikipedia.org/wiki/HyperCard&#34;&gt;HyperCard&lt;/a&gt;, il primo ambiente visuale di programmazione uscito dal chiuso dei laboratori di ricerca.&lt;/p&gt;&#xA;&lt;p&gt;A parte HyperCard, finora l&amp;rsquo;unico linguaggio di programmazione visuale che ha avuto un vero successo è stato &lt;a href=&#34;http://www.ni.com/labview/i/&#34;&gt;LabVIEW&lt;/a&gt; (Laboratory Virtual Instrument Engineering Workbench), un ambiente di programmazione grafica sviluppato dalla &lt;a href=&#34;http://italy.ni.com/&#34;&gt;National Instruments&lt;/a&gt; per il controllo della strumentazione di misura, l&amp;rsquo;acquisizione dei dati e l&amp;rsquo;automazione dei processi industriali.&lt;/p&gt;&#xA;&lt;p&gt;Un linguaggio utilissimo in un ambito professionale molto specializzato, ma decisamente molto lontano dall&amp;rsquo;idea di &lt;em&gt;programmazione per i ragazzini&lt;/em&gt;. E nato anch&amp;rsquo;esso, non a caso, prima sul Mac alla fine degli anni &amp;lsquo;80 (ho usato a lungo su un &lt;a href=&#34;http://www.macworld.com/article/1167123/the_macintosh_ii_celebrates_its_25th_anniversary.html&#34;&gt;Macintosh II&lt;/a&gt; la prima versione di LabVIEW divertendomi moltissimo) e portato solo in seguito su Windows e poi finalmente anche su Linux e OS X.&lt;/p&gt;&#xA;&lt;p&gt;Ma allora perché trattare di programmazione visuale? Perché mentre preparavo i post sull&amp;rsquo;implementazione in BASIC e in Python del &lt;a href=&#34;http://melabit.wordpress.com/?s=eratostene&#34;&gt;Crivello di Eratostene&lt;/a&gt; mi sono imbattuto in tre diverse implementazioni di linguaggi di programmazione visuali derivanti chiaramente da &lt;a href=&#34;http://scratch.mit.edu/&#34;&gt;Scratch&lt;/a&gt;, il più noto linguaggio di programmazione visuale per insegnare la programmazione ai bambini:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://developers.google.com/blockly/&#34;&gt;Blockly&lt;/a&gt;, sviluppato da Google e di cui ho già parlato brevemente &lt;a href=&#34;http://melabit.wordpress.com/2014/12/16/setacciare-a-blocchi/&#34;&gt;in un post precedente&lt;/a&gt;;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://appinventor.mit.edu/explore/&#34;&gt;App Inventor 2&lt;/a&gt;, sviluppato inizialmente presso i laboratori di Google ma gestito ora dal &lt;a href=&#34;http://web.mit.edu/&#34;&gt;Massachusetts Institute of Technology (MIT)&lt;/a&gt;, che permette di creare applicazioni per Android;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://snap.berkeley.edu/&#34;&gt;SNAP!&lt;/a&gt;, sviluppato presso l&amp;rsquo;Università della California a Berkeley.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;A differenza di Scratch, questi linguaggi sono utilizzabili direttamente dal browser e non richiedono nessuna installazione sul proprio Mac (o quasi).&lt;/p&gt;&#xA;&lt;p&gt;Leggendo la descrizione delle caratteristiche dai rispettivi siti web mi sono chiesto quanto fosse facile implementare un algoritmo semplice come quello del &lt;a href=&#34;http://melabit.wordpress.com/2014/09/29/setacciare-numeri-con-il-serpente/&#34;&gt;Crivello di Eratostene&lt;/a&gt; in uno di questi linguaggi rispetto al Python (o al BASIC). Ma perché chiederselo soltanto, senza provare direttamente?&lt;/p&gt;&#xA;&lt;p&gt;Nel seguito ho riassunto le mie considerazioni personali su Blockly, i prossimi post saranno dedicati rispettivamente a &lt;a href=&#34;&#34;&gt;App Inventor 2&lt;/a&gt; e a &lt;a href=&#34;&#34;&gt;SNAP!&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;blockly&#34;&gt;Blockly&lt;/h4&gt;&#xA;&lt;p&gt;Su Blockly ho già &lt;a href=&#34;http://melabit.wordpress.com/2014/12/16/setacciare-a-blocchi/&#34;&gt;scritto qualcosa&lt;/a&gt;: mi è bastata una mezz&amp;rsquo;oretta di lavoro per &lt;a href=&#34;https://blockly-demo.appspot.com/static/demos/code/index.html#d93qba&#34;&gt;implementare in Blockly&lt;/a&gt; l&amp;rsquo;algoritmo del Crivello di Eratostene a partire dalla &lt;a href=&#34;http://melabit.wordpress.com/2014/09/29/setacciare-numeri-con-il-serpente/&#34;&gt;versione originale in Python&lt;/a&gt; (e in BASIC).&lt;/p&gt;&#xA;&lt;p&gt;Usare Blockly è divertente ed è abbastanza facile capirne la logica di funzionamento. È chiaro che conoscere già dei rudimenti di programmazione in un linguaggio &lt;em&gt;tradizionale&lt;/em&gt; aiuta parecchio, ma imparare ad usare Blockly non dovrebbe essere troppo difficile anche per chi è del tutto a digiuno ma abbia voglia di applicarsi e di sperimentare un po&amp;rsquo;.&lt;/p&gt;&#xA;&lt;p&gt;Purtroppo il codice Python (ma anche JavaScript) generato automaticamente è troppo verboso rispetto ad una versione sviluppata direttamente in uno dei due linguaggi. La ragione principale è che il linguaggio cerca di prevedere esplicitamente i diversi casi che possono presentarsi a seconda del segno delle variabili utilizzate, complicando notevolmente l&amp;rsquo;implementazione del ciclo. Un aspetto che probabilmente verrà migliorato con il tempo.&lt;/p&gt;&#xA;&lt;p&gt;Il &lt;em&gt;codice&lt;/em&gt; del programma che implementa il Crivello di Eratostene in Blockly (Fig. 1) è accessibile al link &lt;a href=&#34;https://blockly-demo.appspot.com/static/demos/code/index.html#d93qba&#34;&gt;https://blockly-demo.appspot.com/static/demos/code/index.html#d93qba&lt;/a&gt;, e da quanto ho capito, ogni volta che vi si accede da un browser diverso Blockly crea automaticamente un link diverso, permettendo di provare a modificare il codice senza danneggiare la versione originale.&lt;/p&gt;&#xA;&lt;p&gt;Tutto sommato Blockly è un bel giocattolino.&lt;/p&gt;&#xA;&lt;p&gt;[caption id=&amp;ldquo;attachment_1615&amp;rdquo; align=&amp;ldquo;aligncenter&amp;rdquo; width=&amp;ldquo;605&amp;rdquo;]&lt;a href=&#34;https://melabit.files.wordpress.com/2015/01/01-sieve_blockly1.png&#34;&gt;&lt;img src=&#34;https://melabit.files.wordpress.com/2015/01/01-sieve_blockly1.png?w=605&#34; alt=&#34;Implementazione del Crivello di Eratostene in Blockly.&#34; width=&#34;605&#34; height=&#34;410&#34; class=&#34;size-large wp-image-1615&#34; /&gt;&lt;/a&gt; Implementazione del Crivello di Eratostene in Blockly.[/caption]&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h4 id=&#34;bibliografia&#34;&gt;Bibliografia&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Visual Programming Language - Infograph and Introduction, &lt;a href=&#34;http://constructingkids.com/2013/05/15/vpl/&#34;&gt;http://constructingkids.com/2013/05/15/vpl/&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Stack Exchange, &lt;a href=&#34;http://programmers.stackexchange.com/questions/119463/why-did-visual-programming-never-take-off-and-what-future-paradigms-might-change&#34;&gt;Why did visual programming never take off and what future paradigms might change that?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Documentazione e risorse su HyperCard, &lt;a href=&#34;http://hypercard.org/&#34;&gt;http://hypercard.org/&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;J. Nickerson, &amp;ldquo;Visual Programming&amp;rdquo;, (1994), &lt;a href=&#34;http://www.nickerson.to/visprog/visprog.htm&#34;&gt;http://www.nickerson.to/visprog/visprog.htm&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;M. Boshernitsan, M. S. Downes, &amp;ldquo;Visual Programming Languages: A Survey&amp;rdquo;, Università della California, Berkeley (2004), &lt;a href=&#34;http://www.eecs.berkeley.edu/Pubs/TechRpts/2004/CSD-04-1368.pdf&#34;&gt;http://www.eecs.berkeley.edu/Pubs/TechRpts/2004/CSD-04-1368.pdf&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
    </item>
  </channel>
</rss>
