{"id":20,"date":"2005-10-02T07:24:18","date_gmt":"2005-10-02T06:24:18","guid":{"rendered":"http:\/\/www.ilinux.it\/content\/?p=20"},"modified":"2010-08-19T12:22:12","modified_gmt":"2010-08-19T11:22:12","slug":"cercando-tra-le-pieghe","status":"publish","type":"post","link":"https:\/\/www.ilinux.it\/content\/cercando-tra-le-pieghe.html","title":{"rendered":"Cercando tra le pieghe"},"content":{"rendered":"<p style=\"text-align: center;\"><a href=\"http:\/\/www.ilinux.it\/content\/wp-content\/uploads\/2010\/08\/gnome-logo-300px.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-thumbnail wp-image-21 aligncenter\" title=\"gnome-logo-300px\" src=\"http:\/\/www.ilinux.it\/content\/wp-content\/uploads\/2010\/08\/gnome-logo-300px-150x150.png\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/www.ilinux.it\/content\/wp-content\/uploads\/2010\/08\/gnome-logo-300px-150x150.png 150w, https:\/\/www.ilinux.it\/content\/wp-content\/uploads\/2010\/08\/gnome-logo-300px.png 285w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><\/p>\n<p>Cercando  tra le pieghe di Internet si osservano differenti approcci alla ricerca  di contatto tra mondo Linux e mondo MacOSX. Chiaramente tutti questi  tentativi hanno come origine l&#8217;ambiente Linux, principalmente per opera  della &#8220;community&#8221;.<!--more--><\/p>\n<div>\n<div>\n<p style=\"padding-left: 30px;\">Persino ambienti come  Gnome hanno (negli ultimi tempi) introdotto configurazioni di base (vedi  il pannello collocato in alto nello schermo per default come fosse la  menubar), temi e elementi per i pannelli tali da rendere  &#8220;approssimabile&#8221; il look-and-feel di MacOSX (essenzialmente per lo stile  Aqua).<\/p>\n<p>Ne sono dimostrazione i nostri desktop (desktop-andrea: Fc3+Gnome) e (desktop-giampa: Fc4+Gnome+gDesklets), che con qualche &#8220;imbroglio&#8221; su metacity e soprattutto &#8220;asportando&#8221; le vere icone da un vero MacOSX rendono bene l&#8217;idea.<\/p>\n<p>Il fascino di Macintosh \u00e8 probabilmente molto forte, evidentemente.<\/p>\n<p>Ma esistono, a mio avviso due tendenze in questi approcci: una linux-centrico e una mac-centrico.<\/p>\n<p>Il primo \u00e8 il pi\u00f9 naturale  ma anche il pi\u00f9 pericoloso; tenderebbe alla lunga a snaturare linux e a  creare un clone open source di Mac che non ci sembra avere molto senso.  Ben vengano le ottimizzazioni e le estensioni, ma non invadiamo i campi.<\/p>\n<p>Il secondo \u00e8 meno naturale e  pi\u00f9 &#8220;sportivo&#8221;, nel senso che sembra uno sfoggio di capacit\u00e0 dei  programmatori nel riuscire nelle loro imprese: mi riferisco al tentativo  di compilare su MacOSX l&#8217;implementazione open source di Foundation, il  framework Objective-C alla base dell&#8217;interfaccia grafica del MacOSX.<\/p>\n<p>Per quelli che sono digiuni  di tutto quello che \u00e8 dietro questa storia, a questo punto verrebbe  naturale pensare a qualche epiteto pi\u00f9 forte nei confronti di questa  seconda tendenza; ma freniamoli subito! non si tratta dell&#8217;ennesimo  progetto di reverse-engineering per &#8220;strappare&#8221; qualche applauso o  &#8220;clonare&#8221; tecnologie altrimenti non ottenibili in open-source (e via con  tutte le considerazioni di carattere commerciale). No. No. No.<\/p>\n<p>L&#8217;idea \u00e8 forse pi\u00f9 nobile  ed \u00e8 nata probabilmente molto tempo fa (non ho voglia di fare  l&#8217;archeologo informatico&#8230; lascio a qualcun altro il compito di creare  una cronologia degli eventi). Come per il caso di altri sistemi  scomparsi (chi come me ricorda il sistema Amiga sa di cosa parlo), la  &#8220;community&#8221; ha avuto sempre il coraggio e la presunzione di rigenerare  quei sistemi dalle ceneri come novelle fenici, cominciando da &#8220;poche&#8221;  righe di codice magari malfunzionanti fino ad arrivare a qualcosa di  quasi definitivo.<\/p>\n<p>Come nelle migliori favole,  c&#8217;era una volta un tale nominato Steve Jobs, il quale ebbe una delle  sue idee, abbandon\u00f2 Apple (la sua figlia ingrata) e fond\u00f2 una societ\u00e0 e  un nuovo sistema operativo: NextStep. Egli, detto il &#8220;guru di  Cupertino&#8221;, torn\u00f2 presto al capezzale della figlia Apple, morente, e lo  spazio\/tempo per NextStep sembr\u00f2 annullarsi. Ebbene\u00a0 in quel momento che  i nostalgici cominciarono il loro lavoro, culminato in oggi in un  progetto GNU, esattamente GNUstep quale tentativo di rigenerare la  fenice (lo so, esistono altri progetti!!!)<\/p>\n<p>Ma quando uno\u00a0 guru\u00a0 guru!  Il nostro Steve non aveva mai abbandonato quella sua idea: evidentemente  l&#8217;ha continuata a coltivare di nascosto (come di nascosto ha dimostrato  aver realizzato la recente migrazione verso il mondo Intel), fino a  gettare le basi e poi rendere concreto il sistema MacOSX. Forzando la  mano possiamo dire infatti che MacOSX\u00a0 solo un nuovo nome commerciale  per NextStep: le premesse sono le stesse (Unix BSD e una interfaccia  grafica innovativa), sono solo passati degli anni, l&#8217;hardware (ad  esempio le nuove schede grafiche)\u00a0 migliorato assieme alle sue capacit,  sono nate innumeravoli altre tecnologie (PDF, OpenGL, Unicode, XML).  Fondi tutto, qualche &#8220;pizzico di fantasia&#8221; e ottieni un nuovo-non-nuovo:  MacOSX.<\/p>\n<p>NextStep \u00e8 stato un sistema  innovativo in tutti i sensi, e in quell&#8217;epoca \u00e8 stato forse il primo se  non l&#8217;unico ad avere alla base non un sistema di API, ma Frameworks,  dato che era costruito con tecnologie OO su un linguaggio di  programmazione (objective-C) anche questo maquillage di qualcosa  d&#8217;altro. Dunque doveva valere la prima regola dell&#8217;esistesta dell&#8217;OO:  riutilizzabilit\u00e0 del codice. Si poteva buttare tutto? Si poteva  riscrivere tutto? La risposta \u00e8 NO. Ed infatti l&#8217;ambiente di sviluppo  GUI di MacOSX \u00e8 basato sui frameworks NextStep (NS, per gli amici!),  condito di un bel nuovo nome commerciale, Cocoa, giustificato dalla  massiccia dose di derivazioni dalle classi originarie e l&#8217;introduzione  di qualcuna nuova per poter stare al passo con i tempi.<\/p>\n<p>Il gioco \u00e8 tutto qui.<\/p>\n<p>Sia Cocoa che GNUstep  affondano le loro radici su Foundation il framework di NS: \u00e8 naturale  che Foundation in Cocoa \u00e8 un qualcosa di maggiormente avanzato, cos\u00ec  come \u00e8 chiaro che le estensioni introdotte in GNUstep non vogliono  nascondere la loro diversit\u00e0 rispetto al padre (NextStep), nominando con  altro suffisso (GS) le nuove classi introdotte, che forse compenserebbe  a lungo termine il gap con Cocoa, ma che divergono per nome e dunque  non saranno assimilabili.<\/p>\n<p>La visione del possibile  diverge ora dal probabile, in quanto i due progetti, per finalit\u00e0 cos\u00ec  diverse non potevano che trovare strade diverse: ma esiste un nocciolo  fondante (guarda caso il nome) che li accomuna ancora, e qualche  spiraglio per qualcosa da fare rimane ancora aperto.<\/p>\n<p>Ma il da fare quale deve essere?<\/p>\n<p>Difficile dirlo. Per il  momento ci ripromettiamo di trovare soluzioni semplici e credibili per  sviluppare la medesima applicazione in entrambi i mondi con il minor  sforzo possibile, auspicando lo sforzo nullo! Come? Scovando in  Internet, mettendo assieme, correggendo il minimo e creando  l&#8217;indispensabile, nella migliore tradizione da &#8220;patchwork&#8221; nell&#8217;uso del  materiale open-source &#8230;<\/p>\n<p><a href=\"http:\/\/www.ilinux.it\/content\/wp-content\/uploads\/2010\/08\/desktop-giampa1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-24\" title=\"desktop-giampa\" src=\"http:\/\/www.ilinux.it\/content\/wp-content\/uploads\/2010\/08\/desktop-giampa1-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><a href=\"http:\/\/www.ilinux.it\/content\/wp-content\/uploads\/2010\/08\/desktop-andrea1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-25\" title=\"desktop-andrea\" src=\"http:\/\/www.ilinux.it\/content\/wp-content\/uploads\/2010\/08\/desktop-andrea1-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Cercando tra le pieghe di Internet si osservano differenti approcci alla ricerca di contatto tra mondo Linux e mondo MacOSX. Chiaramente tutti questi tentativi hanno come origine l&#8217;ambiente Linux, principalmente per opera della &#8220;community&#8221;.<\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/www.ilinux.it\/content\/wp-json\/wp\/v2\/posts\/20"}],"collection":[{"href":"https:\/\/www.ilinux.it\/content\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ilinux.it\/content\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ilinux.it\/content\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ilinux.it\/content\/wp-json\/wp\/v2\/comments?post=20"}],"version-history":[{"count":9,"href":"https:\/\/www.ilinux.it\/content\/wp-json\/wp\/v2\/posts\/20\/revisions"}],"predecessor-version":[{"id":57,"href":"https:\/\/www.ilinux.it\/content\/wp-json\/wp\/v2\/posts\/20\/revisions\/57"}],"wp:attachment":[{"href":"https:\/\/www.ilinux.it\/content\/wp-json\/wp\/v2\/media?parent=20"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ilinux.it\/content\/wp-json\/wp\/v2\/categories?post=20"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ilinux.it\/content\/wp-json\/wp\/v2\/tags?post=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}