1. 12

Buongiorno a tutti!

Piacere, sono Marco Cantu ed ho accettato ben volentieri di partecipare a questo ask me anything di Gambe.ro!

Sono qua per rispondere alle domande fino alle 16

Di cosa mi occupo? Sostanzialmente programmazione, con diversi linguaggi ma in particoalre Delphi, che viene utilizzato soprattutto per sviluppo client Windows ma anche mobile e web server / web service. Nel mondo viene utilizzato molto piu’ di quanto sembri all’apparenza, e avete sicuramente usato applicazioni scritte con Delphi.

Io ha lavorato su su Delphi oper 25 anni, prima Pascal e C++. Dopo anche JavaScript e un po’ di Java e C#. Su Delphi ho scritto una ventina di libri pubblicati in USA, doversi tradotti in italiano (tra Apogeo e Mondadori). Ho fatto consulenza e corsi come indipendente per molti anni, tenendo conferenze in quasi tutti i continenti. Da 6 anni sono Product Manager per Embarcadero, attuale proprietario di Delphi, e mi occupo di guidare l’evoluzione del prodotto.

Lavoro per un’azienda americana ma dall’Italia, in remoto, anche questa esperienza interessante. Seguo non solo il prodotto ma anche l’evoluzione dei tool di sviluppo “concorrenti” e dei sistemi operativi e loro SDK.

Qualche link:

