<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Swift on Melabit</title>
    <link>https://static.233.196.69.159.clients.your-server.de/it/tags/swift/</link>
    <description>Recent content in Swift on Melabit</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Mon, 03 Oct 2022 06:00:00 +0000</lastBuildDate>
    <atom:link href="https://static.233.196.69.159.clients.your-server.de/it/tags/swift/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Swift contro Python, ovvero mele contro pere</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2022/10/03/swift-contro-python-ovvero-mele-contro-pere/</link>
      <pubDate>Mon, 03 Oct 2022 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2022/10/03/swift-contro-python-ovvero-mele-contro-pere/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2022-10-03-swift-contro-python-ovvero-mele-contro-pere/martina-leuderalbert-i-GgDz7KQz4-unsplash.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://unsplash.com/@tinaleuderalbert&#34;&gt;Martina Leuderalbert&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;p&gt;Alle elementari la maestra mi aveva insegnato a non sommare le mele con le pere, cioè a non mettere insieme (o paragonare) cose e fatti molto diversi fra loro. Non ha quindi senso sommare 3 litri di acqua con 5 chilogrammi di farina o chiedersi se 40 metri sono più o meglio di 20 secondi.&lt;/p&gt;&#xA;&lt;p&gt;Quello che diceva la mia maestra lo dicono, sono sicuro, le maestre di tutto il mondo, ma c&amp;rsquo;è sempre qualcuno assente a queste lezioni.&lt;/p&gt;&#xA;&lt;h4 id=&#34;il-golia-della-programmazione-moderna&#34;&gt;Il Golia della programmazione moderna&lt;/h4&gt;&#xA;&lt;p&gt;Uno di questi è stato di sicuro Ari Joury che, nonostante il suo dottorato in fisica delle particelle, non si è fatto scrupoli a pubblicare su Medium questo &lt;a href=&#34;https://medium.com/geekculture/swift-was-poised-to-replace-python-then-it-tanked-3e6c11740ba6&#34;&gt;Swift was poised to replace Python. Then it tanked&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Cosa dice l’articolo? Che nel mondo del machine learning i linguaggi di programmazione più usati sono Matlab, R, Julia e soprattutto Python. Quest’ultimo, nato originariamente per sviluppare dei piccoli &lt;em&gt;script&lt;/em&gt; senza troppe pretese, è diventato oggi un vero &lt;em&gt;&amp;ldquo;Golia della programmazione moderna”&lt;/em&gt;, tanto da essere usato estensivamente da aziende come Dropbox, Instagram e Pinterest per i loro servizi online.&lt;/p&gt;&#xA;&lt;p&gt;Grazie alla disponibilità di librerie come TensorFlow o PyTorch (nonché, aggiungo io, di librerie di base come Pandas o NumPy), Python è diventato anche il linguaggio di elezione di chi si occupa di machine learning e di analisi dei dati.&lt;/p&gt;&#xA;&lt;p&gt;La crescita di Python sembra bloccata da un paio di anni, ma la sua enorme diffusione lo farà rimanere comunque un attore centrale anche nel prossimo futuro.&lt;/p&gt;&#xA;&lt;h4 id=&#34;entra-in-scena-swift&#34;&gt;Entra in scena Swift&lt;/h4&gt;&#xA;&lt;p&gt;Fin qui tutto vero e condivisibile. Magari si potrebbe eccepire qualcosina sull&amp;rsquo;importanza di R nell&amp;rsquo;ambito dell&amp;rsquo;analisi dei dati, ma non voglio essere puntiglioso.&lt;/p&gt;&#xA;&lt;p&gt;Il guaio è che se uno si limita a scrivere queste cose non se lo fila nessuno, chi vorrà mai leggere l&amp;rsquo;ennesimo articolo generico sulle virtù di Python per il machine learning (e non) o su &lt;a href=&#34;https://towardsdatascience.com/why-python-is-not-the-programming-language-of-the-future-30ddc5339b66&#34;&gt;quale linguaggio&lt;/a&gt; è destinato a soppiantarlo?&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; Ci vuole un colpo d&amp;rsquo;ala.&lt;/p&gt;&#xA;&lt;p&gt;Per fortuna c&amp;rsquo;è sempre Apple che, come il nero, va bene su tutto e, soprattutto, garantisce sempre un bel po&amp;rsquo; di click. E allora perché non mettere in mezzo Swift?&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.apple.com/swift&#34;&gt;Swift&lt;/a&gt; è un linguaggio di programmazione sviluppato da Apple con l&amp;rsquo;obiettivo specifico di sostituire &lt;a href=&#34;https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html&#34;&gt;Objective-C&lt;/a&gt; come linguaggio di elezione per lo sviluppo delle applicazioni per iOS e per macOS. Swift è facile da imparare e la sua sintassi leggibile ricalca quella di Python, è vero, così come quella di Julia e di tanti altri linguaggi di programmazione moderni.&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;&lt;/p&gt;&#xA;&lt;p&gt;Swift però non ha mai preteso di essere, come &lt;a href=&#34;https://medium.com/geekculture/swift-was-poised-to-replace-python-then-it-tanked-3e6c11740ba6&#34;&gt;sostiene il nostro Ari&lt;/a&gt;, il nuovo &lt;em&gt;&amp;ldquo;Re della Programmazione&amp;rdquo;&lt;/em&gt;. Ad Apple non interessa posizionare Swift come uno strumento di programmazione &lt;em&gt;general purpose&lt;/em&gt;, le interessa solo che venga usato per programmare le applicazioni per i suoi sistemi operativi. Del resto, il fatto che manchi di una versione per Windows taglia fuori una fetta così importante di potenziali utenti da rendere impossibile a priori una pretesa tanto assurda.&lt;/p&gt;&#xA;&lt;p&gt;A maggior ragione Swift non ha mai preteso di essere il nuovo strumento principe per il machine learning, come il buon Ari sotto sotto ci vuole far intendere. È vero che Google ha provato a &lt;a href=&#34;https://tensorflow.org/swift&#34;&gt;supportare Swift&lt;/a&gt; all&amp;rsquo;interno di TensorFlow (di cui Google è il principale sviluppatore), ma questo esperimento, come succede con tanti altri prodotti dell&amp;rsquo;azienda di Mountain View, è stato interrotto nel 2021. È ragionevole pensare, infatti, che chi sviluppa in Swift preferisce usare gli &lt;a href=&#34;https://developer.apple.com/machine-learning&#34;&gt;strumenti per il machine learning integrati&lt;/a&gt; in macOS/iOS piuttosto che prodotti di terze parti.&lt;/p&gt;&#xA;&lt;h4 id=&#34;io-sono-più-popolare-di-te&#34;&gt;Io sono più popolare di te&lt;/h4&gt;&#xA;&lt;p&gt;Ma la cosa più sconcertante è pretendere di confrontare la popolarità (o meno) dei linguaggi di programmazione utilizzando una metrica fasulla come la percentuale di domande poste ogni mese su StackOverflow relativamente ad uno o ad un altro linguaggio. In base a questa percentuale, la &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=python%2Cswift&#34;&gt;popolarità di Python&lt;/a&gt; è cresciuta costantemente fino alla fine del 2020, per poi stabilizzarsi al 16% del totale delle domande su StackOverflow, mentre &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=python%2Cswift&#34;&gt;quella di Swift&lt;/a&gt; dopo aver raggiunto un massimo del 3% è in declino e ora si aggira nei dintorni dell&#39;1.5%.&lt;/p&gt;&#xA;&lt;p&gt;Perché è una metrica fasulla? Perché finché siamo sui grandi numeri e confrontiamo la &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=python%2Cjavascript&#34;&gt;popolarità di Python con quella di JavaScript&lt;/a&gt; può anche avere senso basarsi sul numero di domande poste su StackOverflow per valutarne la diffusione.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2022-10-03-swift-contro-python-ovvero-mele-contro-pere/stack-overflow-python-javascript.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Ma se buttiamo nel calderone anche la terna &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=python%2Cjavascript%2Cjava%2Chtml%2Ccss%2Cphp&#34;&gt;HTML, CSS e PHP&lt;/a&gt;, che sono ancora oggi tre strumenti fondamentali per chi fa sviluppo web, troviamo che questi ultimi sono in costante declino, senza però che la decadenza (su StackOverflow) di PHP venga compensata da un incremento corrispondente nell&amp;rsquo;interesse verso JavaScript.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2022-10-03-swift-contro-python-ovvero-mele-contro-pere/stack-overflow-python-javascript-html-css-php.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Anche &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=wordpress&#34;&gt;Wordpress&lt;/a&gt;, che piaccia o non piaccia sta dietro il 40% dei siti web, secondo la metrica di StackOverflow sarebbe in calo. Idem per &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=mysql&#34;&gt;MySQL&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;E allora la spiegazione può essere un&amp;rsquo;altra: più che la diffusione, le domande su StackOverflow ci fanno vedere la complessità del linguaggio e la qualità della sua documentazione: HTML, CSS e PHP (o Wordpress e MySQL) sono prodotti ben assestati, per loro esistono ottime guide sul web che ne spiegano diffusamente i segreti. Di conseguenza non è necessario cercare risposte più o meno occasionali su StackOverflow, e comunque quelle che ci sono già bastano ed avanzano.&lt;/p&gt;&#xA;&lt;p&gt;Python e JavaScript, al contrario, hanno una sintassi di base piuttosto semplice ma per essere usati al meglio hanno bisogno di un gran numero di librerie aggiuntive, che sono spesso più complesse del linguaggio base e che vengono aggiornate ed espanse di continuo. La documentazione relativa non tiene sempre il passo dello sviluppo, per cui il modo migliore per imparare ad usare al meglio le centinaia e centinaia di API disponibili è quello di rivolgersi a qualche esperto su StackOverflow, spingendo così in alto la &lt;em&gt;popolarità&lt;/em&gt; dei due linguaggi.&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;p&gt;Secondo la logica basata sul numero di domande su StackOverflow anche &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=c%2Cc%2B%2B&#34;&gt;C e C++&lt;/a&gt;, i linguaggi usati per la programmazione di sistema (e non) su Linux e Windows, sarebbero in declino, e lo stesso succede a &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=algorithm%2Carchitecture%2Cclass%2Cdatabase&#34;&gt;concetti di base&lt;/a&gt; come &lt;em&gt;algoritmo&lt;/em&gt;, &lt;em&gt;architettura&lt;/em&gt;, &lt;em&gt;classe&lt;/em&gt; o &lt;em&gt;database&lt;/em&gt;. Ma  sono in declino perché c&amp;rsquo;è davvero poco interesse o solo perché anche per loro c&amp;rsquo;è abbondanza di documentazione di ottimo livello, senza doversi ridurre a porre sempre delle nuove domande su StackOverflow?&lt;/p&gt;&#xA;&lt;p style=&#34;border-style:solid; border-color:lightblue; background-color:lightyellow; padding:1em;&#34;&gt;Nel mio piccolo lo faccio anch&#39;io: quando programmo in R uso pochissimo StackOverflow, perché posso usare l&#39;ottimo help in linea di RStudio e perché la documentazione che accompagna le librerie aggiuntive di R è centralizzata sul [CRAN](https://cran.r-project.org/) (_The Comprehensive R Archive Network_) ed è di altissima qualità. E quando tutto questo non basta, posso trovare decine di siti e di blog che spiegano benissimo gli aspetti più ostici del linguaggio. Quando passo a Python (un linguaggio che, sia chiaro, mi piace parecchio), StackOverflow diventa quasi una necessità, perché la frammentazione e la mancanza di sistema di gestione centralizzata delle librerie di Python rendono molto più complicato trovare documentazione aggiornata di qualità.&#xA;&lt;/p&gt;&#xA;&lt;h4 id=&#34;decaduto-o-semplice&#34;&gt;Decaduto o semplice?&lt;/h4&gt;&#xA;&lt;p&gt;Swift è un linguaggio semplice con una ottima &lt;a href=&#34;https://www.swift.org/documentation/&#34;&gt;documentazione ufficiale&lt;/a&gt;, un eccellente strumento di apprendimento del linguaggio (e non solo) come &lt;a href=&#34;https://www.apple.com/it/swift/playgrounds/&#34;&gt;Swift Playgrounds&lt;/a&gt; e un numero relativemente ridotto di &lt;a href=&#34;https://codersera.com/blog/open-source-swift-libraries/&#34;&gt;librerie aggiuntive&lt;/a&gt;, c&amp;rsquo;è davvero bisogno di passare un sacco di tempo su StackOverflow per usarlo al meglio?&lt;/p&gt;&#xA;&lt;p&gt;Guardando il grafico relativo al numero di domande relative a Swift ci si accorge che i picchi di interesse corrispondono alle date di presentazione della versione 1.0 (giugno 2014) e al rilascio delle versioni 2.0 (settembre 2015), 3.0  (settembre 2016) e 5.0 (marzo 2019) e, come è naturale, dopo ogni presentazione l&amp;rsquo;interesse tende a decadere, proprio perché per usare il linguaggio c&amp;rsquo;è davvero poco da chiedere su StackOverflow.&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2022-10-03-swift-contro-python-ovvero-mele-contro-pere/stack-overflow-swift.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;A supporto di questa tesi c&amp;rsquo;è il risultato di &lt;a href=&#34;https://data.stackexchange.com/stackoverflow/query/edit/1649394&#34;&gt;questa semplice query SQL&lt;/a&gt;, con la quale ho provato a calcolare il numero di domande poste su StackOverflow ogni anno. Di SQL ne so pochissimo per cui dovete prendere i risultati con le pinze, ma sembra che il numero di domande su StackOverflow sia in progressiva diminuzione, da un massimo di 2.2 milioni di domande nel 2016 a 1.6 milioni nel 2021.&lt;/p&gt;&#xA;&lt;p&gt;Una volta raggiunta una base di conoscenza sufficientemente ampia non ha molto senso porre sempre delle nuove domande (che su StackOverflow sono fortemente scoraggiate) ma ci si può limitare ad utilizzare il materiale già esistente. Questo almeno per le tecnologie più stabili, come possono essere HTML, CCS, PHP, Wordpress, MySQL&amp;hellip; oppure Swift. Quando invece abbiamo a che fare con strumenti in rapidissima evoluzione, come Python o JavaScript, StackOverflow diventa davvero il modo migliore per imparare.&lt;/p&gt;&#xA;&lt;h4 id=&#34;conclusioni&#34;&gt;Conclusioni&lt;/h4&gt;&#xA;&lt;p&gt;C&amp;rsquo;è bisogno di dilungarsi ancora? Non credo, dico solo che basarsi su ipotesi fantasiose o metriche poco affidabili per ipotizzare &lt;a href=&#34;https://medium.com/geekculture/swift-was-poised-to-replace-python-then-it-tanked-3e6c11740ba6&#34;&gt;scenari catastrofici&lt;/a&gt; per Swift (o, al contrario, &lt;a href=&#34;https://towardsdatascience.com/bye-bye-python-hello-julia-9230bff0df62&#34;&gt;scenari entusiasmanti&lt;/a&gt; per Julia&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;) mi pare francamente &lt;a href=&#34;https://xkcd.com/558/&#34;&gt;insensato&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2022-10-03-swift-contro-python-ovvero-mele-contro-pere/dt140323.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://dilbert.com/strip/2014-03-23&#34;&gt;Dilbert&lt;/a&gt; di Scott Adams&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Capo: Non si possono confrontare mele e arance.&lt;/p&gt;&#xA;&lt;p&gt;Dilbert: È chiaramente sbagliato, perché li hai appena confrontati e dichiarati diversi.&lt;/p&gt;&#xA;&lt;p&gt;Wally: Mele e arance sono entrambi alimenti che crescono sugli alberi. Sarebbe assolutamente valido confrontarli dal punto di vista nutrizionale.&lt;/p&gt;&#xA;&lt;p&gt;Dilbert: Ho notato che molte delle cose che escono dalla tua bocca non hanno senso.&lt;/p&gt;&#xA;&lt;p&gt;Capo: Parli come mia moglie.&lt;/p&gt;&#xA;&lt;p&gt;Wally: Non puoi paragonare tua moglie al tuo subordinato. Sono mele e arance.&lt;/p&gt;&#xA;&lt;p&gt;Capo: Cosa sta succedendo qui?&lt;/p&gt;&#xA;&lt;p&gt;Wally: Non lo so, ma non lo paragonerei a lavoro.&lt;/p&gt;&lt;/blockquote&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;Ari sembra avere le idee un po&amp;rsquo; confuse sul futuro di Python, dato che su Medium ha anche pubblicato &lt;a href=&#34;https://towardsdatascience.com/why-python-is-not-the-programming-language-of-the-future-30ddc5339b66&#34;&gt;Why Python is not the programming language of the future&lt;/a&gt;, oppure &lt;a href=&#34;https://towardsdatascience.com/bye-bye-python-hello-julia-9230bff0df62&#34;&gt;Bye-bye Python. Hello Julia!&lt;/a&gt; e perfino &lt;a href=&#34;https://levelup.gitconnected.com/why-tensorflow-for-python-is-dying-a-slow-death-ba4dafcb37e6&#34;&gt;Why TensorFlow for Python is dying a slow death&lt;/a&gt;.&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;E non è un caso, perché alla base di tutti questi linguaggi c&amp;rsquo;è sempre il buon vecchio &lt;a href=&#34;https://time.com/69316/basic/&#34;&gt;BASIC&lt;/a&gt;, il primo linguaggio di programmazione davvero per tutti, che è stato il linguaggio di base dei computer personali degli anni &amp;lsquo;80 su cui si sono fatti le ossa tutti i grandi nomi dell&amp;rsquo;informatica di quegli anni.&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;Le sole domande sulla libreria &lt;code&gt;pandas&lt;/code&gt; di Python (una libreria fondamentale per chi usa Python per l&amp;rsquo;analisi dei dati) &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=pandas&#34;&gt;assommano al 3%&lt;/a&gt; del totale, le principali librerie per il machine learning (TensorFlow, Keras, PyTorch, scikit-learn, OpenCV, NLTK) fanno &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=tensorflow%2Ckeras%2Cpytorch%2Cscikit-learn%2Copencv%2Cnltk&#34;&gt;un altro 2%&lt;/a&gt;, mentre quelle su &lt;code&gt;Django&lt;/code&gt; e &lt;code&gt;Flask&lt;/code&gt; (le principali librerie Python per lo sviluppo di applicazioni per il web) sono quasi &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=django%2Cflask&#34;&gt;al 2.5%&lt;/a&gt; del totale generale. Chiaramente queste domande vengono anche conteggiate come domande relative a Python.&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;Perché sì, &lt;a href=&#34;https://insights.stackoverflow.com/trends?tags=julia&#34;&gt;l&amp;rsquo;interesse per Julia&lt;/a&gt; sembra essere in aumento su StackOverflow, ma parliamo di non più dello 0.16% (1/10 dei valori di Swift) e anche in questo caso i picchi corrispondono al rilascio delle varie versioni del linguaggio.&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>Wow!</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2019/06/04/wow/</link>
      <pubDate>Tue, 04 Jun 2019 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2019/06/04/wow/</guid>
      <description>&lt;img src=&#34;https://images.idgesg.net/images/article/2019/06/mac-pro-2019-100798173-large.jpg&#34; alt=&#34;&#34;&gt;&lt;p&gt;È raro che commenti a caldo un keynote Apple (anche perché non riesco quasi mai a vederli), ma quest&amp;rsquo;anno a Cupertino si sono superati e il keynote è stato un susseguirsi di annunci scoppiettanti, fino al gran finale dedicato agli sviluppatori.&lt;/p&gt;&#xA;&lt;p&gt;Cominciamo dal Mac Pro, di sicuro l&amp;rsquo;annuncio più atteso. Una macchina fantastica, un ritorno al passato, anzi una vera e propria inversione ad U. I progettisti hardware di Apple si saranno cosparsi il capo di tonnellate di cenere prima di mettersi al lavoro. Perché una macchina professionale da 6.000 (e molti più!) dollari deve fare i conti con il resto del mondo supportando gli &lt;em&gt;standard industriali&lt;/em&gt; correnti, e deve essere espandibile e modificabile anche in modo estremo, per poter durare il più possibile e diluire nel tempo il pesantissimo investimento economico necessario per venirne in possesso.&lt;/p&gt;&#xA;&lt;p&gt;E poi c&amp;rsquo;è iPadOS che, da quanto si è visto, potrà dare finalmente all&amp;rsquo;iPad il sistema operativo che merita, con un vero multitasking, un copia e incolla efficace, un filesystem degno di questo nome, capace di &lt;em&gt;vedere&lt;/em&gt; anche i dischi del Mac. Senza dimenticare, quanti anni ci sono voluti?, il supporto per le chiavette e i dischi esterni USB.&lt;/p&gt;&#xA;&lt;p&gt;Per quanto riguarda macOS, iTunes sarà &lt;em&gt;spacchettato&lt;/em&gt; in tre applicazioni coerenti dedicate alla musica, ai video e ai podcast, mentre mi pare di aver capito (ho avuto un momento di distrazione) che i dispositivi iOS saranno gestiti direttamente dal Finder.&lt;/p&gt;&#xA;&lt;p&gt;Ci sono stati annunci apparentemente &lt;em&gt;minori&lt;/em&gt;, ma che testimoniano l&amp;rsquo;attenzione di Apple per la sicurezza e l&amp;rsquo;accessibilità. Ricordo su tutti la nuova &amp;ldquo;Sign in with Apple&amp;rdquo;, che permetterà di accedere a tanti siti web in modo molto più sicuro che usando Google o Facebook (una cosa, quest&amp;rsquo;ultima, da evitare il più possibile). Geniale l&amp;rsquo;idea d farlo tramite degli indirizzi email generati in modo casuale e diversi per ciascun sito. I &lt;em&gt;wow&lt;/em&gt; di cui era costellato il keynote qui sono stati pienamente meritati.&lt;/p&gt;&#xA;&lt;p&gt;E poi Mappe finalmente rivisto, la funzione &amp;ldquo;Find My&amp;rdquo; che funziona anche a MacBook spento sfruttando una modalità Bluetooth a basso consumo che comunica anonimamente la posizione ai dispostivi iOS nelle vicinanze (anche qui il wow era più che meritato), l&amp;rsquo;iPad utilizzabile come secondo schermo del Mac, la tastiera iOS a scorrimento (ci voleva tanto?).&lt;/p&gt;&#xA;&lt;p&gt;Ma il gran finale è stato dedicato a Swift e XCode, in perfetta sintonia con lo spirito di una conferenza dedicata agli sviluppatori. Swift acquista lo status di linguaggio primario di sviluppo per tutte le piattaforme Apple, con un nuovo framework grafico, Swift UI, che sembra quasi scrivere il codice da sé (non sarà di sicuro facile come sembra, ma è comunque un bel passo avanti).&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;integrazione fra l&amp;rsquo;ambiente di sviluppo e i dispositivi &lt;em&gt;fisici&lt;/em&gt; su cui testare le app in corso di sviluppo è stata migliorata al punto tale che le modifiche al codice si trasferiscono in modo pressoché istantaneo al dispositivo iOS collegato, semplificando e velocizzando notevolmente il debug dell&amp;rsquo;applicazione.&lt;/p&gt;&#xA;&lt;p&gt;Infine, XCode permetterà di generare, partendo dalla stessa base di codice, applicazioni che girano su tutte le piattaforme Apple, anche se non è chiaro se XCode produrrà un&amp;rsquo;unica applicazione &lt;em&gt;universale&lt;/em&gt; (come ai tempi della transizione da PowerPC a Intel), compatibile con processori ARM e Intel e con iOS, iPadOS e macOS, oppure applicazioni specifiche per le diverse piattaforme.&lt;/p&gt;&#xA;&lt;p&gt;Di transizione dei Mac da Intel a ARM, almeno per quest&amp;rsquo;anno, non si è parlato.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Imparare a programmare per iOS</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2018/03/12/imparare-a-programmare-per-ios/</link>
      <pubDate>Mon, 12 Mar 2018 12:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2018/03/12/imparare-a-programmare-per-ios/</guid>
      <description>&lt;img src=&#34;https://dz13w8afd47il.cloudfront.net/sites/default/files/imagecache/ppv4_main_book_cover/4507_5628_iOS%2010%20Programming%20for%20Beginners.png&#34; alt=&#34;&#34;&gt;&lt;p&gt;Lo so che tendo spesso a dimenticarlo, ma questo blog dovrebbe essere dedicato soprattutto alla programmazione e al Mac. E allora non posso non segnalare il volume di Craig Clayton, &lt;a href=&#34;https://www.packtpub.com/packt/offers/free-learning&#34;&gt;iOS 10 Programming for Beginners&lt;/a&gt;, edito da &lt;a href=&#34;https://www.packtpub.com/&#34;&gt;Packt&lt;/a&gt; e disponibile oggi (e solo oggi) in download gratuito.&lt;/p&gt;&#xA;&lt;p&gt;Lo so che siamo a iOS 11 e che attendiamo iOS 12, ma sono anche convinto che per un principiante sia meglio concentrarsi sulle funzioni di base del sistema operativo, disponibili anche nelle versioni precedenti di iOS, piuttosto che provare a sfruttare le ultimissime &lt;em&gt;bells and whistles&lt;/em&gt; (in italiano non esiste una espressione equivalente, diciamo più o meno &amp;ldquo;fronzoli&amp;rdquo;, &amp;ldquo;orpelli&amp;rdquo;) messe a disposizione ogni anno dagli ingegneri di Apple.&lt;/p&gt;&#xA;&lt;p&gt;Inoltre, a differenza di tante altre introduzioni alla programmazione per iOS, questo volume usa &lt;a href=&#34;https://developer.apple.com/swift/&#34;&gt;Swift&lt;/a&gt;, il linguaggio di programmazione sviluppato negli ultimi anni da Apple e che sta avendo un successo molto superiore alle aspettative, sia perché funziona su tutte le piattaforme hardware/software dell&amp;rsquo;azienda (quindi non solo macOS e iOS ma anche tvOS e watchOS), sia perché è enormemente più semplice da imparare ed usare di Objective C, il linguaggio usato tradizionalmente per le applicazioni per iOS e per gran parte di quelle per il Mac.&lt;/p&gt;&#xA;&lt;p&gt;Se siete appena appena interessati alla programmazione e ad iOS, secondo me non dovreste farvi sfuggire l&amp;rsquo;occasione.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Swift open source</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2015/06/09/swift-open-source/</link>
      <pubDate>Tue, 09 Jun 2015 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2015/06/09/swift-open-source/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://melabit.files.wordpress.com/2015/06/swift_open_source.png&#34;&gt;&lt;img src=&#34;https://melabit.files.wordpress.com/2015/06/swift_open_source.png?w=605&#34; alt=&#34;Swift open source&#34; width=&#34;605&#34; height=&#34;481&#34; class=&#34;aligncenter size-large wp-image-1910&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Per motivi familiari oggi non ho potuto seguire il WWDC, e in questo momento (poco prima di mezzanotte) &lt;a href=&#34;http://www.apple.com/live/2015-june-event/&#34;&gt;il keynote non è ancora dsponibile&lt;/a&gt; sul sito di Apple.&lt;/p&gt;&#xA;&lt;p&gt;Sono però riuscito a scorrere gli &lt;em&gt;highlight&lt;/em&gt; del keynote e mi ha colpito immediatamente leggere che, fra qualche mese, Swift diventerà open source e sarà disponibile non più solo per OS X e iOS, ma anche per Linux.&lt;/p&gt;&#xA;&lt;p&gt;È un segno dei tempi, l&amp;rsquo;open source è un fenomeno straordinario con il quale anche Apple deve fare i conti.&lt;/p&gt;&#xA;&lt;p&gt;Ma significa anche che Apple si è finalmente decisa a diffondere Swift in un ambito più ampio, cercando di farlo adottare anche dagli sviluppatori non strettamente legati alla sua piattaforma.&lt;/p&gt;&#xA;&lt;p&gt;Una bella notizia. Per quanto mi riguarda è un forte stimolo a iniziare a giocherellare con Swift. Speriamo che Apple renda disponibili ulteriori dettagli al più presto.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>WWDC 2014: Integrazione, integrazione, integrazione</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2014/06/03/wwdc-2014-integrazione-integrazione-integrazione/</link>
      <pubDate>Tue, 03 Jun 2014 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2014/06/03/wwdc-2014-integrazione-integrazione-integrazione/</guid>
      <description>&lt;img src=&#34;http://images.apple.com/osx/preview/images/overview_design_hero.jpg&#34; /&gt;&#xA;&lt;p&gt;È la prima volta che guardo in diretta il keynote del WWDC e l&amp;rsquo;esperienza è stata veramente entusiasmante.&lt;/p&gt;&#xA;&lt;p&gt;Se dovessi riassumere il keynote in una sola parola sceglierei senza dubbio &amp;ldquo;integrazione&amp;rdquo;. Le nuove versioni di OS X e iOS convergono in modo sempre più spinto ma anche intelligente, senza forzature inutili.&lt;/p&gt;&#xA;&lt;p&gt;&amp;ldquo;Seamlessly&amp;rdquo;: l&amp;rsquo;abbiamo sentito decine di volte. Senza problemi, senza nemmeno accorgersene.&lt;/p&gt;&#xA;&lt;p&gt;Quello che è importante per Apple non è che i due sistemi operativi abbiano lo stesso &lt;em&gt;look&lt;/em&gt;, ma che si possano usare per fare &lt;em&gt;le stesse cose&lt;/em&gt;, indipendentemente dalla piattaforma hardware usata. Vedere come un lavoro iniziato sul Mac possa essere proseguito senza quasi nemmeno accorgersene sull&amp;rsquo;iPad o sull&amp;rsquo;iPhone sembra quasi magia, ma fra pochi mesi sarà la realtà di tutti i giorni.&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;hanno chiamata &amp;ldquo;Continuity&amp;rdquo;, continuità, una parola banale con dietro un mondo di innovazione. Altro che finestrelle affiancate!&lt;/p&gt;&#xA;&lt;p&gt;Se poi a questo si aggiunge un iCloud riveduto, strettamente integrato (e già!) con OS X e iOS, e con un suo filesystem finalmente accessibile anche dalle applicazioni iOS, il cerchio dell&amp;rsquo;integrazione di chiude e OS X e iOS diventano due modi diversi di vedere le stesse cose.&lt;/p&gt;&#xA;&lt;p&gt;Anche OS X cresce, con nuovo look più simile a iOS, sempre più asciutto e graficamente coerente. Mi è piaciuto soprattutto il nuovo Dock (non posso soffrire il Dock attuale, stile mensola ghiacciata, e sono contento che torni un Dock come quello alternativo di Snow Leopard) e le icone delle applicazioni, finalmente omogenee fra loro e con l&amp;rsquo;aspetto generale del sistema.&lt;/p&gt;&#xA;&lt;p&gt;E infine, ciliegina sulla torta, Swift. Un nuovo linguaggio di programmazione, una cosa che non si vede tutti i giorni. Una vera bomba, se manterrà le promesse di quello &amp;ndash; poco purtroppo &amp;ndash; che si è visto.&lt;/p&gt;&#xA;&lt;p&gt;Questa volta vale veramente la pena scaricare la versione beta di OS X appena sarà disponibile attraverso il &lt;a href=&#34;https://appleseed.apple.com/sp/betaprogram/welcome&#34;&gt;Beta Program&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Ne riparleremo.&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
