Edsger Dijkstra
Biografia Dijkstra ha studiato fisica teorica all'Università di Leida. Ha lavorato come ricercatore per la Burroughs Corporation agli inizi degli anni '70. Nel 1972 ha ricevuto il Premio Turing. Ha lavorato all'Università di Tecnologia di Eindhoven in Olanda e in seguito tenne la cattedra di informatica all'Università del Texas di Austin. Si ritirò nel 2000. È morto il 6 agosto 2002 dopo una lunga agonia dovuta ad un cancro. Attività I suoi più importanti contributi all'informatica sono... — | approfondisci »
Sistema Operativo THE
Il THE fu il primo sistema operativo progettato a strati e venne realizzato alla Technische Hogeschool Eindhoven nei Paesi Bassi da Edsger Dijkstra (1968) e dai suoi studenti.
Il sistema THE era un semplice sistema batch per un computer olandese, l'Electrologica X8, che aveva 32 K di parole a 27 bit. Il sistema fu notato principalmente per il suo progetto semplice e lineare, soprattutto per la sua struttura a livelli, e per l’uso di un gruppo di processi concorrenti che impiegavano semafori... —
| approfondisci »
Algoritmo di Dijkstra
L algoritmo di Dijkstra deve il suo nome all'informatico Edsger Dijkstra e permette di trovare i cammini minimi (o Shortest Paths, SP) in un grafo ciclico con pesi non negativi sugli archi: in particolare l'algoritmo può essere utilizzato parzialmente per trovare il cammino minimo che unisce due nodi del grafo, totalmente per trovare quelli che uniscono un nodo d'origine a tutti gli altri nodi o più volte per trovare tutti i cammini minimi da ogni nodo ad ogni altro nodo. Tale algoritmo trova... —
| approfondisci »
Software crisis
, chiedevano di minimizzare i costi dello sviluppo ed i tempi.
Il concetto di software crisis era emerso alla fine del 1960. Un vecchio uso del termine era in ACM Turing Award Lecture, "The Humble Programmer" (EWD340), di Edsger Dijkstra del 1972 pubblicato in Communications of the ACM.
Dijkstra affermava: "The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no... —
| approfondisci »
GOTO
strutturata senza goto
Linguaggio C/C++
Esempio di utilizzo dell'istruzione goto
Esempio di programmazione strutturata senza goto
Voci correlate
Collegamenti esterni
• Go To Statement Considered harmful (Edsger W. Dijkstra) Testo chiave nelle discussioni sulla programmazione strutturata e l'uso del GOTO.
... —
| approfondisci »
Considered harmful
In informatica e discipline correlate, considered harmful è una frase utilizzata popolarmente nei titoli di diatribe e altri saggi critici (ci sono almeno 65 lavori di questo tipo ). È stata resa popolare dalla lettera di Edsger Dijkstra Go To Statement Considered Harmful, pubblicata nel Marzo 1968 e Communications of the ACM (CACM), nel quale criticizza l'uso eccessivo di istruzioni GOTO nei linguaggi di programmazione dell'epoca e sosteneva invece la programmazione strutturata. Il titolo... —
| approfondisci »
Object Constraint Language
L'Object Constraint Language o OCL è un linguaggio di specifica formale inizialmente proposto come estensione per il linguaggio di modellazione object-oriented UML e successivamente (2003) entrato a... —
| approfondisci »
Algoritmo di Dekker
L'algoritmo di Dekker, noto anche come algoritmo di Dijkstra, costituisce una soluzione completa al problema della mutua esclusione nella coordinazione decentrata di processi (sincronizzazione), impedendo lo stallo (deadlock) ed assicurando che soltanto un processo alla volta possa eseguire una sezione critica (serializzazione). Tale algoritmo è attribuito al matematico olandese Th. J. Dekker da Edsger W. Dijkstra nel suo manoscritto sui processi cooperanti sequenziali .
Schema
Quella che... —
| approfondisci »
Semaforo (informatica)
In informatica, un semaforo è una struttura dati gestita da un sistema operativo multitasking per sincronizzare l'accesso a risorse condivise tra task (cioè processi o thread). È composta da una variabile intera e da una coda di processi.
Tale concetto è stato inventato da Edsger Dijkstra, e usato per la prima volta nel sistema operativo THEOS.
Operazioni sui semafori
Il numero contenuto nel semaforo rappresenta il numero di risorse di un certo tipo disponibili ai task. Un caso particolare... —
| approfondisci »
Problema dei filosofi a cena
Il problema dei filosofi a cena è un esempio che illustra un comune problema di controllo della concorrenza in informatica. Si tratta di un classico problema di sincronizzazione fra processi paralleli.
L'esempio fu descritto nel 1965 da Edsger Dijkstra, che se ne servì per esporre un problema di sincronizzazione. Cinque filosofi siedono ad una tavola rotonda con un piatto di spaghetti davanti, una forchetta a destra e una forchetta a sinistra (bastoncini cinesi secondo un'altra versione). Ci... —
| approfondisci »
- Chiedersi se un computer possa pensare non è più interessante del chiedersi se un sottomarino possa nuotare.
- L'informatica non riguarda i computer più di quanto l'astronomia riguardi i telescopi.
- Il test di un programma può essere usato per mostrare la presenza di bug, ma mai per mostrare la loro assenza. (da Notes On Structured Programming, 1970)
Programmazione strutturata
"), che rappresentava, negli anni sessanta, lo strumento fondamentale per la definizione di algoritmi complessi nel software. In un celebre articolo del 1968, Goto statement considered harmful, Edsger Dijkstra discusse approfonditamente gli effetti deleteri del goto sulla qualità del software, e in particolare sulla sua leggibilità e modificabilità (il cosiddetto problema dello spaghetti code).
Un'altra celebre pubblicazione che risultò fondamentale all'affermarsi della programmazione strutturata fu... —
| approfondisci »
ALGOL
successori". La citazione completa è: "Qui c'è un linguaggio così avanzato che non è solo un miglioramento rispetto ai predecessori ma anche rispetto ai propri successori" ma l'aforisma è più conosciuto. A volte viene attribuito erroneamente a Edsger Dijkstra, conosciuto per le acute osservazioni, che collaborò all'implementazione del primo compilatore per ALGOL 60].
Il B5000 della Burroughs Corporation ed i suoi successori erano macchine a stack progettate per essere programmate mediante varianti... —
| approfondisci »