A disposizione

  1.  

  2. 4

    Ciao Marco, grazie per l’AMA. Perdona se la domanda ti risulterà provocatoria, ma qual è il vantaggio che un linguaggio di programmazione closed source rispetto alle soluzioni più trendy del momento, che ovviamente sono “Proudly open source” con tanto di cuoricino e magari hanno un comitato centrale di decisione che è tutto fuori che aperto?

    1. 4

      No figurati, e’ ovvio che i linguaggi open sono uno dei nostri principali concorrenti – e per buone ragioni (quelli veri intendo, non quelli che fanno finta di esserlo). Il vantaggio e’ avere un prodotto stabile (beh, rispetto al mondo JavaScript e’ facile) e che si focalizza sulla produttivita’ dei programmatori, invece che magari aggiungere funzioni che piacciono ai nerd ma servono meno alle aziende.

      Il fatto che un linguaggio sia open ma di Google o Facebook, significa che se le aziende dietro cambiano interesse, e’ come il mondo proprietario – ed e’ piu’ facile che loro cambino interesse, perche’ non hanno un guadagno diretto. Per noi vendere tool e’ il nostro unico business, quindi dobbiamo essere orientati ai nostri clienti – che sono programmatori o i loro manager.

      Io reputo che la scelta andrebbe fatta sulla tecnologia, e quindi valutando le funzionalita’ e i limiti di uno strumento. Spesso inveve la moda o la tendenza hanno un peso decisivo. Detto questo non c’e’ uno strumento migliore in assoluto, a seconda del tipo di progetto e di contesto ci sono scelte interessanti o meno.

      Per lo sviluppo Windows, non credo esistano soluzioni sia open che a pagamento che hanno la stessa completezza, qualita’ e stabilita’ nel tempo. La stabilita’ e’ spesso un punto debole di Microsoft (che ha regolarmente cambiato idea su come sviluppare un client Windows ogni 3 o 4 anni) ma anche di molti progetti open, che richiedono continui e costanti aggiornamenti non solo del tool ma anche del codice che uno ha scritto.

      1. 2

        aggiungere funzioni che piacciono ai nerd ma servono meno alle aziende

        Riflettendo sui sistemi liberi che conosco (da Scheme, a Python, a Lua, a Haskell etc…), onestamente non mi vengono in mente esempi. Sono però certo che si possa sempre imparare da simili horror stories: puoi condividere un paio di casi in cui questo comportamento di piattaforme libere abbia causato problemi aziendali?

        dobbiamo essere orientati ai nostri clienti – che sono programmatori o i loro manager.

        Però nella tua analisi non tieni conto dell’effetto rete, cui i manager sono piuttosto attenti.

        Adottare una piattaforma legacy (in senso positivo: dotata di forte stabilità e retro-compatibile) di nicchia può costituire un rischio sia per l’azienda, che sarà costretta a pagare di più ogni sviluppatore a parità di talento, sia per gli sviluppatori che, pur guadagnando di più all’ora, potrebbero essere costretti a collocarsi su un mercato globale per trovare commesse.

        Non credi che i limiti dell’ecosistema libero (e/o open) intorno a Delphi finisca per limitarne fortemente il mercato?

        La stabilita’ e’ spesso un punto debole di Microsoft

        Da un punto di vista utente non posso darti torto (anche se bisogna ammettere che Windows XP, 7 e 10 sono stati accettabili). Ma come sviluppatore non direi: .NET 3.5 è ancora supportato.

        Microsoft si sta semplicemente trasformando in IBM: non è più capace a copiare innovare.

        1. 1

          si focalizza sulla produttivita’ dei programmatori, invece che magari aggiungere funzioni che piacciono ai nerd ma servono meno alle aziende.

          lunghi da me da voler fare polemica, ma questa è una affermazione senza alcun fondamento degna del buon Ballmer dei tempi d’oro. Visto dall’esterno non fa altro che confermare pregiudizi verso Delphi e i suoi utilizzatori.

      2. 3

        Ciao Marco, piacere di conoscerti e grazie per questa occasione di confronto.
        Se posso approfittare della tua prospettiva, ho molte domande sulla famiglia di linguaggi derivati dal fantastico lavoro di Wirth. Ecco le prime:

        1. Al liceo amai moltissimo Pascal e fui sorpreso di vederlo rapidamente sostituito da C e derivati. Non ho mai capito cosa abbia determinato questa “vittoria” e nel tempo mi sono fatto un’idea geopolitica della questione: secondo le peggiori previsioni di Dijkstra, non ha vinto C su Pascal, ma gli USA (Bell Labs) sull’Europa. Qual’è la tua prospettiva in proposito?
        2. Per quanto ne so, nonostante FreePascal e Lazarus esistano da decenni, Pascal e Delphi hanno un ecosistema libero ridottissimo: sapresti spiegare perché? Pensi ci sia spazio di manovra per espandere questi linguaggi in questo settore?
        3. Cosa pensi dell’ultima creazione di Wirth, Oberon-07?

        Più in generale, cosa pensi dell’evoluzione corrente dei linguaggi di programmazione?
        JavaScript mostra al di là di ogni ragionevole dubbio che qualcosa sta andando tremendamente storto, ma cosa secondo te?

        1. 2
          1. E’ vero che dagli USA c’e’ sempre stata molto sospetto sui linguaggi di programmazione inventati altrove (ad esempio Ruby) e quindi storicamente Pascal e Delphi sono diventati e rimasti piu’ popolari in Europa, Sud America, Asia che in USA. Pero’ in questo modo tutto il mondo Pascal ha perso visibilita’, visto che sono gli USA a trainare. Comunque sono stati poi Java e C# (dello stesso autore di Delphi) ad avere spinto verso linguaggi con le graffe (curly brace langauges)

          2. Ci sono progetti open legati al Pascal ma hanno poco sostegno e non sono alla pari della versione commerciale (la nostra, ;-). Alla fine le aziende ancora attive su Delphi, e sono molte centinaia solo in Italia, accettano i costi della licenza… Ci sono componenti di terze parti come TMS che supportano anche FreePascal, comunque

          3. Ha seguito Wirth fino a Modula-2 e Modula-3, poi mi sono un po’ perso. ma le stess idee di fondo renstano in Delphi…

          1. 2

            Sull’evoluzione dei linguaggi di programmazione ci sarebbbe molto da dire. Certamente la popolarita’ non rifletta la qualita’. javaScript e’ diffuso solo perche’ funziona dovunque, ma l’idea di spingere JavaScript sul desktop (soprattutto Windows) mi sembra poco sensata. Ormai piccoli tool pesano molti GB solo perche’ hanno all’interno NodeJS, Apache, Chromium – tutto in un applicazione Windows. Ma JavaScript inizia ad avere una tecnologia concorrente nei browser, WebAssembly, che puo’ portare ad una rivoluzione

          2. 3

            Visto che ci sono state un po’ di domande su chi usa (ancora) Delphi, vi giro questo link: https://delphi.fandom.com/wiki/Good_Quality_Applications_Built_With_Delphi

            1. 2

              Buongiorno Marco,

              grazie dell’AMA. Ci scusiamo per un probabile netsplit che sta bloccando alcuni utenti dall’accedere.

              Parto io con una domanda: qual è la realtà di Delphi oggi? Per chi è ancora un’opzione valida? Secondo te in quali spazi meriterebbe maggiore adozione?

              1. 3

                Anch’io ho avuto difficolta’ ad accedere, per cui ho iniziato a rispondere tardi. Ci sono.

                Oggi Delphi e’ molto nascosto ma diffuso. In Italia ci sono software contabili e gestionali (inclusa una soluzione open), una delle principali soluzioni di paghe, software per i CAF (dichiarazioni dei redditi), software per progettazione e gestione edifici, assicurazioni, conservatoria documenti… giusto per fare solo alcuni accenni.

                All’estero a parte l’esempio emblematico di Skype (la versione Windows tradizionale, non Store) ci sono software in tutti i settori, molta automazione industriale, le biglietterei di teatri musei e parchi divertimenti (tra Gardaland e Disneyland), anche applizioni militari, nel mondo televisivo – per la possibilita’ di fare grafica 3D molto veloce… e potrei andara avanti. Uno dei principali software mondiali per disegnare CPU e’ fatto in Delphi

              2. 2

                Da 6 anni sono Product Manager per Embarcadero, attuale proprietario di Delphi, e mi occupo di guidare l’evoluzione del prodotto.

                La domanda sorge spontanea: quali sono le direzioni, specie in termini di language features, verso cui si vuole far evolvere Delphi?

                Un’altra domanda. Non sono sicuramente la prima persona a dirti che se penso a Delphi mi viene in mente un linguaggio di nicchia e che ha fatto il suo corso. Come vivete questo problema in Embarcadero e nella community Delphi? Ci sono iniziative per promuovere il linguaggio e il relativo stack, oppure l’attività è più orientata a stabilizzare le codebase e i clienti preesistenti di Delphi?

                1. 3

                  In termini di evoluzione del linguaggio di programmazione, il riferimento principale sono gli altri linguaggi della stessa famiglia (come C#, Java, o C++). Per C++ abbiamo anche un nostro compilatore, basato su Clang LLVM. Pero’ l’evoluzione si scontra con utenti molto lenti a cambiare e la necessita’ di restare molto compatibili con i miliardi di linee di codice esistenti scritte in Delphi. Abbiamo introdotto di recente alcuni meccanismi di type inference (complessi in linguaggio compilato) e stiamo lavorando su record managed. Ma l’altra evoluzione e’ nei sistemi operativi supportati. Delphi oggi e’ una famiglia di 10 compilatori!

                  Certo che Delphi ha associato l’idea di un linguagigo vecchio e ormai non piu’ usato. Ma non e’ cosi’. Certo andare contro questo pregiudizio costituisce una fatica molto grande e parte del nostro marketing. L’iniziativa principale che e’ stata fatta per uscire da questo stato e’ una Community Edition di Delphi per studenti, hobbysti, pensionati, start-up senza fatturato… permette gratuitamente di sviluppare per Windows, Android, iOS, macOS…

                  Come prodotto la spinta e’ verso il mobile, dove abbiamo una soluzione unica in termini di sviluppo multi-piattaforma con un unico sorgente, ma ovviamente e’ un mercato molto complesso