Ada is a modern programming language designed for large, long-lived ap การแปล - Ada is a modern programming language designed for large, long-lived ap ไทย วิธีการพูด

Ada is a modern programming languag

Ada is a modern programming language designed for large, long-lived applications – and embedded systems in particular – where reliability and efficiency are essential. It was originally developed in the early 1980s (this version is generally known as Ada 83) by a team led by Dr. Jean Ichbiah at CII-Honeywell-Bull in France. The language was revised and enhanced in an upward compatible fashion in the early 1990s, under the leadership of Mr. Tucker Taft from Intermetrics in the U.S. The resulting language, Ada 95, was the first internationally standardized (ISO) Object-Oriented Language. Under the auspices of ISO, a further (minor) revision was completed as an amendment to the standard; this version of the language is known as Ada 2005. Work is currently in progress on some additional features (including support for program anotations) and is expected to be completed in 2012.
The name “Ada” is not an acronym; it was chosen in honor of Augusta Ada Lovelace (1815-1852), a mathematician who is sometimes regarded as the world’s first programmer because of her work with Charles Babbage. She was also the daughter of the poet Lord Byron.
Ada is seeing significant usage worldwide in high-integrity / safety-critical / high-security domains including commercial and military aircraft avionics, air traffic control, railroad systems, and medical devices. With its embodiment of modern software engineering principles Ada is an excellent teaching language for both introductory and advanced computer science courses, and it has been the subject of significant university research especially in the area of real-time technologies.
AdaCore has a long history and close connection with the Ada programming language. Company members worked on the original Ada 83 design and review, played key roles in the Ada 95 project and Ada 2005 effort, and continue to be deeply involved with the Ada 2012 revision process. The initial GNAT compiler was essential to the growth of Ada 95; it was delivered at the time of the language’s standardization, thus guaranteeing that users would have a quality implementation for transitioning to Ada 95 from Ada 83 or other languages.
Language Overview
Ada is multi-faceted. From one perspective it is a classical stack-based general-purpose language, not tied to any specific development methodology. It has a simple syntax, structured control statements, flexible data composition facilities, strong type checking, traditional features for code modularization (“subprograms”), and a mechanism for detecting and responding to exceptional run-time conditions (“exception handling”).
But it also includes much more:
Scalar ranges
Unlike languages based on C syntax (such as C++, Java, and C#), Ada allows the programmer to simply and explicitly specify the range of values that are permitted for variables of scalar types (integer, floating-point, fixed-point, or enumeration types). The attempted assignment of an out-of-range value causes a run-time error. The ability to specify range contraints makes programmer intent explicit and makes it easier to detect a major source of coding and user input errors.
Programming in the large
The original Ada 83 design introduced the package construct, a feature that supports encapsulation (“information hiding”) and modularization, and that allows the developer to control the namespace that is accessible within a given compilation unit. Ada 95 introduced the concept of “child units,” adding considerably flexibility and easing the design of very large systems. Ada 2005 extended the language’s modularization facilities by allowing mutual references between package specifications, thus making it easier to interface with languages such as Java.
Generic templates
A key to reusable components is a mechanism for parameterizing modules with respect to data types and other program entities, for example a stack package for an arbitrary element type. Ada meets this requirement through a facility known as “generics”; since the parameterization is done at compile time, run-time performance is not penalized.
Object-Oriented Programming (OOP)
Ada 83 was object-based, allowing the partitioning of a system into modules corresponding to abstract data types or abstract objects. Full OOP support was not provided since, first, it seemed not to be required in the real-time domain that was Ada’s primary target, and, second, the apparent need for automatic garbage collection in an OO language would have interfered with predictable and efficient performance.
However, large real-time systems often have components such as GUIs that do not have real-time constraints and that could be most effectively developed using OOP features. In part for this reason, Ada 95 supplies comprehensive support for OOP, through its “tagged type” facility: classes, polymorphism, inheritance, and dynamic binding. Ada 95 does not require automatic garbage collection but rather supplies definitional features allowing the developer to supply type-specific storage reclamation operations (“finalization”). Ada 2005 provided additional OOP features including Java-like interfaces and traditional operation invocation notation.
Ada is methologically neutral and does not impose a “distributed overhead” for OOP. If an application does not need OOP, then the OOP features do not have to be used, and there is no run-time penalty.
Concurrent programming
Ada supplies a structured, high-level facility for concurrency. The unit of concurrency is a program entity known as a “task.” Tasks can communicate implicitly via shared data or explicitly via a synchronous control mechanism known as the rendezvous. A shared data item can be defined abstractly as a “protected object” (a feature introduced in Ada 95), with operations executed under mutual exclusion when invoked from multiple tasks. Asynchronous task interactions are also supported, specifically timeouts and task termination. Such asynchronous behavior is deferred during certain operations, to prevent the possibility of leaving shared data in an inconsistent state. Mechanisms designed to help take advantage of multi-core architectures are being introduced in Ada 2012.
Systems programming
Both in the “core” language and the Systems Programming Annex, Ada supplies the necessary features to allow the programmer to get close to the hardware. For example, you can specify the bit layout for fields in a record, define the alignment and size, place data at specific machine addresses, and express specialized or time-critical code sequences in assembly language. You can also write interrupt handlers in Ada, using the protected type facility.
Real-time programming
Ada’s tasking features allow you to express common real-time idioms (periodic tasks, event-driven tasks), and the Real-Time Annex provides several facilities that allow you to avoid unbounded priority inversions. A protected object locking policy is defined that uses priority ceilings; this has an especially efficient implementation in Ada (mutexes are not required) since protected operations are not allowed to block. Ada 95 defined a task dispatching policy that basically requires tasks to run until blocked or preempted, and Ada 2005 introduced several others including Earliest Deadline First.
High-integrity systems
With its emphasis on sound software engineering principles Ada supports the development of high-integrity applications, including those that need to be certified against safety standards such as DO-178B and security standards such as the Common Criteria. For example, strong typing means that data intended for one purpose will not be accessed via inappropriate operations; errors such as treating pointers as integers (or vice versa) are prevented. And Ada’s array bounds checking prevents buffer overrun vulnerabilities that are common in C and C++.
However, the full language is inappropriate in a safety-critical application, since the generality and flexibility may interfere with traceability / certification requirements. Ada addresses this issue by supplying a compiler directive, pragma Restrictions, that allows you to constrain the language features to a well-defined subset (for example, excluding dynamic OOP facilities).
The evolution of Ada has seen the continued increase in support for safety-critical and high-security applications. Ada 2005 standardized the Ravenscar Profile, a collection of concurrency features that are powerful enough for real-time programming but simple enough to make certification practical. Ada 2012 is introducing annotation facilities for adding pre-conditions, post-conditions, and invariants to programs. These can serve both for run-time checking and as input to static analysis tools.

Ada Benefits Summary
Helps you design safe and reliable code
Reduces development costs
Supports new and changing technologies
Facilitates development of complex programs
Helps make code readable and portable
Reduces certification costs for safety-critical software
Ada Features Summary
Object orientated programming
Strong typing
Abstractions to fit program domain
Generic programming/templates
Exception handling
Facilities for modular organization of code
Standard libraries for I/O, string handling, numeric computing, containers
Systems programming
Concurrent programming
Real-time programming
Distributed systems programming
Numeric processing
Interfaces to other languages (C, COBOL, Fortran)
In brief, Ada is an internationally standardized language combining object-oriented programming features, well-engineered concurrency facilities, real-time support, and built-in reliability. An appropriate tool for addressing the real issues facing software developers today, Ada is used throughout a number of major industries to design software that protects businesses and lives.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
Ada เป็นภาษาสมัยใหม่ออกแบบมาสำหรับการใช้งานขนาดใหญ่ long-lived – และระบบฝังตัวโดยเฉพาะความน่าเชื่อถือและประสิทธิภาพจำเป็น มันถูกพัฒนาในต้นทศวรรษ 1980 (รุ่นนี้โดยทั่วไปเรียกว่า Ada 83) เดิม โดยทีมงานนำ โดยดร. Jean Ichbiah ที่ CII-Honeywell-วัวในประเทศฝรั่งเศส ปรับปรุง และเพิ่มประสิทธิภาพในการเข้ากันได้ขึ้นภาษาแฟชั่นในช่วงปี 1990 ภายใต้การนำของนายทาฟท์ทักเกอร์จาก Intermetrics ในสหรัฐอเมริกา ได้ภาษา Ada 95 แรกมาตรฐานในระดับสากล (ISO) Object-Oriented ภาษาได้ อุปถัมภ์ของ ISO การเพิ่มเติมปรับปรุง (เล็กน้อย) เสร็จเป็นการแก้ไขมาตรฐาน ภาษารุ่นนี้เรียกว่า Ada 2005 ทำงานอยู่บนคุณลักษณะเพิ่มเติมบางอย่าง (รวมถึงการสนับสนุนสำหรับโปรแกรม anotations) และคาดว่าจะแล้วเสร็จในปี 2012ชื่อ "เอ" ไม่ใช่คำย่อ มันถูกเลือกในเกียรติของออกัสตาเอดาเลิฟเลซ (1815-1852), เป็นนักคณิตศาสตร์ที่บางครั้งถือเป็นนักเขียนโปรแกรมแรกของโลกเนื่องจากงานของเธอกับชาลส์แบบบิจ เธอยังเป็นลูกสาวของกวี Lord ByronAda จะเห็นงานสำคัญทั่วโลกในโดเมนสูงความ สำคัญความปลอดภัย / มีความ ปลอดภัยสูงรวมทั้งเครื่องบินพาณิชย์ และทางทหาร avionics ควบคุมจราจรทางอากาศ ระบบรถไฟ และอุปกรณ์ทางการแพทย์ ความลื่นของหลักวิศวกรรมซอฟต์แวร์สมัยใหม่ Ada เป็นภาษาสำหรับการสอนที่ดีสำหรับทั้งสองหลักสูตรวิทยาศาสตร์คอมพิวเตอร์ภาษา และขั้นสูง และได้รับหัวข้องานวิจัยมหาวิทยาลัยอย่างมีนัยสำคัญโดยเฉพาะอย่างยิ่งในพื้นที่เทคโนโลยีเรียลไทม์AdaCore มีประวัติศาสตร์ยาวนานและปิดการเชื่อมต่อกับ Ada ภาษาการเขียนโปรแกรม สมาชิกบริษัททำงานเกี่ยวกับการออกแบบ Ada 83 ต้นฉบับและตรวจทาน เล่นบทบาทสำคัญในโครงการ Ada 95 และ Ada 2005 แรง และจะลึกที่เกี่ยวข้องกับการปรับปรุงเอ 2012 คอมไพเลอร์ GNAT เบื้องต้นจำเป็นต่อการเจริญเติบโตของ Ada 95 มันถูกจัดส่งในขณะมาตรฐานของภาษา จึง รับประกันว่า ผู้ใช้ต้องการการใช้งานคุณภาพเปลี่ยนไป Ada 95 จาก Ada 83 หรือภาษาอื่น ๆภาพรวมของภาษาAda เป็นหลายนคร จากมุมมองหนึ่ง ก็คลาสสิกสแตกวัตถุภาษา ไม่เกี่ยวพันกับวิธีพัฒนาเฉพาะใด ๆ มีไวยากรณ์อย่างง่าย โครงสร้างควบคุมงบ ข้อมูลองค์ประกอบสิ่งอำนวยความสะดวก ชนิดแข็งแรงตรวจสอบ คุณลักษณะดั้งเดิมสำหรับรหัส modularization ("subprograms"), และกลไกสำหรับการตรวจสอบ และตอบสนองเงื่อนไขขณะนี้ ("ข้อยกเว้นการจัดการ")แต่ยังมีอีกมากมาย:ช่วงสเกลาซึ่งแตกต่างจากภาษาตามไวยากรณ์ของ C (เช่น c ++, Java, C#), Ada ให้โปรแกรมเมอร์อย่างชัดเจน และเพียงระบุช่วงของค่าที่อนุญาตสำหรับตัวแปรชนิดสเกลา (จำนวนเต็ม ทศนิยม เงินตรา หรือชนิดแจงนับ) การกำหนดค่าออกของช่วงพยายามทำให้มีข้อผิดพลาดรันไทม์ ความสามารถในการระบุช่วง contraints ช่วยให้โปรแกรมเมอร์เจตนาชัดเจน และช่วยให้ตรวจหาแหล่งสำคัญของการเขียนโค้ดและผู้ใช้ป้อนข้อมูลข้อผิดพลาดโปรแกรมขนาดใหญ่ออกแบบ Ada 83 เดิมแนะนำแพคเกจสร้าง คุณลักษณะที่สนับสนุน encapsulation ("ข้อมูลซ่อน") และ modularization และที่ช่วยให้นักพัฒนาสามารถควบคุม namespace ที่สามารถเข้าถึงได้ภายในหน่วยให้คอมไพล์ 95 เอแนะนำแนวคิดของ "หน่วยรอง อย่างมากเพิ่มความยืดหยุ่น และผ่อนคลายการออกแบบระบบที่มีขนาดใหญ่มาก Ada 2005 ขยายของภาษา modularization สิ่งอำนวยความสะดวก โดยให้อ้างอิงซึ่งกันและกันระหว่างข้อกำหนดแพคเกจ จึง ทำให้ง่ายต่อการอินเตอร์เฟซภาษาเช่นจาวาแม่แบบทั่วไปคีย์กับส่วนประกอบสามารถเป็นกลไกสำหรับโมดูล parameterizing เกี่ยวกับชนิดข้อมูลและโปรแกรมตี เช่นกองแพ็คเกจสำหรับชนิดขององค์ประกอบที่กำหนด เอตรงตามความต้องการนี้ผ่านสิ่งอำนวยความสะดวกที่เรียกว่า "ข้อมูลทั่วไป" ตั้งแต่เสร็จ parameterization ที่เวลาคอมไพล์ ประสิทธิภาพขณะทำงานได้ไม่สำเร็จเขียนโปรแกรมเชิงวัตถุ (OOP)Ada 83 ถูกวัตถุขึ้น ช่วยให้การแบ่งพาร์ทิชันของระบบในโมดูลตรงย่อชนิดข้อมูลหรือวัตถุนามธรรม ไม่มีสนับสนุน OOP เต็มรูปแบบตั้งแต่ ครั้งแรก มันดูเหมือนไม่ถูกต้องในโดเมนเวลาจริงที่เป็นเป้าหมายหลักของ Ada ก สอง เก็บรวบรวมขยะโดยอัตโนมัติในภาษาดาต้องชัดเจนจะมียุ่งประสิทธิภาพได้ และมีประสิทธิภาพอย่างไรก็ตาม ขนาดใหญ่แบบเรียลไทม์ระบบมักจะมีส่วนประกอบเช่น GUIs ที่ไม่มีข้อจำกัดแบบเรียลไทม์ และที่อาจจะมีประสิทธิภาพสูงสุดพัฒนาโดยใช้คุณลักษณะของ OOP บางส่วนด้วยเหตุนี้ Ada 95 อุปกรณ์สนับสนุน OOP ครอบคลุมถึงความ "แท็กชนิด" สิ่งอำนวยความสะดวก: เรียน โพลิมอร์ฟิซึม มรดก และผูกข้อมูลแบบไดนามิก Ada 95 ไม่จำเป็นต้องเก็บรวบรวมขยะอัตโนมัติ แต่ค่อนข้าง หน้า ๆ definitional คุณลักษณะที่ช่วยให้นักพัฒนาสามารถจัดเก็บข้อมูลเฉพาะชนิดการดำเนินการถม ("finalization") Ada 2005 ให้ลักษณะ OOP เพิ่มเติมรวมไปถึงอินเทอร์เฟซ Java เช่นสัญกรณ์เรียกการดำเนินการแบบดั้งเดิมAda เป็น methologically ที่เป็นกลาง และไม่กำหนดเป็น "กระจายค่าโสหุ้ย" สำหรับ OOP ถ้าโปรแกรมประยุกต์ไม่จำเป็น OOP แล้ว คุณสมบัติ OOP ไม่จำเป็นต้องใช้ และมีโทษขณะใช้งานไม่เขียนโปรแกรมพร้อมกันAda อุปกรณ์อำนวยความสะดวกระดับสูง โครงสร้างการเกิดพร้อมกัน หน่วยเกิดเป็นเอนทิตี้โปรแกรมที่เรียกว่าเป็น "งาน" งานสามารถสื่อนัย ทางข้อมูลร่วม หรืออย่างชัดเจน ผ่านกลไกควบคุมแบบซิงโครนัสเป็นการนัดพบ สามารถกำหนดรายการข้อมูลที่ใช้ร่วมกัน abstractly เป็น "วัตถุป้องกัน" (คุณลักษณะใน Ada 95), การดำเนินงานที่ดำเนินการภายใต้แยกออกซึ่งกันและกันเมื่อเรียกจากหลายงานได้ งานแบบอะซิงโครนัสที่สามารถโต้ตอบได้ โดยเฉพาะจ้างหมดเวลาและงาน พฤติกรรมดังกล่าวแบบอะซิงโครนัสเป็นการเลื่อนเวลาในระหว่างการดำเนินการบางอย่าง ให้ของออกจากข้อมูลที่ใช้ร่วมกันในสถานะไม่สอดคล้องกัน กลไกที่จะช่วยให้ใช้ประโยชน์จากสถาปัตยกรรมหลักหลายจะถูกนำมาใช้ใน Ada 2012ระบบเขียนโปรแกรมทั้ง ในภาษา "หลัก" และการระบบโปรแกรมแอนเน็กซ์ Ada ส่งเด็ก ๆ ให้โปรแกรมเมอร์ใกล้ฮาร์ดแวร์ ตัวอย่าง คุณสามารถระบุรูปแบบบิตสำหรับเขตข้อมูลในระเบียน กำหนดตำแหน่งและขนาด ใส่ข้อมูลที่อยู่เฉพาะเครื่อง และด่วนพิเศษ หรือเวลาสำคัญลำดับในภาษาแอสเซมบลี คุณยังสามารถเขียนตัวจัดการการขัดจังหวะใน Ada ใช้สิ่งอำนวยความสะดวกชนิดที่ป้องกันการเขียนโปรแกรมแบบเรียลไทม์คุณลักษณะของ Ada tasking อนุญาตให้คุณแสดงสำนวนแบบเรียลไทม์ทั่วไป (งานประจำงวด ขับเคลื่อนเหตุการณ์งาน), และแอนเน็กซ์ Real-Time มีสิ่งอำนวยความสะดวกต่าง ๆ ที่ช่วยให้คุณหลีกเลี่ยง inversions งที่สำคัญ วัตถุป้องกันที่ล็อกนโยบายจะถูกกำหนดที่ใช้เพดานความสำคัญ นี้มีการนำไปใช้อย่างมีประสิทธิภาพโดยเฉพาะอย่างยิ่งใน Ada (mutexes ไม่จำเป็น) เนื่องจากการดำเนินการป้องกันไม่สามารถบล็อก Ada 95 กำหนดงานจัดนโยบายที่ต้องการงานทำงานจนกว่าบล็อก หรือคั่นทำพื้น และ Ada 2005 แนะนำหลายคนรวมถึงแรกสิ้นสุดสูงความสมบูรณ์ของระบบโดยเน้นหลักการวิศวกรรมซอฟต์แวร์เสียงเอสนับสนุนการพัฒนาแอพลิเคชันความสูง รวมถึงผู้ ที่ได้มีรับรองกับมาตรฐานความปลอดภัยเช่นมาตรฐานโด 178B และความปลอดภัยเช่นเงื่อนไขทั่วไป ตัวอย่าง พิมพ์แข็งแรงหมายความ ว่า ข้อมูลที่จัดทำขึ้นเพื่อจุดประสงค์เดียวจะไม่สามารถเข้าถึงผ่านการดำเนินงานไม่เหมาะสม ข้อผิดพลาดเช่นรักษาตัวชี้ เป็นเลขจำนวนเต็ม (หรือในทางกลับกัน) จะไม่สามารถ และขอบเขตของอาร์เรย์ของ Ada ตรวจสอบป้องกันช่องโหว่เกินบัฟเฟอร์ที่ใช้กันทั่วไปใน C และ c ++อย่างไรก็ตาม ภาษาเต็มรูปแบบไม่เหมาะสมในโปรแกรมประยุกต์ความปลอดภัยสำคัญ เนื่องจาก generality และยืดหยุ่นอาจรบกวนการติดตาม / รับรองความต้องการ Ada อยู่ปัญหานี้ โดยการจัดหาการสั่งของคอมไพเลอร์ pragma จำกัด ที่ช่วยให้คุณสามารถจำกัดคุณลักษณะภาษาชุดย่อยที่กำหนดไว้อย่างดี (เช่น ไม่แบบไดนามิก OOP สิ่งอำนวยความสะดวก)วิวัฒนาการของ Ada ได้เห็นการเพิ่มขึ้นอย่างต่อเนื่องในการสนับสนุนสำหรับโปรแกรมประยุกต์ความปลอดภัยที่สำคัญ และมีความ ปลอดภัยสูง Ada 2005 มาตรฐาน Ravenscar โพ คอลเลกชันเกิดคุณลักษณะที่มีประสิทธิภาพเพียงพอสำหรับแบบเรียลไทม์เขียนโปรแกรมง่าย ๆ แต่พอทำใบรับรองการปฏิบัติ Ada 2012 จะแนะนำคำอธิบายสิ่งอำนวยความสะดวกสำหรับการเพิ่มเงื่อนไขก่อน หลังเงื่อนไข และ invariants โปรแกรม เหล่านี้สามารถให้บริการทั้ง สำหรับการตรวจสอบขณะใช้งาน และป้อนข้อมูลเพื่อวิเคราะห์คง สรุปประโยชน์ของ Adaช่วยให้คุณปลอดภัย และน่าเชื่อถือลดต้นทุนการพัฒนาสนับสนุนเทคโนโลยีใหม่ และเปลี่ยนแปลงอำนวยความสะดวกในการพัฒนาโปรแกรมที่ซับซ้อนช่วยทำให้รหัสอ่าน และพกพาลดต้นทุนการออกใบรับรองซอฟต์แวร์ความปลอดภัยที่สำคัญสรุปคุณสมบัติของ Adaการเขียนโปรแกรมวัตถุเล็ก ๆพิมพ์แข็งแกร่งAbstractions ให้พอดีกับโปรแกรมโดเมนการเขียนโปรแกรมแบบทั่วไปการจัดการข้อยกเว้นสิ่งอำนวยความสะดวกสำหรับองค์กรโมดูลาร์ของรหัสสตริงที่ไลบรารีมาตรฐานสำหรับ I/O การจัดการ คอมพิวเตอร์ เก็บตัวเลขระบบเขียนโปรแกรมเขียนโปรแกรมพร้อมกันการเขียนโปรแกรมแบบเรียลไทม์เขียนโปรแกรมระบบแบบกระจายประมวลผลตัวเลขอินเทอร์เฟซภาษาอื่น ๆ (ภาษาฟอร์แทรน C ภาษาโคบอล )สังเขป Ada เป็นภาษามาตรฐานในระดับสากลสำหรับการรวมคุณลักษณะเขียนโปรแกรมเชิงวัตถุ ออกแบบห้องพักเกิดสิ่งอำนวยความสะดวก สนับสนุนแบบเรียลไทม์ และความน่าเชื่อถือในตัว เป็นเครื่องมือที่เหมาะสมในการแก้ปัญหาจริงปัญหานักพัฒนาซอฟต์แวร์หันวันนี้ Ada ใช้ตลอดจำนวนอุตสาหกรรมหลักการออกแบบซอฟต์แวร์ที่ปกป้องธุรกิจและชีวิต
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
Ada is a modern programming language designed for large, long-lived applications – and embedded systems in particular – where reliability and efficiency are essential. It was originally developed in the early 1980s (this version is generally known as Ada 83) by a team led by Dr. Jean Ichbiah at CII-Honeywell-Bull in France. The language was revised and enhanced in an upward compatible fashion in the early 1990s, under the leadership of Mr. Tucker Taft from Intermetrics in the U.S. The resulting language, Ada 95, was the first internationally standardized (ISO) Object-Oriented Language. Under the auspices of ISO, a further (minor) revision was completed as an amendment to the standard; this version of the language is known as Ada 2005. Work is currently in progress on some additional features (including support for program anotations) and is expected to be completed in 2012.
The name “Ada” is not an acronym; it was chosen in honor of Augusta Ada Lovelace (1815-1852), a mathematician who is sometimes regarded as the world’s first programmer because of her work with Charles Babbage. She was also the daughter of the poet Lord Byron.
Ada is seeing significant usage worldwide in high-integrity / safety-critical / high-security domains including commercial and military aircraft avionics, air traffic control, railroad systems, and medical devices. With its embodiment of modern software engineering principles Ada is an excellent teaching language for both introductory and advanced computer science courses, and it has been the subject of significant university research especially in the area of real-time technologies.
AdaCore has a long history and close connection with the Ada programming language. Company members worked on the original Ada 83 design and review, played key roles in the Ada 95 project and Ada 2005 effort, and continue to be deeply involved with the Ada 2012 revision process. The initial GNAT compiler was essential to the growth of Ada 95; it was delivered at the time of the language’s standardization, thus guaranteeing that users would have a quality implementation for transitioning to Ada 95 from Ada 83 or other languages.
Language Overview
Ada is multi-faceted. From one perspective it is a classical stack-based general-purpose language, not tied to any specific development methodology. It has a simple syntax, structured control statements, flexible data composition facilities, strong type checking, traditional features for code modularization (“subprograms”), and a mechanism for detecting and responding to exceptional run-time conditions (“exception handling”).
But it also includes much more:
Scalar ranges
Unlike languages based on C syntax (such as C++, Java, and C#), Ada allows the programmer to simply and explicitly specify the range of values that are permitted for variables of scalar types (integer, floating-point, fixed-point, or enumeration types). The attempted assignment of an out-of-range value causes a run-time error. The ability to specify range contraints makes programmer intent explicit and makes it easier to detect a major source of coding and user input errors.
Programming in the large
The original Ada 83 design introduced the package construct, a feature that supports encapsulation (“information hiding”) and modularization, and that allows the developer to control the namespace that is accessible within a given compilation unit. Ada 95 introduced the concept of “child units,” adding considerably flexibility and easing the design of very large systems. Ada 2005 extended the language’s modularization facilities by allowing mutual references between package specifications, thus making it easier to interface with languages such as Java.
Generic templates
A key to reusable components is a mechanism for parameterizing modules with respect to data types and other program entities, for example a stack package for an arbitrary element type. Ada meets this requirement through a facility known as “generics”; since the parameterization is done at compile time, run-time performance is not penalized.
Object-Oriented Programming (OOP)
Ada 83 was object-based, allowing the partitioning of a system into modules corresponding to abstract data types or abstract objects. Full OOP support was not provided since, first, it seemed not to be required in the real-time domain that was Ada’s primary target, and, second, the apparent need for automatic garbage collection in an OO language would have interfered with predictable and efficient performance.
However, large real-time systems often have components such as GUIs that do not have real-time constraints and that could be most effectively developed using OOP features. In part for this reason, Ada 95 supplies comprehensive support for OOP, through its “tagged type” facility: classes, polymorphism, inheritance, and dynamic binding. Ada 95 does not require automatic garbage collection but rather supplies definitional features allowing the developer to supply type-specific storage reclamation operations (“finalization”). Ada 2005 provided additional OOP features including Java-like interfaces and traditional operation invocation notation.
Ada is methologically neutral and does not impose a “distributed overhead” for OOP. If an application does not need OOP, then the OOP features do not have to be used, and there is no run-time penalty.
Concurrent programming
Ada supplies a structured, high-level facility for concurrency. The unit of concurrency is a program entity known as a “task.” Tasks can communicate implicitly via shared data or explicitly via a synchronous control mechanism known as the rendezvous. A shared data item can be defined abstractly as a “protected object” (a feature introduced in Ada 95), with operations executed under mutual exclusion when invoked from multiple tasks. Asynchronous task interactions are also supported, specifically timeouts and task termination. Such asynchronous behavior is deferred during certain operations, to prevent the possibility of leaving shared data in an inconsistent state. Mechanisms designed to help take advantage of multi-core architectures are being introduced in Ada 2012.
Systems programming
Both in the “core” language and the Systems Programming Annex, Ada supplies the necessary features to allow the programmer to get close to the hardware. For example, you can specify the bit layout for fields in a record, define the alignment and size, place data at specific machine addresses, and express specialized or time-critical code sequences in assembly language. You can also write interrupt handlers in Ada, using the protected type facility.
Real-time programming
Ada’s tasking features allow you to express common real-time idioms (periodic tasks, event-driven tasks), and the Real-Time Annex provides several facilities that allow you to avoid unbounded priority inversions. A protected object locking policy is defined that uses priority ceilings; this has an especially efficient implementation in Ada (mutexes are not required) since protected operations are not allowed to block. Ada 95 defined a task dispatching policy that basically requires tasks to run until blocked or preempted, and Ada 2005 introduced several others including Earliest Deadline First.
High-integrity systems
With its emphasis on sound software engineering principles Ada supports the development of high-integrity applications, including those that need to be certified against safety standards such as DO-178B and security standards such as the Common Criteria. For example, strong typing means that data intended for one purpose will not be accessed via inappropriate operations; errors such as treating pointers as integers (or vice versa) are prevented. And Ada’s array bounds checking prevents buffer overrun vulnerabilities that are common in C and C++.
However, the full language is inappropriate in a safety-critical application, since the generality and flexibility may interfere with traceability / certification requirements. Ada addresses this issue by supplying a compiler directive, pragma Restrictions, that allows you to constrain the language features to a well-defined subset (for example, excluding dynamic OOP facilities).
The evolution of Ada has seen the continued increase in support for safety-critical and high-security applications. Ada 2005 standardized the Ravenscar Profile, a collection of concurrency features that are powerful enough for real-time programming but simple enough to make certification practical. Ada 2012 is introducing annotation facilities for adding pre-conditions, post-conditions, and invariants to programs. These can serve both for run-time checking and as input to static analysis tools.

Ada Benefits Summary
Helps you design safe and reliable code
Reduces development costs
Supports new and changing technologies
Facilitates development of complex programs
Helps make code readable and portable
Reduces certification costs for safety-critical software
Ada Features Summary
Object orientated programming
Strong typing
Abstractions to fit program domain
Generic programming/templates
Exception handling
Facilities for modular organization of code
Standard libraries for I/O, string handling, numeric computing, containers
Systems programming
Concurrent programming
Real-time programming
Distributed systems programming
Numeric processing
Interfaces to other languages (C, COBOL, Fortran)
In brief, Ada is an internationally standardized language combining object-oriented programming features, well-engineered concurrency facilities, real-time support, and built-in reliability. An appropriate tool for addressing the real issues facing software developers today, Ada is used throughout a number of major industries to design software that protects businesses and lives.
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
Ada เป็นภาษาโปรแกรมสมัยใหม่ที่ออกแบบมาสำหรับการใช้งานระยะยาวขนาดใหญ่ ) และระบบสมองกลฝังตัวโดยเฉพาะ ) ที่มีความน่าเชื่อถือและประสิทธิภาพเป็นสิ่งจำเป็น มันถูกพัฒนาขึ้นในช่วงต้นทศวรรษ 1980 ( รุ่นนี้เป็นที่รู้จักกันโดยทั่วไปเป็น Ada 83 ) โดยทีมที่นำโดย ดร. ฌอง ichbiah ด้าน Honeywell วัวในฝรั่งเศสภาษาถูกแก้ไขและปรับปรุงในแฟชั่นกันขึ้นในช่วงต้นทศวรรษ 1990 ภายใต้ความเป็นผู้นำของนายทักเกอร์ Taft จาก intermetrics ในสหรัฐฯ ส่งผลให้ภาษา Ada 95 เป็นครั้งแรก ได้มาตรฐานในระดับสากล ( ISO ) ภาษาเชิงวัตถุ . ภายใต้การอุปถัมภ์ของ ISO อีก ( เล็กน้อย ) การแก้ไขแล้วเสร็จเป็นให้แก้ไขมาตรฐานรุ่นของภาษานี้เป็นที่รู้จักกันเป็นเอ 2005 ทำงานอยู่ในความคืบหน้าในคุณสมบัติเพิ่มเติมบางอย่าง ( รวมทั้งการสนับสนุน anotations โปรแกรม ) และคาดว่าจะแล้วเสร็จในปี 2012
ชื่อ " เอ " เป็นอักษรย่อ มันถูกเลือกในเกียรติของออกัสตาโพลาแคนทัส ( 1815-1852 )นักคณิตศาสตร์ที่บางครั้งถือว่าเป็นโปรแกรมเมอร์คนแรกของโลก เพราะงานของเธอกับชาร์ลสแบบเบจ . นอกจากนี้เธอยังเป็นลูกสาวของลอร์ดไบรอนกวี .
ADA เห็นการใช้งานสำคัญทั่วโลกในความซื่อสัตย์สูง / สูง / ความปลอดภัยที่สำคัญโดเมนรักษาความปลอดภัยรวมทั้งการบินอากาศยานพาณิชย์และการทหาร ควบคุมจราจรทางอากาศ ระบบรถไฟ และอุปกรณ์ทางการแพทย์กับศูนย์รวมของหลักการทางวิศวกรรมซอฟต์แวร์สมัยใหม่ Ada เป็นภาษา การสอนทั้งหลักสูตรเบื้องต้นและขั้นสูง วิทยาศาสตร์ คอมพิวเตอร์ และได้รับเรื่องของทางมหาวิทยาลัยวิจัย โดยเฉพาะอย่างยิ่งในพื้นที่ของเทคโนโลยีแบบเรียลไทม์ .
adacore มีประวัติศาสตร์ที่ยาวนาน และการเชื่อมต่อที่ใกล้ชิดกับภาษาการเขียนโปรแกรมของเอสมาชิกของ บริษัท ทำงานบนต้นฉบับ ADA 83 ออกแบบและตรวจสอบมีบทบาทสำคัญในเอ 95 โครงการเอ 2005 และความพยายามและยังหลวมตัวกับเอ 2012 การปรับปรุงกระบวนการ คอมไพเลอร์ริ้นเริ่มต้นที่จำเป็นต่อการเจริญเติบโตของ ADA 95 ; มันถูกส่งในเวลามาตรฐานของภาษาดังนั้นรับประกันได้ว่าผู้ใช้จะต้องใช้ที่มีคุณภาพสำหรับการ Ada 95 จาก ADA 83 หรือภาษาอื่น ๆ
-
ภาษา ADA วันนี้ . มุมหนึ่งเป็นเอนกประสงค์ กองคลาสสิกพื้นฐานภาษาไม่เชื่อมโยงกับวิธีการพัฒนาใด ๆที่เฉพาะเจาะจง มันมีไวยากรณ์ง่าย โครงสร้างงบควบคุม เครื่ององค์ประกอบข้อมูลที่ยืดหยุ่นตรวจสอบประเภทที่แข็งแกร่ง , คุณสมบัติดั้งเดิมของรหัส modularization ( " ย่อย " ) และกลไกสำหรับการตรวจสอบและการตอบสนองต่อเงื่อนไขระยะเวลาพิเศษ ( " การจัดการ " ยกเว้น ) .
แต่มันยังมีอีกมากมาย :

สเกลาร์แตกต่างจากภาษา C ช่วงตามไวยากรณ์ ( เช่น C , Java , C # )เอช่วยให้โปรแกรมเมอร์ที่จะง่ายและชัดเจนกำหนดช่วงของค่าที่จะได้รับอนุญาตสำหรับตัวแปรสเกลาร์ ( จำนวนเต็มชนิดจุดลอยตัวเรื่อง แจง , หรือประเภท ) พยายามโอนออกช่วงค่าสาเหตุข้อผิดพลาดเวลาทำงาน .ความสามารถในการระบุช่วง contraints ทำให้โปรแกรมเมอร์เจตนาอย่างชัดเจน และทำให้มันง่ายขึ้นเพื่อตรวจสอบแหล่งที่มาของรหัสข้อผิดพลาดที่ผู้ใช้ป้อน โปรแกรมในขนาดใหญ่

ต้นฉบับ ADA 83 ออกแบบแนะนำแพคเกจสร้างคุณลักษณะที่สนับสนุน encapsulation ( " ข้อมูล modularization ซ่อน " ) ,และช่วยให้นักพัฒนาเพื่อควบคุม namespace ที่สามารถเข้าถึงได้ภายในให้สะสมหน่วย ADA 95 แนะนำแนวคิดของ " ห้องเด็ก " เพิ่มมากขึ้นมีความยืดหยุ่นและผ่อนคลาย การออกแบบระบบขนาดใหญ่มาก เอ 2005 ขยายเครื่อง modularization ของภาษาโดยให้อ้างอิงซึ่งกันและกันระหว่างคุณสมบัติของแพคเกจจึงทำให้ง่ายต่อการเชื่อมต่อกับภาษาเช่นชวา แม่แบบทั่วไป

คีย์ส่วนประกอบนำมาใช้ใหม่เป็นกลไกสำหรับ parameterizing โมดูลตามชนิดข้อมูลหรือโปรแกรมอื่น ๆ เช่น กองพัสดุประเภทองค์ประกอบโดยพลการ ADA ตรงกับความต้องการนี้ผ่านสถานที่ที่รู้จักกันเป็น " ข้อมูลทั่วไป " ตั้งแต่ parameterization เสร็จเวลาคอมไพล์เวลาทำงานประสิทธิภาพไม่หัก การเขียนโปรแกรมเชิงวัตถุ ( OOP )

เอ 83 เป็นวัตถุที่ใช้ ให้แบ่งพาร์ทิชันของระบบลงในโมดูลที่สอดคล้องกับชนิดข้อมูลนามธรรมหรือวัตถุนามธรรม สนับสนุน OOP เต็มไม่ได้ให้ตั้งแต่ครั้งแรก มันดูเหมือนจะไม่ได้เป็นในแบบเรียลไทม์ โดเมนที่เป็นเป้าหมายหลักของอัยการ และ สองส่วนต้องเก็บขยะอัตโนมัติในภาษา OO จะแทรกแซงการปฏิบัติงานได้และมีประสิทธิภาพ .
แต่ระบบเรียลไทม์ที่มีขนาดใหญ่มักจะมีองค์ประกอบ เช่น guis ที่ไม่ได้มีข้อจำกัดแบบเรียลไทม์ และสามารถพัฒนาได้อย่างมีประสิทธิภาพมากที่สุด โดยใช้คุณลักษณะของอุ๊ย ในส่วนสำหรับเหตุผลนี้ เอ 95 วัสดุสนับสนุนที่ครอบคลุมสำหรับซิผ่าน " , ประเภท " สถานที่ : ชั้นเรียน , polymorphism , มรดก , และแบบไดนามิกที่มีผลผูกพัน ADA 95 ไม่ต้องเก็บขยะอัตโนมัติ แต่วัสดุคำนิยามคุณลักษณะให้นักพัฒนาที่จะจัดหาประเภทเฉพาะกระเป๋าที่การ " ประกาศ " )เอ 2005 ให้คุณสมบัติเพิ่มเติมรวมทั้ง Java OOP เช่นการเชื่อมต่อและเอกสารการผ่าตัดแบบดั้งเดิม methologically
ADA เป็นกลางและไม่กำหนด " การกระจายค่าใช้จ่าย " อุ๊ย ถ้าโปรแกรมไม่ต้อง OOP แล้วอุ๊ย คุณสมบัติไม่ต้องใช้ และไม่มีความเสี่ยงของการลงโทษ .

การเขียนโปรแกรม ADA วัสดุโครงสร้างสิ่งอำนวยความสะดวกพื้นฐานสำหรับการเห็นพ้องด้วย หน่วยของการเป็นโปรแกรมองค์กรที่รู้จักกันเป็น " งาน " งานสามารถสื่อสารผ่านทางข้อมูลที่ใช้ร่วมกันหรือโดยปริยายอย่างชัดเจนผ่านพร้อมกันกลไกการควบคุมที่รู้จักกันเป็นจุดนัดพบ แบ่งปันข้อมูลสามารถกำหนด abstractly เป็น " ป้องกันวัตถุ " ( มีแนะนำใน Ada 95 )กับการดำเนินการดำเนินการภายใต้การยกเว้นร่วมกันเมื่อเรียกใช้จากงานหลาย การสื่อสารแบบอะซิงโครนัส ยังมีงานรองรับ โดยเฉพาะการหมดเวลาและการเลิกจ้างงาน พฤติกรรมแบบอะซิงโครนัส เป็น รอการตัดบัญชีในระหว่างการดำเนินการบางอย่างเพื่อป้องกันความเป็นไปได้ที่จะออกจากข้อมูลที่ใช้ร่วมกันในสถานะที่ไม่สอดคล้องกันกลไกที่ออกแบบมาเพื่อช่วยให้ใช้ประโยชน์จากสถาปัตยกรรมมัลติคอร์จะถูกใช้ในการโปรแกรมระบบเอ 2012

ทั้งใน " หลัก " ภาษาและการเขียนโปรแกรมระบบภาคผนวก , Ada วัสดุคุณลักษณะที่จำเป็นเพื่อให้โปรแกรมเมอร์ที่จะใกล้ชิดกับฮาร์ดแวร์ ตัวอย่างเช่น คุณสามารถระบุรูปแบบบิตสำหรับเขตข้อมูลในระเบียน การกำหนดตำแหน่งและขนาดสถานที่ข้อมูลที่อยู่เครื่องที่เฉพาะเจาะจงและแสดงเฉพาะ หรือเวลาที่สำคัญรหัสลำดับในภาษา Assembly นอกจากนี้คุณยังสามารถเขียนรบกวนผู้ดูแลในอาดา , ใช้ป้องกันประเภทต่างๆ การเขียนโปรแกรมเวลาจริง

เอกำลังยุ่งอยู่กับคุณสมบัติที่อนุญาตให้คุณแสดงสำนวนแบบทั่วไป ( งานงวดงานขับเคลื่อนงาน )และเวลาจริงภาคผนวกมีสิ่งอำนวยความสะดวกหลายอย่างที่ช่วยให้คุณเพื่อหลีกเลี่ยง inversions ลําดับความสําคัญของความ ป้องกันการล็อควัตถุที่ใช้นโยบายกำหนดเพดานลำดับความสำคัญ นี้มีการดำเนินการโดยเฉพาะอย่างยิ่งมีประสิทธิภาพในระดับ mutexes ไม่ต้อง ) เนื่องจากป้องกันการไม่ได้รับอนุญาตให้บล็อกงานงานเอ 95 กำหนดนโยบายซึ่งโดยทั่วไปต้องการงานวิ่งจนบล็อคหรือซึ่งยึดเอาไปก่อน และเอ 2005 แนะนำผู้อื่นหลาย รวมทั้งกำหนดระบบเก่าก่อน

มีความสมบูรณ์สูง เน้นหลักการวิศวกรรมซอฟต์แวร์เสียงเอสนับสนุนการพัฒนาของโปรแกรมความสมบูรณ์สูงรวมทั้งผู้ที่ต้องได้รับการรับรองจากมาตรฐานความปลอดภัย เช่น do-178b และความปลอดภัยมาตรฐาน เช่น มาตรฐานทั่วไป ตัวอย่างเช่น แข็งแรง พิมพ์ดีดหมายความว่าข้อมูลไว้สำหรับวัตถุประสงค์หนึ่งจะไม่สามารถเข้าถึงได้ผ่านการดำเนินการที่ไม่เหมาะสม เช่น การรักษาข้อผิดพลาดชี้เป็นจำนวนเต็ม ( หรือในทางกลับกัน ) จะป้องกันได้อัยการเรย์ขอบเขตการตรวจสอบและป้องกันช่องโหว่บัฟเฟอร์ overrun ที่มีทั่วไปใน C และ C .
แต่ภาษาเต็มไม่เหมาะสมในการประยุกต์ใช้ความปลอดภัย เนื่องจากสภาพทั่วไปและความยืดหยุ่นอาจรบกวนกับความต้องการ / ใบรับรองการตรวจสอบย้อนกลับ เอที่อยู่ปัญหานี้โดยการจัดหารวบรวมคำสั่งแพรคม่าจำกัดที่ช่วยให้คุณสามารถกำหนดคุณลักษณะภาษาย่อยที่ชัดเจน ( เช่น ไม่รวมเครื่อง OOP แบบไดนามิก ) .
วิวัฒนาการของ Ada ได้เพิ่มขึ้นอย่างต่อเนื่องในการสนับสนุนด้านความปลอดภัยและการรักษาความปลอดภัยสูง ADA ตามมาตรฐานโปรไฟล์ของราเว็นส์คาร์ 2005 ,คอลเลกชันของการเห็นพ้องด้วยคุณลักษณะที่มีประสิทธิภาพเพียงพอสำหรับการเขียนโปรแกรมเวลาจริงแต่ง่ายพอที่จะทำให้การรับรองในทางปฏิบัติ เอ 2012 แนะนำหมายเหตุสิ่งอำนวยความสะดวกสำหรับการเพิ่มเงื่อนไขการโพสต์ก่อนเงื่อนไขและผลยืนยงโปรแกรม เหล่านี้สามารถใช้ทั้งในการตรวจสอบความเสี่ยงและนำเข้าเครื่องมือการวิเคราะห์แบบคงที่


