Discussion:
[eiffel_software] Searching for Eiffel features
Joe Abbate jma@freedomcircle.com [eiffel_software]
2015-07-23 01:47:18 UTC
Permalink
Hello,

Has someone prepared or perhaps seen a list of Eiffel features organized
not by class but by, shall we call it "common programming task"
categories? For example, taking each Standard C header, listing each
function therein and showing an equivalent way of doing it in Eiffel
(and of course without calling C from Eiffel)?

The reason for asking is that in my experience:

- searching via Google as "Eiffel 'task'" tends to turn up links to the
tour Eiffel, not the language

- adding 'programming' to the above doesn't seem to help much unless
'task' is expressed using a C-specific word, in which case you get links
to C/C++ (e.g., search Google for "eiffel programming scanf")

- using the "search" on eiffel.org/documentation or equivalently using
Google with "site:eiffel.org" doesn't help much if your search terms are
generic descriptions (e.g., "delete file")

- rosettacode.org has task lists like that, but

- some tasks have no examples for Eiffel, e.g., delete a file or
rename a file

- for tasks that do have examples, sometimes the examples are too
simplistic (e.g., under file I/O the example copies a file a character
at a time, while the preceding example --in Delphi-- shows how to write
a structured record.

I'd be willing to collate such a list if there's interest.

I would also like to know if someone has pointers (documentation, blog
posts, samples, etc.) on preferred ways to read and write a multi-field
file in both text and binary formats. The files already exist and have
a particular format so Eiffel object persistence features would not be
of help.

Thanks.

Joe
Bernd Schoeller bernd.schoeller@gmail.com [eiffel_software]
2015-07-23 05:56:51 UTC
Permalink
Hi Joe,

Assuming you are working on a sane operating system (or if not, you have
cygwin installed):

I tend to look for features/functionality by using 'find/grep' on the
Eiffel library directory. Most of the stuff you need is in there.

For example, looking for logarithm:

$ find $ISE_EIFFEL/library -name '*.e' -print0 | xargs -0 grep -i logarithm
/home/schoelle/Apps/estudio/Eiffel_14.05/library/base/elks/support/double_math.e:
-- Base 2 logarithm of `v'
/home/schoelle/Apps/estudio/Eiffel_14.05/library/base/elks/support/double_math.e:
-- Natural logarithm of `v'
/home/schoelle/Apps/estudio/Eiffel_14.05/library/base/elks/support/double_math.e:
-- Base 10 logarithm of `v'
/home/schoelle/Apps/estudio/Eiffel_14.05/library/base/elks/support/math_const.e:
-- Logarithm base
/home/schoelle/Apps/estudio/Eiffel_14.05/library/base/elks/support/single_math.e:
-- Base 2 logarithm of `v'
/home/schoelle/Apps/estudio/Eiffel_14.05/library/base/elks/support/single_math.e:
-- Natural logarithm of `v'
/home/schoelle/Apps/estudio/Eiffel_14.05/library/base/elks/support/single_math.e:
-- Base 10 logarithm of `v'
/home/schoelle/Apps/estudio/Eiffel_14.05/library/base/ise/support/dotnet/double_math.e:
-- Base 2 logarithm of `v'
/home/schoelle/Apps/estudio/Eiffel_14.05/library/base/ise/support/dotnet/double_math.e:
-- Natural logarithm of `v'
/home/schoelle/Apps/estudio/Eiffel_14.05/library/base/ise/support/dotnet/double_math.e:
-- Base 10 logarithm of `v'
/home/schoelle/Apps/estudio/Eiffel_14.05/library/base/ise/support/dotnet/single_math.e:
-- Base 2 logarithm of `v'
/home/schoelle/Apps/estudio/Eiffel_14.05/library/base/ise/support/dotnet/single_math.e:
-- Natural logarithm of `v'
/home/schoelle/Apps/estudio/Eiffel_14.05/library/base/ise/support/dotnet/single_math.e:
-- Base 10 logarithm of `v'

Regards,
Bernd
Post by Joe Abbate ***@freedomcircle.com [eiffel_software]
Hello,
Has someone prepared or perhaps seen a list of Eiffel features organized
not by class but by, shall we call it "common programming task"
categories? For example, taking each Standard C header, listing each
function therein and showing an equivalent way of doing it in Eiffel
(and of course without calling C from Eiffel)?
- searching via Google as "Eiffel 'task'" tends to turn up links to the
tour Eiffel, not the language
- adding 'programming' to the above doesn't seem to help much unless
'task' is expressed using a C-specific word, in which case you get links
to C/C++ (e.g., search Google for "eiffel programming scanf")
- using the "search" on eiffel.org/documentation or equivalently using
Google with "site:eiffel.org" doesn't help much if your search terms are
generic descriptions (e.g., "delete file")
- rosettacode.org has task lists like that, but
- some tasks have no examples for Eiffel, e.g., delete a file or
rename a file
- for tasks that do have examples, sometimes the examples are too
simplistic (e.g., under file I/O the example copies a file a character
at a time, while the preceding example --in Delphi-- shows how to write
a structured record.
I'd be willing to collate such a list if there's interest.
I would also like to know if someone has pointers (documentation, blog
posts, samples, etc.) on preferred ways to read and write a multi-field
file in both text and binary formats. The files already exist and have
a particular format so Eiffel object persistence features would not be
of help.
Thanks.
Joe
[Non-text portions of this message have been removed]
Joe Abbate jma@freedomcircle.com [eiffel_software]
2015-07-23 14:00:32 UTC
Permalink
Hello Bernd,
Post by Bernd Schoeller ***@gmail.com [eiffel_software]
Assuming you are working on a sane operating system (or if not, you have
I tend to look for features/functionality by using 'find/grep' on the
Eiffel library directory. Most of the stuff you need is in there.
Thanks. That certainly helps for the few ones that I tried so far.
Maybe I'll try to build that list and/or update rosettacode.org. It
still seems odd that such a list is not already readily available.

Best,

Joe
Peter Gummer p-gummer@bigpond.net.au [eiffel_software]
2015-07-24 01:09:40 UTC
Permalink
There was some interest in writing Rosetta Code examples a few years ago. A couple of solutions were added to https://dev.eiffel.com/RosettaCode before adding them to Rosetta Code.

See this thread in 2012:

https://groups.yahoo.com/neo/groups/eiffel_software/conversations/topics/18951

- Peter Gummer
Post by Joe Abbate ***@freedomcircle.com [eiffel_software]
Hello Bernd,
Post by Bernd Schoeller ***@gmail.com [eiffel_software]
Assuming you are working on a sane operating system (or if not, you have
I tend to look for features/functionality by using 'find/grep' on the
Eiffel library directory. Most of the stuff you need is in there.
Thanks. That certainly helps for the few ones that I tried so far.
Maybe I'll try to build that list and/or update rosettacode.org. It
still seems odd that such a list is not already readily available.
Best,
Joe
Joe Abbate jma@freedomcircle.com [eiffel_software]
2015-07-24 21:58:47 UTC
Permalink
Thanks Peter,
Post by Peter Gummer p-***@bigpond.net.au [eiffel_software]
There was some interest in writing Rosetta Code examples a few years
ago. A couple of solutions were added to
https://dev.eiffel.com/RosettaCode before adding them to Rosetta Code.
That page only has two, rather unusual examples. The page
http://rosettacode.org/wiki/Category:Eiffel has links to over 100
examples (it seems, I haven't checked them).
Post by Peter Gummer p-***@bigpond.net.au [eiffel_software]
https://groups.yahoo.com/neo/groups/eiffel_software/conversations/topics/18951
That led me to http://www.eiffelhub.org/ that apparently was created by
Jocelyn Fiat in 2011, maybe as a counterpart to eiffelroom.org (created
2007, but which now redirects to https://room.eiffel.com/ )? I'm
guessing Eiffel Room is the "place to be", community-wise, nowadays
(even though it's owned by Eiffel Software)?

Cheers,

Joe


------------------------------------

------------------------------------

------------------------------------------------------------------------
Eiffel Software
http://www.eiffel.com
Customer support: http://support.eiffel.com
User group: http://groups.eiffel.com/join
------------------------------------------------------------------------
------------------------------------

Yahoo Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/eiffel_software/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/eiffel_software/join
(Yahoo! ID required)

<*> To change settings via email:
eiffel_software-***@yahoogroups.com
eiffel_software-***@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
eiffel_software-***@yahoogroups.com

<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/
Jocelyn Fiat jfiat@eiffel.com [eiffel_software]
2015-08-03 13:35:01 UTC
Permalink
Yes, eiffelhub.org was created to support the EiffelHub initiative.
But those days, the community is quite active on this mailing list, and
also on room.eiffel.com, and there is a new site built with Eiffel, that is
building slowly for the community: eiffel.org

Otherwise, related to RosettaCode project, Javier Velilla started
https://github.com/jvelilla/RosettaCode repository including many Eiffel
code to address rosettacode entries.

-- Jocelyn
Post by Joe Abbate ***@freedomcircle.com [eiffel_software]
Thanks Peter,
Post by Peter Gummer p-***@bigpond.net.au [eiffel_software]
There was some interest in writing Rosetta Code examples a few years
ago. A couple of solutions were added to
https://dev.eiffel.com/RosettaCode before adding them to Rosetta Code.
That page only has two, rather unusual examples. The page
http://rosettacode.org/wiki/Category:Eiffel has links to over 100
examples (it seems, I haven't checked them).
https://groups.yahoo.com/neo/groups/eiffel_software/conversations/topics/18951
That led me to http://www.eiffelhub.org/ that apparently was created by
Jocelyn Fiat in 2011, maybe as a counterpart to eiffelroom.org (created
2007, but which now redirects to https://room.eiffel.com/ )? I'm
guessing Eiffel Room is the "place to be", community-wise, nowadays
(even though it's owned by Eiffel Software)?
Cheers,
Joe
------------------------------------
------------------------------------
------------------------------------------------------------------------
Eiffel Software
http://www.eiffel.com
Customer support: http://support.eiffel.com
User group: http://groups.eiffel.com/join
------------------------------------------------------------------------
------------------------------------
Yahoo Groups Links
--
Jocelyn
------------------------------------------------------------------------
Eiffel Software
805-685-1006
http://www.eiffel.com
Customer support: http://support.eiffel.com
User group: http://groups.eiffel.com/join
------------------------------------------------------------------------


[Non-text portions of this message have been removed]
Continue reading on narkive:
Loading...