![]() It offers an object-oriented environment for software engineering. Under Eiffel's design, a software text should be able to reproduce its design documentation from the text itself, using a formalized implementation of the "Abstract Data Type".ĮiffelStudio is an integrated development environment available under either an open source or a commercial license. Eiffel formally supports abstract data types. Eiffel's most important contribution to software engineering is design by contract (DbC), in which assertions, preconditions, postconditions, and class invariants are employed to help ensure program correctness without sacrificing efficiency.Įiffel's design is based on object-oriented programming theory, with only minor influence of other paradigms or concern for support of legacy code. Eiffel supports multiple inheritance, genericity, polymorphism, encapsulation, type-safe conversions, and parameter covariance. The design goal behind the Eiffel language, libraries, and programming methods is to enable programmers to create reliable, reusable software modules. Object-Oriented Software Construction contains a detailed treatment of the concepts and theory of the object technology that led to Eiffel's design. Compilers for computer programs written in Eiffel provide extensive optimization techniques, such as automatic in-lining, that relieve the programmer of part of the optimization burden.Įiffel was originally developed by Eiffel Software, a company founded by Bertrand Meyer. Eiffel's simplicity is intended to promote simple, extensible, reusable, and reliable answers to computing problems. The aim is not only to make the code more readable, but also to allow programmers to concentrate on the important aspects of a program without getting bogged down in implementation details. multiple threads without specific mutex management).Įiffel emphasizes declarative statements over procedural code and attempts to eliminate the need for bookkeeping instructions.Įiffel shuns coding tricks or coding techniques intended as optimization hints to the compiler. Simple Concurrent Object-Oriented Programming ( SCOOP) facilitates creation of multiple, concurrently active execution vehicles at a level of abstraction above the specific details of these vehicles (e.g.Keyword-based syntax in the ALGOL/ Pascal tradition but separator-free, insofar as semicolons are optional, with operator syntax available for routines.Once routines, or routines evaluated only once, for object sharing and decentralized initialization.Agents, or objects that wrap computations, closely connected with closures and lambda calculus.Void safety, or static protection against calls on null references, through the attached-types mechanism.A uniform type system handling both value and reference semantics in which all types, including basic types such as INTEGER, are class-based.Constrained and unconstrained generic programming.Inheritance, including multiple inheritance, renaming, redefinition, "select", non-conforming inheritance, and other mechanisms intended to make inheritance safe.Automatic memory management, typically implemented by garbage collection.Design by contract tightly integrated with other language constructs. ![]() An object-oriented program structure in which a class serves as the basic unit of decomposition.The key characteristics of the Eiffel language include: 3.19 Interfaces to other tools and languages.3.16 Operator and bracket syntax, assigner commands.New language design ideas, particularly through the Ecma/ ISO standardization process, continue to be incorporated into the Eiffel language. Many concepts initially introduced by Eiffel later found their way into Java, C#, and other languages. Both are based on a set of principles, including design by contract, command–query separation, the uniform-access principle, the single-choice principle, the open–closed principle, and option–operand separation. The design of the language is closely connected with the Eiffel programming method. In 2005, Eiffel became an ISO-standardized language. Meyer conceived the language in 1985 with the goal of increasing the reliability of commercial software development the first version becoming available in 1986. FreeBSD, Linux, Mac OS X, OpenBSD, Solaris, WindowsĮiffelStudio, LibertyEiffel, SmartEiffel, Visual Eiffel, Gobo Eiffel, "The Eiffel Compiler" tecompĪda 2012, Albatross, C#, D, Java, Racket, Ruby, Sather, ScalaĮiffel is an object-oriented programming language designed by Bertrand Meyer (an object-orientation proponent and author of Object-Oriented Software Construction) and Eiffel Software.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |