eiffelstudio
play

EiffelStudio 1 Environment: the tw o offerings EiffelStudio - PowerPoint PPT Presentation

- 2 - EiffelStudio 1 Environment: the tw o offerings EiffelStudio (Classic Eiffel) Windows, Unix, Linux, VMS, .NET ... ENViSioN! for Visual Studio .NET Projects are compatible 2 Eiffel for .NET One of the first languages to be


  1. - 2 - EiffelStudio 1

  2. Environment: the tw o offerings EiffelStudio (“Classic Eiffel”) Windows, Unix, Linux, VMS, .NET ... ENViSioN! for Visual Studio .NET Projects are compatible 2

  3. Eiffel for .NET One of the first languages to be available for .NET — right from the time of first announcement Result of close cooperation with Microsoft. Key role in ECMA standardization of .NET (CLI), now an ISO standard Full language, with multiple inheritance, Design by Contract, genericity etc. Full player: interoperability, consumer, producer, extender, verifiable, CLS-compliant... 3

  4. EiffelStudio EiffelBuild EiffelBuild User GUI builder EiffelBase EiffelBase classes General library Persistent Persistent Brow sing, fast com piling � ( Melting I ce™) , debugging, objects objects EiffelVision EiffelVision diagram s, m etrics... Multiplatform GUI library Serialization WEL WEL C com pilation Ansi Ansi C W in3 2 GUI Executable Executable EiffelWeb EiffelWeb Eiffel com pilation EiffelStudio EiffelStudio Jitter system system W eb scripting IL IL EiffelMath EiffelMath EiffelStore Advanced num erics Eiffel Eiffel Runtime Run ime EiffelNet EiffelNet Databases Netw orking (Rel, OO) Exte Extern rnal al .NET .NET EiffelCOM EiffelCOM C/C++/Java Java Assemblies Assemblies 4

  5. EiffelStudio: Melting Ice™ Technology Fast recompilation: time depends on size of change, not size of program Full type checking “Freeze” once in a while Optimized compilation: finalize. 5

  6. Melting Ice Technology YOUR SYSTEM FREEZING FROZEN Machine code Execution, EIFFELSTUDIO (from C code) browsing , debugging, documentation ... MELTING MELTED 6

  7. Compilation modes “Workbench” mode: � Melt � Freeze (requested, or automatic in case of new externals) Finalized mode 7

  8. Garbage collection Unreachable objects are automatically reclaimed by GC: � On by default � Incremental � Intended to be both consistent and complete Compacts memory: moves objects You can control some parameters: class MEMORY Use full_collect from MEMORY to trigger full GC cycle Redefine dispose from MEMORY to ensure that external resources are freed on collection. Must not affect Eiffel objects. 8

  9. Performance “Finalization” mode of compilation applies extensive optimizations: � Inlining � Dead code removal � Contract removal � ... Optimizations are compiler-applied and automatic; no need for manual hacking Garbage collection takes care of memory issues Intended to match the most exacting demands of industry applications 9

  10. EiffelStudio brow sing and debugging You are dealing with “development objects”: � Classes � Features � Run-time objects (for debugging) To work on an object, “pick-and-drop” it into an appropriate tool 10

  11. EiffelEnvision � Fully integrated with Visual Studio .NET � Class view (more complete than other languages) � Multi-language debugging � Designers 11

  12. Openness Eiffel can be used as “component combinator” to package elements from different sources: � Mechanisms for integrating elements in C, C++, Java, IL (.NET) � Interfaces and libraries: SQL, XML, UML (XMI), CORBA, COM, others � Particularly sophisticated mechanisms for C/C++ interfacing � Outside of .NET, compiles down to ANSI C code, facilitates support for C and C++ easier. � On .NET, seamless integration with C#, VB .NET etc. 12

  13. Special syntax for C/C++ support class RECT_STRUCT RECT_STRUCT feature feature – – Access Access class x ( x ( a_struct a_struct : : POINTER POINTER ): ): INTEGER INTEGER is is external external " C C struct struct RECT RECT access access x x use use < <windows.h windows.h> > " " " end end feature – feature – Element change Element change set_x ( ( a_struct a_struct : : POINTER POINTER ; ; a_x a_x : : INTEGER INTEGER ) ) is is set_x external external " C C struct struct RECT RECT access access x type x type int int use use < <windows.h windows.h> > " " " end end end end 13

  14. C/C++ support Functions, macros, include files, setters, getters, constructors, destructors etc. Inline C! From the outside into Eiffel: � CECIL (C-Eiffel Common Interface Library); see “Supplements”. 14

  15. Portability Source-code portability across: � Windows NT, 2000, XP � Windows 98, Me � Solaris, other commercial Unix variants � Linux � Mac OS X � BSD (Berkeley System Distribution) � VMS 15

  16. Portable graphics EiffelVision 2 library: � Simple programming model (containers) � Produce quality GUI simply and quickly � Easy to learn � Completely portable across supported platforms � Rich set of controls, matches users’ most demanding needs � Adapts automatically to native look & feel 16

  17. etc . EiffelVision EiffelVision GEL EiffelVision layers WEL 17

  18. Eiffel2Java Uses Java Native Interface JNI JNI Eiffel/ Eiffel/ Java VM Java VM .NET .NET 18

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend