Programmazione parallela e distribuita

Il termine “programmazione parallela” significa, in poche parole, sviluppo di programmi che eseguono diversi compiti contemporaneamente, in parallelo. La “programmazione distibuita”, invece, si può vedere e definire come programmazione parallela svolta su due o più dispositivi interconnessi via Internet o intranet.

Per quanto riguarda la programmazione parallela, ma non distribuita, i nostri corsi trattano il multithreading con i thread POSIX, e per quanto riguarda la programmazione parallela e distribuita, c’è l’imbarazzo della scelta. Partendo dagli elementari socket TCP/IP, per i quali offriamo corsi pressoché in tutti i linguaggi del nostro catalogo. Offriamo anche delle soluzioni a un più alto livello, per i linguaggi che le supportano, tutte con implementato il paradigma di programmazione a oggetti: CORBA, RMI, RMI-IIOP e Pyro. CORBA è uno standard sviluppato dall’Object Management Group, ed è implementabile praticamente da tutti i linguaggi, anche quelli non intrinsicamente a oggetti (basta creare delle interfacce). Le altre tre tecnologie, invece, sono specifiche solamente per alcuni linguaggi di programmazione.