Libro · 2009 · Alexander A. Stepanov, Paul McJones
"Chiedi a un ingegnere meccanico, strutturale o elettrico fino a che punto potrebbero arrivare senza una solida base matematica, e ti diranno: 'non molto lontano.' Eppure, i cosiddetti ingegneri del software spesso praticano la loro arte con poca o nessuna conoscenza delle fondamenta matematiche di ciò che stanno facendo. E poi ci chiediamo perché il software sia noto per essere consegnato in ritardo e pieno di bug, mentre altri ingegneri consegnano regolarmente ponti, automobili, elettrodomestici, ecc., in tempo e con solo difetti minori. Questo libro si propone di rimediare a questo squilibrio. I membri del mio team di sviluppo avanzato presso Adobe che hanno seguito il corso basato sullo stesso materiale hanno tratto tutti grandi benefici dal tempo investito. Può sembrare un testo altamente tecnico destinato solo a scienziati informatici, ma dovrebbe essere lettura obbligatoria per tutti gli ingegneri del software praticanti." --Martin Newell, Adobe Fellow "Il libro contiene alcuni dei codici più belli che abbia mai visto." --Bjarne Stroustrup, Designer di C++ "Sono felice di vedere il contenuto del corso di Alex, il cui sviluppo e insegnamento ho fortemente sostenuto come CTO di Silicon Graphics, ora disponibile a tutti i programmatori in questo elegante libretto." --Forest Baskett, General Partner, New Enterprise Associates "La pazienza e l'esperienza architettonica di Paul hanno aiutato a organizzare l'approccio matematico di Alex in un edificio strutturato in modo compatto: un'impresa impressionante!" --Robert W. Taylor, Fondatore di Xerox PARC CSL e DEC Systems Research Center Elementi di programmazione fornisce una comprensione diversa della programmazione rispetto a quanto presentato altrove. La sua premessa principale è che la programmazione pratica, come altre aree della scienza e dell'ingegneria, deve essere basata su una solida base matematica. Il libro mostra che gli algoritmi implementati in un linguaggio di programmazione reale, come C++, possono operare nel contesto matematico più generale. Ad esempio, l'algoritmo di esponenziazione rapida è definito per funzionare con qualsiasi operazione associativa. Utilizzare algoritmi astratti porta a software efficienti, affidabili, sicuri ed economici. Questo non è un libro facile. Né è una raccolta di suggerimenti e trucchi per miglioramenti incrementali delle tue capacità di programmazione. Il valore del libro è più fondamentale e, in ultima analisi, più critico per la comprensione della programmazione. Per trarne il massimo beneficio, dovrai lavorarci dall'inizio alla fine, leggendo il codice, dimostrando i lemmi e facendo gli esercizi. Quando avrai finito, vedrai come l'applicazione del metodo deduttivo ai tuoi programmi assicura che i componenti software del tuo sistema funzioneranno insieme e si comporteranno come devono. Il libro presenta diversi algoritmi e requisiti per i tipi su cui sono definiti. Il codice per queste descrizioni, disponibile anche sul Web, è scritto in un piccolo sottoinsieme di C++ pensato per essere accessibile a qualsiasi programmatore esperto. Questo sottoinsieme è definito in un'appendice di linguaggio speciale coautorizzata da Sean Parent e Bjarne Stroustrup. Che tu sia uno sviluppatore di software, o un altro professionista per il quale la programmazione è un'attività importante, o uno studente impegnato, arriverai a comprendere ciò che gli autori esperti del libro hanno insegnato e dimostrato per anni: che la matematica è utile per la programmazione e che la teoria è utile per la pratica.
Opere che il catalogo Komorebi riconosce vicine a Elements of Programming per atmosfera, non per genere — anche attraversando libri, fumetti, film e serie.
Vedi tutte le opere con la stessa atmosfera