เอประโยชน์สรุปช่วยให้คุณออกแบบที่ปลอดภัยและเชื่อถือได้รหัส

สนับสนุนลดต้นทุนการพัฒนาใหม่และเปลี่ยนเทคโนโลยีในการพัฒนาโปรแกรมที่ซับซ้อน

ช่วยให้รหัสที่อ่านได้และแบบพกพาที่ช่วยลดต้นทุน รับรองความปลอดภัย

ที่สำคัญซอฟต์แวร์คุณลักษณะวัตถุ orientated การเขียนโปรแกรม ADA สรุป


แข็งแรงพิมพ์นามธรรมให้พอดีกับโปรแกรมทั่วไปโปรแกรมโดเมน
/ แม่แบบการจัดการข้อยกเว้น

เครื่องสำหรับโมดูลองค์กรของมาตรฐานห้องสมุดรหัส
สำหรับ I / O , การจัดการสตริง , คำนวณตัวเลข , ภาชนะ


ระบบเขียนโปรแกรมการเขียนโปรแกรมเวลาจริงโปรแกรม


ระบบกระจายการเขียนโปรแกรมการประมวลผลตัวเลขอินเตอร์เฟซภาษา ( C , โคบอล ฟอร์แทรน )
ในช่วงสั้น ๆ , ADA มาตรฐานในระดับสากล ภาษาการเขียนโปรแกรมเชิงวัตถุคุณสมบัติรวม ,ดีวิศวกรรมพร้อมกันเครื่องสนับสนุนเรียลไทม์และความน่าเชื่อถือในตัว เป็นเครื่องมือที่เหมาะสมในการ จริง ปัญหาที่เผชิญหน้ากับนักพัฒนาซอฟต์แวร์วันนี้ ADA ใช้ตลอดตัวเลขของอุตสาหกรรมหลักในการออกแบบซอฟต์แวร์ที่ช่วยปกป้องธุรกิจและชีวิต
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2026 I Love Translation. All reserved.

E-mail: