Forum

by Jocelyn-Fiat (modified: 2018 Sep 05)

:: Welcome :: Forum

Eiffel related groups and forums:

Check the latest messages:

  • Sep 23
    Can I rely to ISE Eiffel as a programming language to offer web services through a DB connection

    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
    • ...
  • Sep 23
    Eiffel 18.07 trying to get an ODBC connection running from examples

    Trying to just compile Eiffel_18.07/examples/store/esql/ on Debian 9 I've got following error:

    In file included from od243.c:202:0,
                     from big_file_C8_c.c:42:
    /opt/Eiffel_18.07/library/store/dbms/rdbms/odbc/Clib/odbc.h:27:17: fatal error: sql.h: No such file or directory
     #include <sql.h>
                     ^
    compilation terminated.
    Makefile:36: recipe for target 'big_file_C8_c.o' failed
    make[1]: *** [big_file_C8_c.o] Error 1
    Makefile:72: recipe for target 'C8/Cobj8.o' failed
    make: *** [C8/Cobj8.o] Error 2
    make: *** Waiting for unfinished jobs....
    

    an apt-get install unixodbc unixodbc-dev odbc-postgresql got me further to

    gcc: error: /opt/Eiffel_18.07/library/store/spec/linux-x86-64/lib/libodbc.a: No such file or directory
    Makefile:177: recipe for target 'esql' failed
    

    When I try to go to /opt/Eiffel_18.07/library/store/dbms/rdbms/odbc/Clib thinking I'll be able to generate some code to get it working following the /opt/Eiffel_18.07/library/store/install into /opt/Eiffel_18.07/library/store/dbms/rdbms/odbc/Clib trying a sudo /opt/Eiffel_18.07/studio/spec/linux-x86-64/bin/finish_freezing -library got

    cp: cannot stat '/usr/include/eiffelstudio-18.07/config.sh': No such file or directory
    Can't find config.sh.
    Makefile.SH: 6: .: Can't open ./config.sh
    

    Being a fan of Eiffel, it doesn't seem to be working out of the box and I didn't find enough documentation to get it working :-()

  • Sep 23
    Why current and "old" value of the same expression in a postcondition are equal?

    I'm trying to get the value of an entry in a 2D-array before the implementation and afterwards. But the following postcondition is failing because the 2 entries are somehow the same (and yes, I have redefined is_equal, so that ~ will be object equality):

        ensure
            designated_cell_changed:
                get_entry (row + 1, column + 1) /~ old get_entry (row + 1, column + 1)
    

    Why do I get a postcondition violation designated_cell_changed?

  • Sep 22
    Re: [eiffel-users] Re: Aspect Oriented Programming (AOP)
    It strikes me that the runtime settings of the assertion violation conditions is an an example of aspect oriented programming. Currently, you can turn on or off things like preconditions or postconditions. It's not too hard to picture a more elaborate version where you could conditionally change
  • Sep 22
    Re: [eiffel-users] Re: Aspect Oriented Programming (AOP)
    This makes good sense to me.
  • Sep 22
    Re: [eiffel-users] Re: Aspect Oriented Programming (AOP)
    Hi - The best way to understand AOP is by starting from the problem, not the solution. For most problems in programming, we are able to implement them by writing a number of classes or a small library. This localizes the solution to a small proportion of the code base, keeps complexity down,
  • Sep 22
    Re: [eiffel-users] Re: Aspect Oriented Programming (AOP)
    exactly my own memory. - thomas
  • Sep 22
    Re: [eiffel-users] Re: Aspect Oriented Programming (AOP)
    Back when AOP started coming on the scene, I briefly looked into it and then discarded it. My take away (granted, I'm going off memory of many years ago) was that it was an attempt to repackage OO from objects with appropriately related actions, to actions which applied across multiple objects.
  • Sep 22
    Re: Aspect Oriented Programming (AOP)
    And then I see the notion of "horizontal cross cutting" and I am led immediately to Generics + Agents = AOP, which makes AOP a "clever" thing, but not a needful thing for Eiffel folks. Yes? No?
  • Sep 21
    Re: Aspect Oriented Programming (AOP)
    It also sounds wildly dangerous to correctness and reliability. See: https://en.wikipedia.org/wiki/Aspect-oriented_programming
  • Sep 21
    Maximum of 2 INTEGERS?

    What's the syntax for the maximum of 2 INTEGERS?

    Eiffel documentation is so bad, literally could not find the answer to this simple question anywhere!

    Or does it not exist and I have to use if-statements?

  • Sep 21
    Aspect Oriented Programming (AOP)
    Hi All, I have heard this term before (along with many others). I have come across it again in the Java Spring library framework descriptions. As I am reading about it, the thought comes to me this is equivalent to Agents in Eiffel. Is that a correct assessment? Cheers, Larry
  • Sep 21
    Re: [eiffel-users] Error compiling ES C runtime
    Thanks Manu - that fixed it for me. Looks a bit fragile if it has to rely on the timestamps being right. Isn't there a way to fix this? Bernd On 21/09/2018 04:47, Emmanuel Stapf wrote: And make sure to follow the checkout instructions: https://dev.eiffel.com/Subversion_Settings The most
  • Sep 21
    RE: [eiffel-users] Error compiling ES C runtime
    And make sure to follow the checkout instructions: https://dev.eiffel.com/Subversion_Settings The most critical one being "use-commit-times"="yes". Manu From: 'kwa...@mail.ru' via Eiffel Users Sent: Thursday, September 20, 2018 20:40 To: eiffel...@google
  • Sep 21
    Re: [eiffel-users] Error compiling ES C runtime
    According to https://dev.eiffel.com/Compiling_EiffelStudio you also need to set ISE_PLATFORM. Regards, Alexander Kogtenkov ----- Reply message ----- От: "Bernd Schoeller" Кому: "Eiffel Users" Тема: [eiffel-users] Error compiling ES C runtime
  • Sep 20
    Error compiling ES C runtime
    Hi, I am trying to compile EiffelStudio, and I have issues getting the C runtime to compile. I assume I have correctly setup ISE_EIFFEL, ISE_LIBRARY and EIFFEL_SRC. I get the following error with quick_configure: Making all in idrs... make[2]: Entering directory '/home/schoelle/Code/EiffelS
  • Sep 20
    Re: [eiffel-users] IRON Repo Error
    Do you use the web interface to upload the archive? On my side, I use only the iron client to create or update a package. -- Jocelyn On Thu, Sep 20, 2018 at 9:14 PM Larry Rix wrote: > [image: iron_repo_error_1.PNG] > > > Got this when attempting to update the
  • Sep 20
    Re: [eiffel-users] IRON Repo Error
    Created a short video to get community feedback.
  • Sep 20
    IRON Repo Error
    [image: iron_repo_error_1.PNG] Got this when attempting to update the archive file on the randomizer library I was setting up.
  • Sep 20
    Re: [eiffel-users] IRON Repo Error
    Yes--I used the web interface to update the archive file. That is the only way I can get it to work on my local.
  • Sep 20
    Re: IRON Repo Error
    I think the archive file is too big! 14.5MB Why so much data? This is a randomizing library which has dependent source text data file which do (in fact) have a lot of data (e.g. names, verbs, cities, and so on).
  • Sep 20
    Re: [eiffel-users] Re: JSON to Eiffel object
    Hi Jocelyn, Thanks for your feedback! It is always valuable to me. Yeah—the type check is not needed as you say. Sometimes, I do that just to be clear to myself as a reader, but that makes me wonder: By doing that, am I creating more work for the processor by the code that is produced? Is this
  • Sep 20
    Re: [eiffel-users] Re: Register IRON account
    You don't need to do that yourself, did you tried iron share update --username --password --repository https://iron.eiffel.com/18.07 "C:\Users\LJR19\Documents\GitHub\json_ext\package.iron" --package-name "json_ext" it should use the tar and bz2 provided with EiffelStu
  • Sep 20
    Re[2]: [eiffel-users] Re: Register IRON account
    An alternative to cygwin is WSL (Windows Subsystem for Linux) that is part of Windows for quite a bit now. Alexander Kogtenkov Woland's Cat : Install and use cygwin and forget horrors like powershell and the windows file system . It is a great pain-reliever ;) On
  • Sep 19
    Re: [eiffel-users] Re: Register IRON account
    Holy cats! ... what a job to find how to operate tar in windows! tar -cvf .\Users\LJR19\Documents\GitHub\archive.tar ".\Users\LJR19\Documents\GitHub\json_ext" 1. I had to replace the "C:" with a "." (relative path, removing the C:) 2. The same is true for the "archive.tar" file it
  • See more ...