-3

I'm actually working for a little company of 10 people on the area of solar panels solutions in Chile. Am working on linux since 20 years now. When I studied programing I studied a lot with Eiffel which I found really a great language. Since, I'm frustrated from a language to another missing a lot of great concepts it offers like

  • real object (no string != String; ...)
  • multi-inheritance
  • polymorphism
  • genericity
  • contract.

Working now with Java because

  • its mostly free
  • the community for tutorials and helps is huge
  • its multi-platform

I'm looking for the pros & cons to convince the instances of my hierarchy (basically talking about justifying the price of the licences which are 1500$=>1y and 2000$=>2y) and to be a bit secured that I don't pretend I'll go with a solution I'll regret at term because it will be hard to get the support I need to get my solutions working. Is ISE Eiffel reliable for production use? Will I have to get hours of pain making work a solution?

What are the pros & cons?

Pros

  • Concepts helping me to write real good quality code (multi-inheritance, polymorphism, genericity, contract)
  • Pleasure to develop with such good tools
  • Quality and reliability of produced code
  • ...

Cons

  • Poor community, meaning few tutorials
  • I'm not good in C so digging into the implementation of C libraries is something which will cost me (and to the company)
  • Price is high and has to be justified
  • My Curriculum will not be as well as if I have years of experience in Java
  • Formation of other programmers won't be easy if as most of them dont know these concepts
  • ...
Pipo
  • 4,653
  • 38
  • 47
  • @jhpratt could you explain me the reason of opinion-based, I understood the idea but dont know how to edit my question to fit this idea, could you tell me a bit more please @ least as a comment – Pipo Sep 24 '18 at 12:18

2 Answers2

2

I also work in a small company and we have decided 2 years ago to make the move to Eiffel. We had the exact same questions as you are stating. We now have official licenses and support. I studied the Eiffel Web Framework a long time (from 2014) and knew that the only good way to be able to state that it can be used in production is to just do it.

So that is what we did and now the software is in production and working robust, safe and performs well. In production are web API's based on HAL+JSON and created with the EiffelWeb Framework and a self written framework extended with reusable domain components created for the companies goals.

So ISE Eiffel is certainly reliable for production use and the support is outstanding. You won't have any hours of pain as you call it, but when you write software with EiffelStudio you get many hours of joy, but all the other aspects of software engineering will be as hard as ever ;-).

About your other cons, my two cents are:

  • For a curriculum, more important is who you are as a person and if you fit in the current team. In my opinion when someone is educated in a model driven approach and acts and thinks like that, can use that knowledge quickly on any environment. That for me personally is more important then being good at one specific programming language. Although I understand that in some cases we also need specialists to get a job done quickly. It all is a matter of personal choice, both are needed in the industry.
  • If you need other programmers that get in the team doing this, you can only work with people that want that. I know from experience, that some people want it and other people just won't. My advice is not to put energy into the people that do not want it. Work with the technology, show that it works and maybe they get convinced, else seek for others that do see this.
  • If the management is not behind the decision to work not only with Eiffel, but also with the ideas of Bertrand Meyer, then don't do it. You will find yourself always fighting against it, while it is very hard for others (not software related) to understand. It is a matter of trust, when there is no trust (at both sides) -> don't do it.
  • We now also get questions about how the Eiffel environment is handling vulnerabilities, which are compared to the way e.g. Linux and Java communities are handling that. Eiffel is not used as much as those technologies, but the Eiffel software itself is build on the strong quality core of the Eiffel method and language. This can simply not be compared with other environments. But again others do not understand this, so how is this going to be addressed? This is an example where you run into when you will be using the Eiffel technology.

A lot of words, but the plain answer to your question is just : YES it can!

P. Gokke
  • 21
  • 1
1

It's certainly reliable enough for production use.

You may well have to write wrappers for C-libraries, depending upon exacly what you want to do.

You mention web services. There is a good web framework. But there is no support (that I know of) for W3C XML schemas, for instance.

I would suggest you try writing a small prototype using the GPL edition (you won't be distributing the prototype, so you will not be restricted by the GPL). Then you should be able to assess for yourself the suitability for your usage.