Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Eiffel (programming language)
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Characteristics== The key characteristics of the Eiffel language include: * An object-oriented program structure in which a class serves as the basic unit of decomposition.<ref>{{cite web | title=Programming Languages - Eiffel | website=Department of Computer Science, Virginia Tech | url=https://courses.cs.vt.edu/~cs3304/Spring02/lectures/lect12.pdf | access-date=25 March 2023}}</ref> * [[Design by contract]] tightly integrated with other language constructs. * Automatic memory management, typically implemented by [[Garbage collection (computer science)|garbage collection]].<ref>{{cite web | author=Carl Friess|title=Eiffel Syntax Guide | website=Eiffel Syntax Guide | url=https://eiffel-guide.com/ | access-date=25 March 2023}}</ref> * [[Inheritance (object-oriented programming)|Inheritance]], including [[multiple inheritance]], [[wikt:renaming|renaming]], [[Method overriding|redefinition]], "select", [http://docs.eiffel.com/book/method/et-inheritance#Non-conforming_inheritance non-conforming inheritance], and other mechanisms intended to make inheritance safe. * Constrained and unconstrained [[generic programming]]<ref name="Claus">{{cite web | author=Claus Brabrand |title=The E I F F E L Programming Language | website=IT University of Copenhagen | url=http://www.itu.dk/people/brabrand/GSD-2013/Eiffel.pdf | access-date=25 March 2023}}</ref> * A uniform [[type system]] handling both value and reference semantics in which all types, including basic types such as INTEGER, are class-based. * [[Static typing]] * [[Void safety]], or static protection against calls on null references, through the attached-types mechanism. * Agents, or objects that wrap computations, closely connected with [[Closure (computer science)|closure]]s and [[lambda calculus]]. * ''Once'' routines, or routines evaluated only once, for object sharing and decentralized initialization. * Keyword-based syntax in the [[ALGOL]]/[[Pascal (programming language)|Pascal]] tradition but separator-free, insofar as semicolons are optional, with operator syntax available for routines. * Case insensitivity * Simple Concurrent Object-Oriented Programming ([[SCOOP (software)|SCOOP]]) facilitates creation of multiple, concurrently active execution vehicles at a level of abstraction above the specific details of these vehicles (e.g. multiple threads without specific mutex management).
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Eiffel (programming language)
(section)
Add topic