Pagina 1 di 1

[C/C++] Programmazione concorrente

Inviato: sabato 10 maggio 2014, 16:59
da alukard990
Vorrei un consiglio da chi è più esperto di me nell'ambito della programmazione concorrente: premetto che sono abituato ad usare il C++ e non molto il C, ma visto che i maggior libri di programmazione concorrente trattano questa tematica nell'ambito C è preferibile usare quest'ultimo oppure la scelta tra i 2 linguaggi è indifferente?

Re: [C/C++] Programmazione concorrente

Inviato: sabato 10 maggio 2014, 18:51
da antex
alukard990 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4580376#p4580376][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Vorrei un consiglio da chi è più esperto di me nell'ambito della programmazione concorrente: premetto che sono abituato ad usare il C++ e non molto il C, ma visto che i maggior libri di programmazione concorrente trattano questa tematica nell'ambito C è preferibile usare quest'ultimo oppure la scelta tra i 2 linguaggi è indifferente?
Niente è "preferibile" in assoluto su qualcos'altro. Che devi fare?

Io mi sono divertito per un progetto universitario a usare le boost per scrivere un server concorrente (Boost.Asio e Boost.Thread in particolare). Se tu ti trovi meglio col C++, usa questo.

Re: [C/C++] Programmazione concorrente

Inviato: domenica 11 maggio 2014, 9:14
da alukard990
Devo occuparmi di tutti i concetti base di programmazione concorrente come: semafori, monitor, shared memory ecc... .

Re: [C/C++] Programmazione concorrente

Inviato: domenica 11 maggio 2014, 13:22
da M_A_W_ 1968
alukard990 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4580620#p4580620][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Devo occuparmi di tutti i concetti base di programmazione concorrente come: semafori, monitor, shared memory ecc... .
Per il modo in cui hai posto la domanda, la risposta più corretta sarebbe: nessuno dei due linguaggi è preferibile. Esistono linguaggi che supportano nativamente i concetti della programmazione concorrente (e di quella parallela), da Ada e Smalltalk (con dialetti vari, vedi Squeak) ad ERLANG e Scala, al mio cavallo di battaglia Occam, a Clojure, al "famoso" D proposto dal padrino di Digital Mars... ci sono versioni in salsa concorrente dei migliori linguaggi funzionali, da Haskell ad ML, esiste perfino un MultiLISP se ben ricordo.

Inoltre quasi tutti ignorano che i principali linguaggi che usiamo regolarmente nel mondo delle logiche programmabili, da Verilog a VHDL al SystemC, sono inerentemente concorrenti e spesso hanno versioni anche per sistemi tempocontinui, come Verilog-AMS. A questo livello si può citare anche Esterel dell'INRIA, che peraltro è un linguaggio sincrono e di norma genera VHDL come output.

Quasi tutti i linguaggi elencati nel primo paragrafo si sono a più riprese rivelati ottimi anche a livello didattico, in corsi di vario livello. Molto più di C e C++, in effetti... questo per ampliare un po' i tuoi orizzonti.

Re: [C/C++] Programmazione concorrente

Inviato: martedì 20 maggio 2014, 11:53
da alukard990
Mi scuso per aver risposto dopo una decina di giorni ma ho avuto un po' di problemi. Per rispondere a M_A_W: purtroppo devo attenermi solo a questi 2 linguaggi (C-C++) visto che devo prepararmi per l'esame di Sistemi Operativi. Avevo posto il problema se preferire C o C++ anche perchè in rete trovo sempre esempi in C e a lezione il prof preferiva usare il C e pensavo che c'era qualche motivazione in particolare (forse usa C perchè fa parte della cosiddetta "vecchia scuola" ). In ogni caso in futuro di sicuro darò un po' del mio tempo allo studio dei linguaggi che citavi.