2013/12/24 Enrico Bianchi <enrico.bian...@ymail.com> Premetto: quando parlo di Pascal intendo FreePascal e, ovviamente, Lazarus > (quindi si, ObjectPascal e` decisamente supportato)
Supportato... da chi? > > Perche' Pascal non ha le goroutine... >> > > Da quello che vedo, le goroutine permettono una programmazione parallela > abbastanza semplice rispetto ad altri modelli. Posto che Pascal ha il > supporto a OpenMP e OpenCL, puoi sempre derivare una classe da TThread e > avviare il thread con la procedura start. Tra l'altro, ad occhio, il > modello di parallelizzazione con le goroutines di Go e` di tipo threading, > o sbaglio? 1. OpenMP e' una cosa, OpenCL e' un'altra. Entrambi sono pensati per problemi di *parallelismo* non di *concorrenza*. 2. Se e' per quello su FreePascal ci sara' OpenMPI. Ma nel 2013 fare concorrenza con OpenMPI, dai... capisco se non ci fosse altro, ma buon 1994 a tutti! 3. Go e' un linguaggio *pensato* per la concorrenza... che lo rende 'un po' diverso' da Pascal. E no, le goroutines sono una bestia molto diversa da un TThread. Insisto, nel 2013 pensare a "posso sempre ereditare da Thread" come soluzione ad un problema di concorrenza e' un po' come dire, a cosa servono gli oggetti? con if, goto e variabili globali faccio tutto. perche' Pascal non ha il supporto che ha Go. >> > Che intendi per supporto? Da quello che so (non ho visto, ammetto > l'ignoranza), per Go c'e` il supporto di Google e basta, mentre per > Pascal/Delphi hai un supporto decisamente vasto, soprattutto in virtu` > dell'anzianita` del linguaggio. Se vogliamo sindacare a tal proposito, si, > l'unico supporto multipiattaforma e` quello che trovi con FreePascal, in > quanto Embarcadero & Co. sono orientati solo sull'ambito Windows, ma anche > qui le cose si stanno muovendo (poco, pero`) Ma vasto cosa? Quanti progetti mission critical o comunque di una certa scala vengono deployati oggi in Pascal? Go sappiamo che ce la fa, lo vediamo tutti i giorni. Si trova gente che lo fa e che all'occorrenza uno puo' andare a fracassare per aiuto. Il fatto che Pascal sia anziano, non vuole dire che la moderna implementazione sia sufficientemente testata per ste cose. Cioe', capisco se uno ci scrive due utility a linea di comando oppure ci fa l'IDE (in Embarcadero) o > > > Perche' trovo piu' librerie per Go che per Pascal (almeno per fare roba >> moderna)... >> > Definisci roba moderna, per favore. Dire "faccio roba moderna" e` come > dire "so cucinare". Per il discorso librerie, l'unica cosa che so e` che Go > ha un repository centrale, mentre per FreePascal/Lazarus devi cercare in > giro (anche se c'e` da dire che, a parte qualche libreria particolare, le > librerie per Delphi sono compatibili e distribuite per Lazarus) Ommadonna, non e' importante "cosa". Il mondo IT viaggia abbastanza veloce e il fatto e' che dietro Go c'e' un sacco di gente che lo tiene "aggiornato". Che so... facciamo un backend per qualcosa che va a websocket? JSON? Binding per un qualche NoSQL a caso? Libreria per interagire con le API di "nuovo servizio cool uscito due mesi fa"? > > > Perche', alla fine dei conti, Pascal e' dire tutto e nulla... dovrei >> usare ObjectivePascal per avere qualcosa di sano. >> > Ni, come in Python hai sia la programmazione procedurale che quella ad > oggetti, e nulla di impedisce di usare una sola delle due (o tutte e due > assieme) > > Insisto, Pascal e' dire tutto e nulla. Ci sono piattaforme ben diverse come features (a livello di linguaggio, libreria, etc) chiamate Pascal. Oggi l'unica sensata e' FreePascal, sia perche' ObjectivePascal pone fine, sulla scia di Borland, a molte delle idiozie che aveva Pascal, sia perche' e' l'unica open e con un minimo di supporto. Rimane comunque una cosa relativamente di nicchia. -- . ..: -enrico-
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python