Articoli in Italiano
 

Copyright: tutti gli articoli ed i report sono sotto copyright da parte dell'autore e/o dell'editore. La riproduzione o la traduzione di ogni parte senza il permesso dell'autore e dell'editore costituisce una violazione della legge.

UML
Progettare con UML ed il colore: facciamo parlare la struttura
Computer Programming N. 145, Aprile 2005
Colori ed interazioni stereotipiche in UML (scritto con Andrea Baruzzo)
Diagrammi, layout e gestione della complessità
Computer Programming N. 136, Giugno 2004
Dependencies go up! (scritto con Andrea Baruzzo)
Analisi&Design
Systematic Object Oriented Design
Computer Programming No. 76
Un approccio sistematico per la progettazione ad oggetti
Architettura di Sistemi Record-Oriented, Parte 1
Computer Programming No. 78
Un esempio di architettura per sistemi business (parte 1/3)
Architettura di Sistemi Record-Oriented, Parte 2
Computer Programming No. 79
Un esempio di architettura per sistemi business (parte 2/3)
Architettura di Sistemi Record-Oriented, Parte 3
Computer Programming No. 80
Un esempio di architettura per sistemi business (parte 3/3)
Systematic Object Oriented Design, Parte 1
Computer Programming No. 81
Miniserie sul SysOOD (parte 1)
Systematic Object Oriented Design, Parte 2
Computer Programming No. 85
Miniserie sul SysOOD (parte 2)
Systematic Object Oriented Design, Parte 3
Computer Programming No. 87
Miniserie sul SysOOD (parte 3)
Systematic Object Oriented Design, Parte 4
Computer Programming No. 89
Miniserie sul SysOOD (parte 4)
Principles&Techniques
Programmazione ad Oggetti e Programmazione Generica
Computer Programming No. 62
Come scegliere tra template e polimorfismo ad oggetti
Oggetti ed Interfacce
Computer Programming No. 63
Il ruolo delle interfacce nella riusabilità ed estendibilità
Principi, Tecniche e Trucchi
Computer Programming No. 64
I trucchi di programmazione sono una calamita per programmatori,ma è bene osservare qualche cautela prima di usarli
Ipse Dixit
Computer Programming No. 64
Una conversazione con Alexander Stepanov su OOP e programmazione generica
Oggetti e Thread
Computer Programming No. 65
I diversi modelli di oggetti attivi.
Oggetti e Wizard
Computer Programming No. 66
Con una buona libreria, servono i Wizard?
Oggetti e Componenti COM
Computer Programming No. 67
Oggetti e componenti nella progettazione e riuso del software
Architettura di Sistemi Reattivi, Parte 1
Computer Programming No. 68
Un esempio completo di design architetturale (parte 1/3)
Architettura di Sistemi Reattivi, Parte 2
Computer Programming No. 69
Un esempio completo di design architetturale (parte 2/3)
Architettura di Sistemi Reattivi, Parte 3
Computer Programming No. 70
Un esempio completo di design architetturale (parte 3/3)
Ereditarietà nei progetti reali
Computer Programming No. 71
Uso ed Abuso dell'ereditarietà
Oggetti e Quantità
Computer Programming No. 72
Come incapsulare la nozione di quantità.
Bugs Everywhere
Computer Programming No. 73
Gli errori nel ciclo di vita del software.
C++ Language
Il problema della "fragile base class" in C++
Computer Programming No. 41
Prevenire ed eliminare il problema della "fragile base class" in C++
Lo Standard ANSI/ISO per il Linguaggio C++
Come opera il comitato ANSI/ISO C++
Computer Programming No. 42
Ottimizzazioni e C++
Computer Programming No. 47
Le tecniche di ottimizzazione più importanti, le più promettenti innovazioni, e come aiutare il compilatore a generare codice più efficiente.
Enumerati come Tipi Distinti in C++
Computer Programming No. 48
Definire dei tipi enumerati che si comportano come veri e propri tipi distinti.
Algoritmi come Metaprogrammi Template in C++
Computer Programming No. 56
Algoritmi specializzati e costanti compile-time con i metaprogrammi.
Antimorfismo in C++
Computer Programming No. 59
Classi derivate con default diversi dalla classe base.
Slide di conferenze
Le slide di alcuni miei interventi sul C++ a diverse conferenze sono disponibili a partire dalla sezione dedicata alla formazione.
ANSI/ISO C++
Return Value Optimization, Named Value Optimization e Costruttori Operazionali
C++ Informer No. 1, Dicembre 1997
Empty Base Optimization
C++ Informer No. 2, Gennaio 1998
Delete: cosa cambia?
C++ Informer No. 3, Febbraio 1998
Costruttori: tutte le novita'
C++ Informer No. 4, Aprile 1998
Template e nomi dipendenti
C++ Informer No. 5, Giugno/Luglio 1998
I nuovi cast
C++ Informer No. 6, Gennaio 1999
Il vero auto_ptr
C++ Informer No. 7, Aprile 1999
Credevo fosse standard...
C++ Informer No. 8, Giugno/Luglio 1999
Template, Friend e Namespace
C++ Informer No. 9, Settembre/Ottobre 1999
Underscore: cosa e' legale, cosa no, e perche'
C++ Informer No. 10, Gennaio 2000
C++, Java, C#: qualche considerazione
C++ Informer No. 12, Ottobre 2000
No Limits C++
Tabelle Compile-Time come Metaprogrammi Template
C++ Informer No. 1, Dicembre 1997
Un "forName/newInstance" in C++
C++ Informer No. 2, Gennaio 1998
Una Backdoor di Friendship
C++ Informer No. 3, Febbraio 1998
Impedire lo Slicing
C++ Informer No. 4, Aprile 1998
Operatori User-Defined
C++ Informer No. 5, Giugno/Luglio 1998
Meta-morfismo in C++
C++ Informer No. 6, Gennaio 1999
Overloading sul tipo del risultato
C++ Informer No 7, Aprile 1999
Funzioni virtuali nei costruttori
C++ Informer No. 8, Giugno/Luglio 1999
Misurare un array a compile-time
C++ Informer No. 9, Settembre/Ottobre 1999
Eccezioni, stringhe e sicurezza
C++ Informer No. 10, Gennaio 2000
Template Circoscritti
C++ Informer No. 11, Aprile 2000
Deprecation Java-like
C++ Informer No. 12, Ottobre 2000
Interviste
Intervista a Bjarne Stroustrup
Computer Programming No. 50
Il progettista del C++ risponde ad alcune domande sul passato, presente e futuro del linguaggio.
Intervista a Niklaus Wirth
Computer Programming No. 58
Il progettista di Pascal, Modula 2 ed Oberon risponde ad alcune domande sul presente ed il futuro dello sviluppo del software.
Intervista a Grady Booch
Computer Programming No. 59
Grady Booch risponde ad alcune domande su UML, i CASE tool, ed altro ancora.
Intervista a Bertrand Meyer
Computer Programming No. 61
L'ideatore del Design by Contract e progettista di Eiffel discute di programmazione, analisi e design.
Tematiche Object Oriented
Model-View-Controller, Document/View, E/P/T-Glue: Evoluzione di un Paradigma
Computer Programming No. 49
Dal Model-View-Controller al Document/View ed oltre.
SELF, un moderno linguaggio object oriented ed il suo compilatore
Computer Programming No. 52
Un linguaggio object-based che ha introdotto interessanti innovazioni nei compilatori.
Introduzione della Tecnologia ad Oggetti in Azienda: Gestione e Prevenzione dei Rischi
Proceedings della Conferenza "Tecnologia ad Oggetti per l'Industria", dicembre 1996
Gestire e prevenire i rischi più comuni legati all'OOA/OOD/OOP.
Slide disponibili a partire dalla sezione dedicata alla formazione.
Vari
Evoluzione della programmazione in ambiente Windows
Computer Programming No. 33
Il futuro della programmazione Windows.
Debugging: Tecniche e Tools
Computer Programming No. 43
Tecniche e strumenti per individuare ed eliminare gli errori.
Soft-ICE/W, un debugger a basso livello per Windows
Computer Programming No. 43
Un debugger di sistema per Windows.
Evoluzione degli Ambienti Operativi
Scritto per IBM SEMEA
Le possibili evoluzioni dell'interazione Uomo/Macchina.
Il Duemila Nascosto
Computer Programming No. 82
Anno 2000 e Sistemi Embedded.
La serie "Lezioni di Object Oriented Technology"
Introduzione
Computer Programming No. 34
OOT ed il ciclo di vita del software.
Object Oriented Analysis
Computer Programming No. 35
Introduzione all'analisi orientata agli oggetti.
Relazioni tra Oggetti
Computer Programming No. 36
Completare il modello con le relazioni.
La Rappresentazione Grafica dei Modelli
Computer Programming No. 37
Rappresentare un modello graficamente.
Messaggi, Use Case e Metriche
Computer Programming No. 38
Il modello dinamico e la qualità del modello.
Il Design Architetturale
Computer Programming No. 39
Introduzione al design architetturale.
Architettura: un esempio
Computer Programming No. 40
L'importanza dell'architettura su un esempio concreto.
Design: Dominio del Problema e della Soluzione
Computer Programming No. 41
Design, dal problema alla soluzione.
Design: Gestione dei Dati
Computer Programming No. 42
Normalizzazione e Persistenza degli oggetti.
Design: Task e Thread
Computer Programming No. 43
L'influenza di multitasking e multithreading nel design.
Design: Interfaccia Utente
Computer Programming No. 45
I modelli di interfaccia e interazione uomo/macchina.
Recensioni
Tog on Software Design
Bruce Tognazzini
Pattern Languages of Program Design, Vol. 3
Autori vari
Patterns of Software Systems Failure and Success
Capers Jones
Software Requirements & Specification
Michael Jackson
The Unified Software Development Process
Booch, Jacobson, Rumbaugh
Object Oriented Software Construction, 2nd edition
Bertrand Meyer
UML Distilled
Martin Fowler
UML in a Nutshell
Sinan Si Alhir
The Design and Evolution of C++
Bjarne Stroustrup
C++ and C Debugging, Testing, and Reliability
David A. Spuler
Programmare in C++, seconda edizione
Bruce Eckel
MFC Internals
George Shepherd, Scot Wingo
Extending the MFC Library
David A. Schmitt
Inside Visual C++
David J. Kruglinsky
Visual C++ Windows Shell Programming
Dino Esposito
Inside Windows NT
Helen Custer
Cross Platform
William Murray III, Chris Pappas
Advanced Windows NT
Jeffrey Richter
Windows NT Network Programming
Ralph Davis
Progettare Applicazioni per Win32
Dino Esposito
Multithreading Applications in Win32
Jim Beveridge, Robert Wiener
Systems Programming for Windows 95
Walter Oney
Programming Plug and Play
James Kelsey
C++ Power Paradigms
Mark Watson
The Stanford GraphBase
Donald E. Knuth
Randomized Algorithms
Rajeev Motwani, Prabhakar Raghavan
Graphics Gems I
Autori vari, editor Andrew Glassner
Data Structures and Algorithms
Aho, Hopcroft, Ullman
Algoritmi + Strutture Dati = Programmi
Niklaus Wirth
The Art of Computer Programming, second edition
Volume 1: fundamental algorithms
Volume 2: seminumerical algorithms
Volume 3: searching and sorting
Donald Knuth
C++ Components and Algorithms
Scott Robert Ladd
Il Manuale Client Server
Jeffrey D. Schank
Client/Server Computing
Patrick Smith