Cantitate/Preț
Produs

Nonsequential and Distributed Programming with Go

Autor Christian Maurer
en Limba Engleză Paperback – 3 iul 2025

Gestionarea concurenței și a comunicării între procese asincrone reprezintă una dintre cele mai mari provocări în ingineria software modernă. În Nonsequential and Distributed Programming with Go, autorul Christian Maurer propune o abordare sistematică pentru rezolvarea problemelor de sincronizare, de la excluderea mutuală la algoritmi complecși de explorare a rețelelor. Observăm cum utilizarea limbajului Go facilitează înțelegerea acestor concepte datorită sintaxei sale simplificate, oferind în același timp instrumente native puternice pentru programarea concurentă.

Remarcăm structura didactică a lucrării: autorul revine constant asupra acelorași exemple clasice pentru a ilustra diferite mecanisme, permițând o comparație directă între soluțiile bazate pe semafoare, monitoare sau transmitere de mesaje. Dacă Concurrent Programming: Algorithms, Principles, and Foundations de Michel Raynal v-a oferit cadrul teoretic și fundamentele științifice ale sincronizării, această carte oferă instrumentele practice și implementările concrete necesare unui programator. Mai mult, ediția a doua aduce o îmbunătățire vizuală semnificativă prin trecerea la biblioteca μU, care permite generarea de animații pentru procese precum alegerea liderului sau parcurgerea grafurilor, transformând abstracțiile matematice în procese vizibile.

Suntem de părere că includerea secțiunilor dedicate limbajelor C și Java oferă o perspectivă valoroasă asupra modului în care aceleași principii de sistem sunt adaptate în ecosisteme diferite. Volumul nu se limitează la mediul local, ci extinde analiza către sistemele distribuite, tratând riguros topologiile de rețea și algoritmii de traversare, elemente esențiale pentru dezvoltarea de aplicații scalabile și robuste în infrastructurile actuale.

Citește tot Restrânge

Preț: 38720 lei

Preț vechi: 48400 lei
-20%

Puncte Express: 581

Carte disponibilă

Livrare economică 27 mai-10 iunie
Livrare express 12-16 mai pentru 5132 lei


Specificații

ISBN-13: 9783662709283
ISBN-10: 3662709287
Pagini: 444
Dimensiuni: 168 x 240 x 24 mm
Greutate: 0.74 kg
Ediția:Second Edition 2025
Editura: Springer

De ce să citești această carte

Recomandăm această carte dezvoltatorilor care doresc să stăpânească sistemele distribuite folosind Go. Cititorul câștigă o înțelegere practică a algoritmilor de sincronizare, susținută de animații grafice și cod sursă complet. Este resursa ideală pentru a trece de la simpla utilizare a firelor de execuție la proiectarea unor arhitecturi de comunicare complexe și sigure.


Descriere

After a short chapter on basic aspects of software engineering and its realization in Go, this book introduces to nonsequential and distributed programming with Go. It systematically presents basic concepts for the synchronization and communication of concurrent processes. These include locks, semaphores, fairness and deadlocks, monitors, local and network-wide message passing, networks as graphs, network exploration, distributed depth and breadth first search, and the selection of a leader in networks. In order to make readers familiar with the concepts, the author always takes up the same classic examples. This makes learning easier, because the concepts presented can be compared more easily with the language resources. The algorithms are formulated in the Go programming language, which can be used to express numerous synchronization concepts. Due to its simple syntax, Go also offers the advantage that readers without prior knowledge can follow the basic concepts. The chapters on locks, semaphores, monitors and network-wide message passing also present some basic approaches to programming in C and Java. All source texts are available online. Besides a number of error corrections and smaller updates, in this second edition the nanouniverse nU is replaced with the microuniverse μU. This allows for beautiful animations in many places, which are not possible with the nanouniverse due to a lack of the necessary support for inputs and outputs; e.g. in the chapters on fairness, messages, farMonitors, traversals and election.