Ada (програмски језик)
Ada | |
---|---|
Актуелна верзија | Ada 2012 TC1[1][2][3] |
Датум актуелне верзије | 1. фебруар 2016. |
Имплементације | AdaCore GNAT,[4] Green Hills Software, PTC, Inc.,[5] MapuSoft,[6][7] DDC-I |
Утицаји | ALGOL 68, Pascal, C++ (Ada 95), Smalltalk (Ada 95), Modula-2 (Ada 95) Java (Ada 2005), Eiffel (Ada 2012) |
Утицао на | C++, Chapel,[8] Drago,[9] Eiffel, Griffin,[10] Java, Nim, ParaSail, PL/SQL, PL/pgSQL, Python, Ruby, Seed7, SPARforte[11], Sparkel, SQL/PSM, VHDL |
Веб-сајт | www |
Ада је структурални, статички типификовани, императивни, и објектно-оријентисани програмски језик високог нивоа, заснован на Паскалу и другим језицима. Пројектовало га је Министарство одбране САД, крајем седамдесетих година 20. века, са циљем да буде примарни језик овог министарства. Он има уграђену језичку подршку за контрактни дизајн, изузетно снажну типификацију, експлицитну паралелност извршења, синхроно преношење порука, заштићене објекте и недетерминизам. Ада побољшава сигурност и одрживост кода користећи компајлер за проналажење грешака ради редуковања појаве грешака током извршавања. Ада је међународни технички стандард који су заједнички дефинисали Међународна организација за стандардизацију (ISO) и Међународна електротехничка комисија (IEC). Према подацима из 2020. године, стандард, који се неформално назива Ада 2012,[12] је ISO/IEC 8652:2012.[13]
Занимљиво је да је назив дат по Ејди Бајрон, грофици од Лавлејса, која се често наводи као Ада, кћерки енглеског песника лорда Бајрона и Анабеле Милбанк. Бавећи се математиком, Ејда се, као асистенткиња Чарлса Бабиџа, заинтересовала за пројекат аналитичке машине, која се сматра првим механичким рачунаром у деветнаестом веку, а Ејда првим програмером.[14][15]
Историја
[уреди | уреди извор]Ада је дизајнирана као одговор на захтев да се направи заједнички језик вишег нивоа за све одбрамбене апликације. У такмичењу за нови језик победио је тим Jean Ichbiah-a u "Honeywell Bull"-u.
Ада је ANSI i ISO стандард (Reference Manual for the Ada Programming Language, ANSI/MIL-STD-1815A-1983)
Такође Ада претходи открићу објектно оријентисаног дизајна. Међутим она подржава многе стратегије ОО дизајна и пружа подршку за констуркцију апстрактних типова податка (објектно оријентисана Ада - "Ada 95").
Битно својство Ада језика је "multitasking" или "multithreading". "Multitasking" омогућава мултипрограмирање једном кориснику тако што му омогућава истовремено извршавање већег броја програма.
Синтакса је једноставна, конзистентна и читљива. На пример "if x > 0 then y := 0; end if;" дакле, неправилно би било "if x > 0 then y := 0;" завршетак мора бити са "end if;".
"Hello, world!"
[уреди | уреди извор]with Ada.Text_IO;
procedure Hello is
begin
Ada.Text_IO.Put_Line("Hello, world!");
end Hello;
Дијалекти
[уреди | уреди извор]Ada 83, Ada 95, Ada 2005
Утицаји
[уреди | уреди извор]ALGOL 68, Pascal, C++ (Ada 95), Smalltalk (Ada 95), Java (Ada 2005)
Програмски језик Ада на: C++, PL/SQL, VHDL
Види још
[уреди | уреди извор]Референце
[уреди | уреди извор]- ^ „Technical Corrigendum for Ada 2012 published by ISO”. Ada Resource Association. 2016-01-29. Приступљено 2016-02-23.
- ^ „Consolidated Ada 2012 Language Reference Manual”. Ada Conformity Assessment Authority. Архивирано из оригинала 2016-03-03. г. Приступљено 2016-02-23.
- ^ „Technical Corrigendum 1 for Ada 2012”. Ada Conformity Assessment Authority. Архивирано из оригинала 2016-03-02. г. Приступљено 2016-02-23.
- ^ „Download GNAT Community Edition”. Архивирано из оригинала 30. 10. 2017. г. Приступљено 23. 05. 2020.
- ^ „PTC ObjectAda”. PTC.com. Приступљено 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. Архивирано из оригинала (PDF) 05. 02. 2016. г. Приступљено 2016-01-14.
- ^ „Drago”. Архивирано из оригинала 14. 09. 2020. г. Приступљено 23. 05. 2020.
- ^ https://cs.nyu.edu/cs/faculty/goldberg/griffin.html. Недостаје или је празан параметар
|title=
(помоћ) - ^ „SPARforte”.
- ^ Ganssle, Jack (2013-05-29). „Ada Resource Association – News and resource for the Ada programming language”. Adaic.org. Приступљено 2013-06-14.
- ^ „ISO/IEC 8652:2012 Information technology – Programming languages – Ada”. International Organization for Standardization. Приступљено 2012-12-23.
- ^ „The Ada Programming Language”. University of Mich. Архивирано из оригинала 22. 5. 2016. г. Приступљено 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.
Литература
[уреди | уреди извор]- Narain Gehani, "Ada, an Advanced Introduction including Referebce Manual for the Ada Programming Language", Prentice-Hall
- Рачунарски речник, 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 (1997). Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95. Springer-Verlag. 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 (1996). Ada as a Second Language. McGraw-Hill Science/Engineering/Math. ISBN 978-0-07-011607-8.
- Alan Burns, Andy Wellings (2001). Real-Time Systems and Programming Languages. Ada 95, Real-Time Java and Real-Time POSIX. Addison-Wesley. ISBN 978-0-201-72988-7.
- Alan Burns, Andy Wellings (1995). Concurrency in Ada. Cambridge University Press. 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. ISBN 978-1-58112-034-9.. Dissertation.com.
- Culwin, Fintan (1992). Ada, a Developmental Approach. Prentice Hall. ISBN 978-0-13-264680-2.
- John English, Fintan Culwin (1997). Ada 95 the Craft of Object Oriented Programming. Prentice Hall. ISBN 978-0-13-230350-7.
- David A. Wheeler (1997). 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. (1997). 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.
- Feldman, Michael B. & Koffman, Elliot B. Ada: Problem Solving and Program Design. Addison-Wesley Publishing Company. ISBN 978-0-201-52279-2. . ; 1992 & 1993. 795 pages.
- Michael B. Feldman, Elliot B. Koffman (1999). Ada 95. Addison-Wesley. 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 (1992). Developing With Ada: Life-Cycle Methods. Bantam Dell Pub Group. ISBN 978-0-553-09102-1.
- Bishop, Judy (1990). 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 (1995). 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. ISBN 978-0-387-90814-4.. (Second Edition), Springer-Verlag.
- Bjørner, Dines; Oest, Ole N., ур. (1980). Towards a Formal Description of Ada. London: Springer-Verlag. ISBN 978-3-540-10283-0.