<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2016-05-23 0:13 GMT+01:00 Manlio Perillo <span dir="ltr"><<a href="mailto:manlio.perillo@gmail.com" target="_blank">manlio.perillo@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">> Nel 2016 praticamente tutti<br>
> quelli che hanno architettura a memoria condivisa le stanno migrando, a<br>
> parte in determinati casi specifici (e.g., embedded, kernel, possibilmente<br>
> roba come pipeline audio e video, dove hai veramente tanti dati e copiarli<br>
> diventa fastidioso).<br>
><br>
<br>
</span>A chi ti riferisci con "tutti"?<br></blockquote><div><br></div><div><br></div><div>Il fatto che un linguaggio supporti la feature, non vuole dire che la devi usare nella tua architettura.</div><div><br></div><div>Perfino in Java, che tradizionalmente era molto orientato nella direzione della memoria condivisa, quasi tutti i nuovi pezzi di concorrenza sono fatti per una strategia diversa.</div><div><br></div><div>Che so... pensa agli stream... Ma basta progettare in modo sensato cose usando gli executor e ancora una volta *non* avrai stato non locale.</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Perchè tutti i linguaggi (o meglio le loro implementazioni) attuali<br>
che conosco, tranne Erlang (ed Haskell, come caso speciale), usano<br>
memoria condivisa, anche se offrono supporto per il message passing<br>
(tramite channel).<br></blockquote><div><br></div><div>Ma non e' questione di linguaggio: e' questione di applicazione. Il linguaggio diventa rilevante solo quando non ti lascia altra scelta.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Quindi software normale scritto in questi linguaggi usa memoria condivisa.<br></blockquote><div><br></div><div>Mah... diciamo che non sono d'accordo. *Puoi* usare memoria condivisa. Certo. Questo non vuole dire che sia considerata una best practice farlo.</div><div>Anzi.</div><div><br></div><div>E mi sembra un trend dell'industria in un circolo virtuoso con quelli che fanno linguaggi e librerie. *Oggi* prova a presentare un design document fatto tutto a botte di synchronized e vediamo come va a finire (certo, se chi fa la review e' rimasto a come si faceva software negli anni '90 c'e' anche caso che passi...).</div><div><br></div><div><br></div><div> </div></div><div><br></div>-- <br><div class="gmail_signature"> .<br>..: -enrico-</div>
</div></div>