SmartEiffel

Last updated

SmartEiffel was the GNU free Eiffel compiler, provided with associated tools, libraries and classes. [1] GNU has continued to support a free license Eiffel via a new project, LibertyEiffel. The compiler translates Eiffel code either to ANSI C or Java bytecode. Hence it can be used to write programs that run on virtually any platform for which an ANSI C compiler or a Java virtual machine exist.

Contents

SmartEiffel was developed at the Lorraine Laboratory of Research in Information Technology and its Applications (LORIA), an institute affiliated to the French National Institute for Research in Computer Science and Control (INRIA), on the campus of Nancy-Université in Lorraine. SmartEiffel has seen wide use in academia. [1] [2]

History

The project was initiated in 1994 by the French researcher Dominique Colnet. The compiler was then called SmallEiffel, in reference to the Smalltalk language. In 1995, the compiler was able to compile itself for the first time. In 1998, on the occasion of a visit to LORIA by Richard Stallman, the project became part of the GNU Project. In December 2002, the project was renamed SmartEiffel and reached version 1.0. In September 2004, SmartEiffel reached version 2.0.

In May 2005, after divergences with the working group for the normalization of the Eiffel language, the SmartEiffel project announced that they would not implement the ECMA TC39-TG4 norm.

By version 2.2 (2006 [3] ), the project had reportedly [4] announced via its wiki, "we, the SmartEiffel project, consider that the Eiffel language as we know it today, now contains nearly all desirable features. Therefore, version 2.2 of SmartEiffel marks the debut of a new level of stability and corresponds to what we think of as being the true Eiffel language." The statement remains published as a foundation artifact at the wiki of a successor project, LibertyEiffel. [5]

The Debian package [6] was removed at around the same time, reported as neglected by its own maintainer. [7] FreeBSD removed SmartEiffel some years later, due to lack interaction from the authors of the code, and the fact that it would not work on some architectures, [8] though with some recommendation that others may take over the challenge of maintenance of the software. [9]

Related Research Articles

<span class="mw-page-title-main">Debian</span> Linux distribution based on free and open-source software

Debian, also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software and proprietary software developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of Debian (0.01) was released on September 15, 1993, and its first stable version (1.1) was released on June 17, 1996. The Debian Stable branch is the most popular edition for personal computers and servers. Debian is also the basis for many other distributions that have different purposes, like Proxmox for servers, Ubuntu or Linux Mint for desktops, Kali for penetration testing or Pardus and Astra for government use.

Eiffel is an object-oriented programming language designed by Bertrand Meyer and Eiffel Software. Meyer conceived the language in 1985 with the goal of increasing the reliability of commercial software development; the first version becoming available in 1986. In 2005, Eiffel became an ISO-standardized language.

<span class="mw-page-title-main">GNU Compiler Collection</span> Free and open-source compiler for various programming languages

The GNU Compiler Collection (GCC) is an optimizing compiler produced by the GNU Project supporting various programming languages, hardware architectures and operating systems. The Free Software Foundation (FSF) distributes GCC as free software under the GNU General Public License. GCC is a key component of the GNU toolchain and the standard compiler for most projects related to GNU and the Linux kernel. With roughly 15 million lines of code in 2019, GCC is one of the biggest free programs in existence. It has played an important role in the growth of free software, as both a tool and an example.

<span class="mw-page-title-main">GNU Lesser General Public License</span> Free-software license

The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own software without being required by the terms of a strong copyleft license to release the source code of their own components. However, any developer who modifies an LGPL-covered component is required to make their modified version available under the same LGPL license. For proprietary software, code under the LGPL is usually used in the form of a shared library, so that there is a clear separation between the proprietary and LGPL components. The LGPL is primarily used for software libraries, although it is also used by some stand-alone applications.

<span class="mw-page-title-main">Java (programming language)</span> Object-oriented programming language

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities that are typically not available in traditional compiled languages.

In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language elements, be easier to use, or may automate significant areas of computing systems, making the process of developing a program simpler and more understandable than when using a lower-level language. The amount of abstraction provided defines how "high-level" a programming language is.

The GNU C Library, commonly known as glibc, is the GNU Project's implementation of the C standard library. It is a wrapper around the system calls of the Linux kernel for application use. Despite its name, it now also directly supports C++. It was started in the 1980s by the Free Software Foundation (FSF) for the GNU operating system.

