[Flug] Voi che ci capite a pacchi: mysql
Massimiliano Masi
max@mascanc.net
Mar 18 Mar 2014 17:10:47 CET
Oi,
Il giorno 18/mar/2014, alle ore 17:00, Gian Uberto Lauri <saint@eng.it> ha scritto:
> I paradigmi sono una formalizzazione della disciplina, e senza
> disciplina non si va da nessuna parte programmando.
Hai detto bene: una formalizzazione. E quindi viene con se con dei bei
risultati di correttezza e completezza.
>> Perché il problema non è solo nella programmazione in sé, ma anche
>> come il modello (il programma) interagisce con la realtà: ovvero,
>> la progettazione del software.
>>
>> E li' Java e l'OOP aiutan tantissimo.
>
> Ni. La programmazione OOP porta a creare oggetti il cui stato può
> essere mutato in maniera controllata (ovvero nascondendo ai
> programmatori indisciplinati i dettagli ed impedendo loro gli "sporchi
> trucchi").
L'incapsulamento è solo una parte. Però c'è anche chi dice che
"inheritance breaks encapsulation". Un oggetto non è solo una struttura
dati che ha dei "puntatori a funzione" che puoi usare per cambiare lo
stato. C'è tutto un suo perché dietro, ci sono i concetti di polimorfismo,
di precondizioni, di garanzie, di contratti, di TDD, di mocking, ecc....
Roba da non ignorare.
Con l'OOP puoi sempre fare tanti trucchi, avoglia, sempre piu' sporchi.
Solo che ora c'hanno il nome cambiato e si chiamano (Anti)Pattern.
>
> Ma non aiuta per nulla nel momento in cui devi gestire la concorrenza
> spinta, anzi, il modo di pensare OOP porta a scrivere codice meno adatto
> alla concorrenza.
Io penso che questo sia irrilevante. Anzi. Il concetto di oggetto immutabile,
il concetto, appunto, di incapsulamento, è un aiuto enorme alla concorrenza.
E poi, dipende quale concorrenza: un thread, un servizio, che cosa?
Anche il target ormai si sposta. Oggi la concorrenza è gestita sempre piu' incapsulata,
che sia un servizio web o un servizio REST ***
Il multithreading si tende a nasconderlo, e lasciarlo all'App server.
Il multithreading è storia, secondo alcuni. Chi mai sviluppa applicazioni
multithread? E in ogni caso, ci sono i pattern di Doug Lea, di java
concurrency in practice che sono sicuri e che fanno parte del bagaglio di
ogni programmatore che si rispetti. Il JMM è ben strutturato
>> Come diceva il signor C++, un grandissimo improvement del C++11 è
>> il fatto che possiamo non usare i puntatori.
>
> C++ un improvement?
>
Eppero! Certo! Chiedi a google se C++ è un improvement!
Il C è troppo vecchio!
> Si, il garbage collecting aiuta coi programmatori che non fanno le
> free().
"un buon linguaggio deve poter limitare la possibilità di far commettere errori al progammatore"
è la base che ha fatto progredire lìinformatica.
> Ma lo paghi (lock completo della JVM quando va in esecuzione, e se
> l'impronta in memoria è grossa....)
--
Anger is a gift, http://www.mascanc.net/~max
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: signature.asc
Tipo: application/pgp-signature
Dimensione: 496 bytes
Descrizione: Message signed with OpenPGP using GPGMail
URL: <http://lists.linux.it/pipermail/flug/attachments/20140318/66f084ec/attachment.sig>
Maggiori informazioni sulla lista
flug