Ada (programski jezik)
Ada | |
---|---|
Aktuelna verzija | Ada 2012 TC1[1][2][3] |
Datum aktuelne verzije | 1. februar 2016. |
Implementacije | AdaCore GNAT,[4] Green Hills Software, PTC, Inc.,[5] MapuSoft,[6][7] DDC-I |
Uticaji | ALGOL 68, Pascal, C++ (Ada 95), Smalltalk (Ada 95), Modula-2 (Ada 95) Java (Ada 2005), Eiffel (Ada 2012) |
Uticao na | C++, Chapel,[8] Drago,[9] Eiffel, Griffin,[10] Java, Nim, ParaSail, PL/SQL, PL/pgSQL, Python, Ruby, Seed7, SPARforte[11], Sparkel, SQL/PSM, VHDL |
Veb-sajt | www |
Ada je strukturalni, statički tipifikovani, imperativni, i objektno-orijentisani programski jezik visokog nivoa, zasnovan na Paskalu i drugim jezicima. Projektovalo ga je Ministarstvo odbrane SAD, krajem sedamdesetih godina 20. veka, sa ciljem da bude primarni jezik ovog ministarstva. On ima ugrađenu jezičku podršku za kontraktni dizajn, izuzetno snažnu tipifikaciju, eksplicitnu paralelnost izvršenja, sinhrono prenošenje poruka, zaštićene objekte i nedeterminizam. Ada poboljšava sigurnost i održivost koda koristeći kompajler za pronalaženje grešaka radi redukovanja pojave grešaka tokom izvršavanja. Ada je međunarodni tehnički standard koji su zajednički definisali Međunarodna organizacija za standardizaciju (ISO) i Međunarodna elektrotehnička komisija (IEC). Prema podacima iz 2020. godine, standard, koji se neformalno naziva Ada 2012,[12] je ISO/IEC 8652:2012.[13]
Zanimljivo je da je naziv dat po Ejdi Bajron, grofici od Lavlejsa, koja se često navodi kao Ada, kćerki engleskog pesnika lorda Bajrona i Anabele Milbank. Baveći se matematikom, Ejda se, kao asistentkinja Čarlsa Babidža, zainteresovala za projekat analitičke mašine, koja se smatra prvim mehaničkim računarom u devetnaestom veku, a Ejda prvim programerom.[14][15]
Istorija[uredi | uredi izvor]
Ada je dizajnirana kao odgovor na zahtev da se napravi zajednički jezik višeg nivoa za sve odbrambene aplikacije. U takmičenju za novi jezik pobedio je tim Jean Ichbiah-a u "Honeywell Bull"-u.
Ada je ANSI i ISO standard (Reference Manual for the Ada Programming Language, ANSI/MIL-STD-1815A-1983)
Takođe Ada prethodi otkriću objektno orijentisanog dizajna. Međutim ona podržava mnoge strategije OO dizajna i pruža podršku za konsturkciju apstraktnih tipova podatka (objektno orijentisana Ada - "Ada 95").
Bitno svojstvo Ada jezika je "multitasking" ili "multithreading". "Multitasking" omogućava multiprogramiranje jednom korisniku tako što mu omogućava istovremeno izvršavanje većeg broja programa.
Sintaksa je jednostavna, konzistentna i čitljiva. Na primer "if x > 0 then y := 0; end if;" dakle, nepravilno bi bilo "if x > 0 then y := 0;" završetak mora biti sa "end if;".
"Hello, world!"[uredi | uredi izvor]
with Ada.Text_IO;
procedure Hello is
begin
Ada.Text_IO.Put_Line("Hello, world!");
end Hello;
Dijalekti[uredi | uredi izvor]
Ada 83, Ada 95, Ada 2005
Uticaji[uredi | uredi izvor]
ALGOL 68, Pascal, C++ (Ada 95), Smalltalk (Ada 95), Java (Ada 2005)
Programski jezik Ada na: C++, PL/SQL, VHDL
Vidi još[uredi | uredi izvor]
Reference[uredi | uredi izvor]
- ^ „Technical Corrigendum for Ada 2012 published by ISO”. Ada Resource Association. 2016-01-29. Pristupljeno 2016-02-23.
- ^ „Consolidated Ada 2012 Language Reference Manual”. Ada Conformity Assessment Authority. Arhivirano iz originala 2016-03-03. g. Pristupljeno 2016-02-23.
- ^ „Technical Corrigendum 1 for Ada 2012”. Ada Conformity Assessment Authority. Arhivirano iz originala 2016-03-02. g. Pristupljeno 2016-02-23.
- ^ „Download GNAT Community Edition”. Arhivirano iz originala 30. 10. 2017. g. Pristupljeno 23. 05. 2020.
- ^ „PTC ObjectAda”. PTC.com. Pristupljeno 2014-01-27.
- ^ „MapuSoft Ada-C/C++ changer”., formerly known as "AdaMagic with C Intermediate"
- ^ „AdaMagic with C Intermediate certificate”.
- ^ „Chapel spec (Acknowledgements)” (PDF). Cray Inc. 2015-10-01. Arhivirano iz originala (PDF) 05. 02. 2016. g. Pristupljeno 2016-01-14.
- ^ „Drago”. Arhivirano iz originala 14. 09. 2020. g. Pristupljeno 23. 05. 2020.
- ^ https://cs.nyu.edu/cs/faculty/goldberg/griffin.html. Nedostaje ili je prazan parametar
|title=
(pomoć) - ^ „SPARforte”.
- ^ Ganssle, Jack (2013-05-29). „Ada Resource Association – News and resource for the Ada programming language”. Adaic.org. Pristupljeno 2013-06-14.
- ^ „ISO/IEC 8652:2012 Information technology – Programming languages – Ada”. International Organization for Standardization. Pristupljeno 2012-12-23.
- ^ „The Ada Programming Language”. University of Mich. Arhivirano iz originala 22. 5. 2016. g. Pristupljeno 27. 5. 2016.
- ^ Fuegi, J; Francis, J (2003). „Lovelace & babbage and the creation of the 1843 'notes'”. IEEE Annals of the History of Computing. 25 (4): 16—26. doi:10.1109/MAHC.2003.1253887.
Literatura[uredi | uredi izvor]
- Narain Gehani, "Ada, an Advanced Introduction including Referebce Manual for the Ada Programming Language", Prentice-Hall
- Računarski rečnik, Microsoft Press,1999.
- Booch, Grady (1987), Software Engineering with Ada, California: The Benjamin/Cummings Publishing Company, Inc., ISBN 978-0-8053-0604-0
- Skansholm, Jan (1996). Ada 95 From the Beginning. Addison-Wesley. ISBN 978-0-201-40376-3.
- Geoff Gilpin: Ada: A Guided Tour and Tutorial, Prentice hall. ISBN 978-0-13-004045-9.
- Barnes, John (2006). Programming in Ada 2005. Addison-Wesley. ISBN 978-0-321-34078-8.
- Barnes, John (1991). Programming in Ada plus Language Reference Manual. Addison-Wesley. ISBN 978-0-201-56539-3.
- Barnes, John (1998). Programming in Ada 95. Addison-Wesley. ISBN 978-0-201-34293-2.
- Barnes, John (1997). High Integrity Ada: The SPARK Approach. Addison-Wesley. ISBN 978-0-201-17517-2.
- Barnes, John (2003). High Integrity Software: The SPARK Approach to Safety and Security. Addison-Wesley. ISBN 978-0-321-13616-9.
- John Beidler: Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95, Springer-Verlag. 1997. ISBN 978-0-387-94834-8.
- Gonzalez, Dean W. (1991). Ada Programmer's Handbook. Benjamin-Cummings Publishing Company. ISBN 978-0-8053-2529-4.
- M. Ben-Ari (1998). Ada for Software Engineers. John Wiley & Sons. ISBN 978-0-471-97912-8.
- Norman Cohen: Ada as a Second Language, McGraw-Hill Science/Engineering/Math. ISBN 978-0-07-011607-8.
- Alan Burns, Andy Wellings. Real-Time Systems and Programming Languages. Ada 95, Real-Time Java and Real-Time POSIX. Addison-Wesley. 2001. ISBN 978-0-201-72988-7.
- Alan Burns, Andy Wellings. Concurrency in Ada. Cambridge University Press. 1995. ISBN 978-0-521-62911-9.
- Atkinson, Colin (1991). Object-Oriented Reuse, Concurrency and Distribution: An Ada-Based Approach. Addison-Wesley. ISBN 978-0-201-56527-0.
- Booch, Grady; Bryan, Doug (1994). Software Engineering with Ada. Addison-Wesley. ISBN 978-0-8053-0608-8.
- Do-While Jones (1989). Ada in Action: With Practical Programming Examples. John Wiley & Sons Inc. ISBN 978-0-471-60708-3.
- Daniel Stubbs, Neil W. . Webre: Data Structures with Abstract Data Types and Ada, Brooks Cole. ISBN 978-0-534-14448-7.
- Pascal Ledru: Distributed Programming in Ada with Protected Objects, Dissertation.com. ISBN 978-1-58112-034-9.
- Culwin, Fintan (1992). Ada, a Developmental Approach. Prentice Hall. ISBN 978-0-13-264680-2.
- John English, Fintan Culwin. Ada 95 the Craft of Object Oriented Programming. Prentice Hall. ISBN 978-0-13-230350-7.
- David A. Wheeler: Ada 95, Springer-Verlag. ISBN 978-0-387-94801-0.
- David R. Musser, Alexander Stepanov: The Ada Generic Library: Linear List Processing Packages, Springer-Verlag. ISBN 978-0-387-97133-9.
- Feldman, Michael B. Software Construction and Data Structures with Ada 95. Addison-Wesley. ISBN 978-0-201-88795-2.
- Johnston, Simon (1997). Ada 95 for C and C++ Programmers. Addison-Wesley. ISBN 978-0-201-40363-3.
- "Ada: Problem Solving and Program Design." Feldman, Michael B. & Koffman, Elliot B. ISBN 978-0-201-52279-2.. Addison-Wesley Publishing Company; 1992 & 1993. 795 pages.
- Michael B. Feldman, Elliot B. Koffman. Ada 95. Addison-Wesley. 1999. ISBN 978-0-201-36123-0.
- Nell B. Dale, Chip Weems, John McCormick. Programming and Problem Solving with Ada 95. Jones & Bartlett Publishers. ISBN 978-0-7637-0293-9.
- Nell B. Dale, John McCormick. Ada Plus Data Structures: An Object-Oriented Approach, 2nd edition. Jones & Bartlett Publishers. ISBN 978-0-7637-3794-8.
- Bruce C. Krell: Developing With Ada: Life-Cycle Methods, Bantam Dell Pub Group. ISBN 978-0-553-09102-1.
- Bishop, Judy. Distributed Ada: Developments and Experiences. Cambridge University Press. ISBN 978-0-521-39251-8.
- Hillam, Bruce (1994). Introduction to Abstract Data Types Using Ada. Prentice Hall. ISBN 978-0-13-045949-7.
- Sanden, Bo (1994). Software Systems Construction With Examples in Ada. Prentice Hall. ISBN 978-0-13-030834-4.
- David Rudd: Introduction to Software Design and Development With Ada, Brooks Cole. ISBN 978-0-314-02829-7.
- Baker, Louis (1989). Artificial Intelligence With Ada. McGraw-Hill. ISBN 978-0-07-003350-4.
- Pyle, Ian C. (1991). Developing Safety Systems: A Guide Using Ada. Prentice Hall. ISBN 978-0-13-204298-7.
- Alan Burns, Andy Wellings: HRT-HOOD: A Structured Design Method for Hard Real-Time Ada Systems, North-Holland. ISBN 978-0-444-82164-5.
- Walter Savitch, Charles Peterson (1992). Ada: An Introduction to the Art and Science of Programming. Benjamin-Cummings Publishing Company. ISBN 978-0-8053-7070-6.
- Weiss, Mark Allen (1993). Data Structures and Algorithm Analysis in Ada. Benjamin-Cummings Publishing Company. ISBN 978-0-8053-9055-1.
- Henry Ledgard: ADA: An Introduction (Second Edition), Springer-Verlag. ISBN 978-0-387-90814-4.
- Bjørner, Dines; Oest, Ole N., ur. (1980). Towards a Formal Description of Ada. London: Springer-Verlag. ISBN 978-3-540-10283-0.