Object Pascal is an extension to the programming language Pascal that provides object-oriented programming (OOP) features such as classes and methods.

<span class="mw-page-title-main">Free Pascal</span> Free compiler and IDE for Pascal and ObjectPascal

Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, with exception clauses that allow static linking against its runtime libraries and packages for any purpose in combination with any other software license.

<span class="mw-page-title-main">Tiny C Compiler</span> Compiler for the C programming language

The Tiny C Compiler is an x86, X86-64 and ARM processor C compiler initially written by Fabrice Bellard. It is designed to work for slow computers with little disk space. Windows operating system support was added in version 0.9.23. TCC is distributed under the GNU Lesser General Public License.

<span class="mw-page-title-main">Java (software platform)</span> Set of computer software and specifications

Java is a set of computer software and specifications that provides a software platform for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms from embedded devices and mobile phones to enterprise servers and supercomputers. Java applets, which are less common than standalone Java applications, were commonly run in secure, sandboxed environments to provide many features of native applications through being embedded in HTML pages.

<span class="mw-page-title-main">GNU IceCat</span> Firefox derivative recommending only free software

GNU IceCat, formerly known as GNU IceWeasel, is a completely free version of the Mozilla Firefox web browser distributed by the GNU Project. It is compatible with Linux, Windows, Android and macOS.

<span class="mw-page-title-main">GNU Free Documentation License</span> Copyleft license primarily for free software documentation

The GNU Free Documentation License is a copyleft license for free documentation, designed by the Free Software Foundation (FSF) for the GNU Project. It is similar to the GNU General Public License, giving readers the rights to copy, redistribute, and modify a work and requires all copies and derivatives to be available under the same license. Copies may also be sold commercially, but, if produced in larger quantities, the original document or source code must be made available to the work's recipient.

<span class="mw-page-title-main">Linux-libre</span> Version of the Linux kernel without proprietary code

According to the Free Software Foundation Latin America, Linux-libre is a modified version of the Linux kernel that contains no binary blobs, obfuscated code, or code released under proprietary licenses. In the Linux kernel, they are mostly used for proprietary firmware images. While generally redistributable, binary blobs do not give the user the freedom to audit, modify, or, consequently, redistribute their modified versions. The GNU Project keeps Linux-libre in synchronization with the mainline Linux kernel.

Object-oriented programming (OOP) is a programming paradigm based on the concept of objects, which can contain data and code: data in the form of fields, and code in the form of procedures. In OOP, computer programs are designed by making them out of objects that interact with one another.

The following outline is provided as an overview of and topical guide to the Perl programming language:

Liberty Eiffel is the free GNU Eiffel compiler. The compiler translates Eiffel code to C. Hence it can be used to write programs that run on virtually any platform for which an ANSI C compiler exists. Liberty Eiffel uses type inference to make it possible to implement a more efficient compiler.

<span class="mw-page-title-main">Debian version history</span> Releases of Debian GNU/Linux, a computer operating system

Debian releases do not follow a fixed schedule. Recent releases have been made around every two years by the Debian Project. The most recent version of Debian is Debian version 12, codename "Bookworm". The next up and coming release of Debian is Debian 13, codename "Trixie".

References

  1. 1 2 "INRIAGForge: SmartEiffel: Project Filelist". 27 August 2011. Archived from the original on 2011-08-27. Retrieved 6 August 2023.
  2. "SmartEiffel: a short course". 24 October 2016. Archived from the original on 2016-10-24. Retrieved 6 August 2023.
  3. "Smart Eiffel". c2.com.
  4. "Introduction - Liberty Eiffel Wiki". wiki.liberty-eiffel.org. Retrieved 6 August 2023.
  5. "Introduction - Liberty Eiffel Wiki". wiki.liberty-eiffel.org. Retrieved 6 August 2023.
  6. "Debian -- smarteiffel". Archived from the original on 2005-12-08. Retrieved 6 August 2023.
  7. "#406255 - RM: smarteiffel - RoQA; unmaintained - Debian Bug report logs". bugs.debian.org. Retrieved 6 August 2023.
  8. "159969 – Deprecate lang/smarteiffel -- dead upstream and broken on Tier 1". bugs.freebsd.org. Retrieved 6 August 2023.
  9. "Eiffel". www.berenddeboer.net. Retrieved 6 August 2023.

Further reading