• AutoCAD per Mac...e Civil 3D??

    Riprendo un articolo dal sito di GimmiGIS, per fare alcune considerazioni che ci riguardano da vicino.



    Si parla di AutoCAD per Mac (il caro vecchio Macintosh per i più "anziani") che, visto il continuo successo dei prodotti Apple e di Apple in generale (ha recentemente superato Microsoft come valore di capitalizzazione in borsa) sembra una scelta a dir poco opportuna.

    Io sono un po' cauto e, poichè non conosco nulla dei piani interni di Autodesk e non ho partecipato a beta test specifici), ne posso parlare tranquillamente, questa volta. Penso che, conoscendo quanto AutoCAD sia legato alla piattaforma Windows e agli strumenti di sviluppo Microsoft (Visual Studio, tecnologie .NET..) la cosa non sia così ovvia come sembra ai più.
    Prima di tutto bisogna vedere che cosa significa "portare AutoCAD su Mac" (o altra piattaforma...si sono subito fatti sentire anche gli utenti Linux, pure...).
    AutoCAD è un programma che ha quasi 30 anni e, finora, è solo passato da DOS a Windows (con la versione 14, ormai diversi anni addietro).
    Si, è vero, esistevano altre versioni in passato, tra cui quella Xenix (chissà chi si ricorda che bestia fosse...era l'Unix di Microsoft!!!) e anche una versione per Macintosh (non credo che fossimo nei dintorni della versione 12 o giù di lì), ma non hanno mai avuto un grande seguito.
    Dicevo, un programma del genere, che è stato costantemente rimaneggiato e "allargato" per 30 anni, non è facile portarlo ad un'altra piattaforma: esistono problemi e soluzioni ai bug che si sono stratificati, dei quali si è persa traccia.
    Una riprova è stato il passaggio del "giovane" Civil 3D da 32 a 64 bit (ma stessa piattaforma, stessi compilatori, stesse procedure..): gli sviluppatori ci hanno raccontato quante cose sono state riscritte da capo per aggirare gli stratagemmi dei precedenti programmatori, che a volte per velocizzare l'esecuzione del codice hanno usato qualche sintassi "non proprio pulita" e quindi incline a grossi bug (tra cui la non esecuzione del codice..) se usata tale e quale senza comprenderla.

    Eh si ma comprendere come funziona il flusso del programma lungo le "qualche milione" di linee di codice di Civil 3D (peggio di AutoCAD...) non è una operazione facile neanche per le società più grandi.

    Poi ci sono i programmi "delle terze parti", cioè quelli costruiti da società esterne sopra la piattaforma base (AutoCAD o Civil 3D stessa), che sono la fonte migliore delle soluzioni ai problemi particolari del progettista: proporre a queste società di "cambiare completamente" procedura, codice, linguaggi, piattaforma è davvero ardua.
    E' arduo perchè si tratta a volte di realtà piccole, dove aprire a nuove piattaforme significa moltiplicare istantaneamente l'investimento (e non sono tempi di vacche grasse mi pare).

    Poi per ultimi (si fa per dire) ci sono i produttori di hardware che, a dire la verità, non so quanto gradiscano la crescita di una piattaforma chiusa e proprietaria come quella della Apple. Badate bene che questo potrebbe essere lo scoglio più grosso (la "lobby" più attivamente restia a questo "switch"..)

    Fin qui i "contro", cioè le cose che potrebbero impedire il passaggio.

    A favore del passaggio c'è da dire che, per prima cosa, c'è una considerazione "filosofica" (ma abbiamo i piedi per terra, noi...): la capacità di "svecchiarsi" e rinnovarsi utilizzando le tecnologie più interessanti della Apple.
    Questa società, oltre a fare dei prodotti molto gradevoli dal punto di vista del design e della funzionalità, ha più volte rivoluzionato la propria piattaforma hardware (passaggio dal Motorola 68K al PowerPC e recentemente agli Intel x86) e software (il sistema operativo); il tutto è ovviamente facilitato (dal punto di vista pratico, ma ogni volta è una scommessa..) dalla proprietà e dal controllo completo su entrambi questi aspetti, questo ha degli indubbi vantaggi anche sulla stabilità e sulle prestazioni del sistema, poichè l'hardware e il software sono ben noti e controllati.

    Riflesso sul mondo PC questo aspetto avrebbe il vantaggio di poter lasciare ormai (in buona pace) andare la compatibilità con numerose periferiche appartenenti al passato, per non parlare dell'aspetto software.
    Entrambi questi aspetti sono ormai ben risolti dall'ausilio all'emulazione, ove necessario (chi ha bisogno di far girare un programma DOS o Windows 3.11 su una macchina attuale in maniera "nativa"??..basta un emulatore software e le prestazioni saranno sicuramente maggiori di quelle del 486 dell'epoca).

    Riflesso su AutoCAD pure ci sarebbero dei vantaggi. Parlavo prima delle vicissitudini che ci hanno raccontato i programmatori portando Civil 3D da 32 a 64 bit, ebbene, il primo effetto di questa riscrittura del codice è, per i programmatori, l'avere un codice più pulito (quindi facile da migliorare o correggere in presenza di bug), ma per gli utenti si ha un immediato miglioramento delle prestazioni (come ho scritto in questo post, tra l'altro, non è legato all'uso dei 64bit, ma al fatto che il codice è stato migliorato, per cui gli effetti si hanno anche nelle versioni "vecchie" a 32 bit).
    Non sto poi qui a ricordare che AutoCAD e i suoi figli (tra cui Civil 3D) non usano quasi per niente i "cores" (i processori ) aggiuntivi che ormai abbiamo anche in tutti i nostri portatili.

    E qui ci sono anche delle altre notizie da Autodesk che ci fanno riflettere...
    Per chi è più attento (grazie GimmiGIS), Autodesk ha, tra i suoi progetti nei "Labs", il progetto Butterfly. (invito tutti a provarlo, può tornare comodo)
    Che cos'è?
    Si tratta di un AutoCAD che funziona "in remoto", cioè su un server dedicato (che credo sia nella sede principale a San Raphael in California) a cui si accede tramite interfaccia web.
    Ormai siamo abituati a queste "web apps" come ci ha prima fatto vedere (e usare) Google e poi ora Microsoft con la nuova versione 2010 di Office, per cui abbiamo una certa familiarità.
    Vedo due possibili utilizzi, per AutoCAD.
    Il primo è immediato e molto pratico, quello cioè di chi non è in ufficio e ha la sua bella workstation con tutti i programmi installati, ma ha necessità di accedere (visualizzare e magari fare qualche piccola modifica) ai suoi disegni dal computer dell'internet point (o magari dal suo tablet in treno o aereo, e magari l'iPad.... )): con questo strumento basta che abbia un browser (non so se serva flash o Java, ma insomma ci dovremmo essere facilmente...) e la cosa è fatta. Non è come in ufficio, per funzionalità ridotto (per ora) della web application e forse per le prestazioni video, ma come dicevo si tratta di un uso più leggero.

    Il secondo utilizzo è un po' più pesante, ma ancora non perfettamente compiuto (si tratta di una technology preview, di una anteprima tecnologica): che ne pensereste se il vostro modello fosse integralmente contenuto in un server, magari molto performante e magari in remoto (si pensa molto alle società con molte sedi sparse in giro per il mondo)? Qui non si parla di un "disegno AutoCAD" ma di un modello o meglio di una serie di modelli che interagiscono tra di loro. Pensate ad esempio ad un grande edificio o a una grande opera di infrastruttura con tutti i suoi sottomodelli strutturali, impiantistici, logistici/funzionali (e chi più ne ha più ne metta..). Questo potrebbe essere un "oggettino" da qualche Terabyte di dati, non proprio agevole da muovere sul web (anche in prospettiva) e mantenere aggiornato costantemente. Non parliamo poi di quanto potrebbe pesare dal punto di vista computazionale...
    Ebbene, se le cose evolvessero in questo senso, per chi ne avesse bisogno (forse per i progetti piccoli e medi è decisamente troppo..) potrebbe essere una soluzione ideale.
    Il solo scambio di dati sul web sarebbe quello di un buon flusso video (il ritorno grafico dal server al client che sta operando sul modello) e pochi dati in input dal client remoto.
    E' una cosa possibile già da ora, ma certo va affinata la parte software.

    Quale migliore occasione che iniziare a riscrivere i pezzi del programma di gestione rendendo più recenti e modulari (per iniziare) le componenti AutoCAD?
    A quel punto passare a una o più piattaforme potrebbe essere molto facile.

    Io rimango a guardare con interesse, non tanto per il Mac (che ho avuto in un recente passato e che ho apprezzato molto), ma per tutti questi altri aspetti che mi fanno decisamente più gola.

    un saluto a tutti

    Guido