Pagina 1 di 1

a proposito di ada...

Inviato: mer 14 set 2005, 23:33
da absinthe
dopo aver letto il post di elmetal sono andato sulla cara wiki... ed ho trovato:
Ada è un linguaggio di programmazione creato da Jean Ichbiah del Cii Honeywell Bull negli anni Settanta, è stato chiamato così in onore di Ada Lovelace, la prima programmatrice della storia.

Ada è ancora molto usato per scopi civili o militari, laddove è necessario garantire la correttezza del codice utilizzato: aerei, razzi, etc.
"Hello, world!" in Ada

Un esempio comune della sintassi del linguaggio è costituito dal programma Hello world. Sono possibili abbreviazioni per "Ada.Text_IO.Put_Line", con minori necessità di scrivere codice, tuttavia non sono state utilizzate qui per rendere più comprensibile l'esempio.

with Ada.Text_IO;

procedure Hello is
begin
Ada.Text_IO.Put_Line("Hello, world!");
end Hello;
ma che vuol dire "garantire la correttezza del codice utilizzato"?

M.

Inviato: gio 15 set 2005, 1:26
da gioco
Credo che si riferisca ai controlli che il compilatore fa sul codice per cercare di rilevare eventuali errori di programmazione. Forse una cosa tipo il java che avvisa ad esempio se una istruzione è irraggiungibile o se non è possibile uscire da un metodo. La butto lì che io di Ada non so nulla :)
Comunque il gcc ha il supporto per Ada, magari provare qualcosa si può rivelare interessante.

Inviato: gio 15 set 2005, 2:30
da rob
anche il gcc fa quei controlli. penso si riferisca + a problemi di deadlock e starvation.

Inviato: gio 15 set 2005, 11:30
da absinthe
rob ha scritto:anche il gcc fa quei controlli. penso si riferisca + a problemi di deadlock e starvation.
ah! già il deadlock come no mi ha chiesto una sigaretta stamani... che vordì scusa? :)

M.

Inviato: gio 15 set 2005, 13:22
da Paoletta
per il deadlock guarda qui:
http://it.wikipedia.org/wiki/Deadlock

comunque
garantire la correttezza del codice utilizzato
secondo me può voler dire che il codice scritto in quel linuguaggio si presta particolarmente ad essere analizzato con formalismi di varia natura (reti di Petri, logica PLTL) in modo da poter garantire che soddisfa certe proprietà;

Inviato: gio 15 set 2005, 17:32
da supertoms
la spiegazione la trovate nella versione inglese di quell'articolo di wikipedia
Ada supports run-time checks in order to protect against access to unallocated memory, buffer overflow errors, off by one errors, array access errors, and other avoidable bugs. These checks can be disabled in the interest of efficiency, but can often be compiled efficiently. It also includes facilities to help program verification. For these reasons, it is very widely used in critical systems like avionics, weapons and spacecraft.

It also supports a large number of compile-time checks to help avoid bugs that would not be detectable until run-time in some other languages or would require explicit checks to be added to the source code.

Ada's dynamic memory management is safe and high-level, like Java and unlike C. The specification does not require any particular implementation. Though the semantics of the language allow automatic garbage collection of inaccessible objects, most implementations do not support it. Ada does support a limited form of region-based storage management. Invalid accesses can always be detected at run time (unless of course the check is turned off) and sometimes at compile time.

Inviato: gio 15 set 2005, 21:24
da useless
tutto ciò implica che sia un chiodo mostruoso, anche se sicuramente meno di java :lol:.

Inviato: gio 15 set 2005, 23:01
da supertoms
ne dubito... ci sarà hardware ad hoc.

Ho sentito dire che alcuene serie di macchine Sun sono praticamente delle java machine hardware...

Inviato: lun 19 set 2005, 20:10
da kobaiachi
ragazzi io non sono un programmatore e di linguaggi non ne so uno però una cosa che posso notare da profano è l'estrema chiarezza che ha (almeno questo esempio)
il modo di dire che sta iniziando una operazione (si chiama cosi?) è cosi intuitivo .

ps
per gli amanti della storia ledy Lovelace figlia di lord Byron (poeta) è stata insieme a Babbage a programmare ed a progettare la famosa macchina di babbage di cui ne e stata costruita una versione ridotta (difatti all epoca di Babbage non vi era una tecnologia sufficentemente sviluppata per arrivare alla precisione richiesta nella costruzione degli ingranggi ).
E considerata il primo computer moderno della storia perche la logica con cui è ctostruita si puo ritrovare ancora nei moderni calcolatori (difatti era basata su una architettura a bus aveva un sistema di input/output ed inoltre aveva dei registri dove depositare temporaneamente i dati mentre venivano processati .
ragazzi è strepitoso per l'epoca.