The Mac issue is indeed serious; as Thomas writes, the platform is growing in importance and it is a shame that EiffelStudio does not install “straight out of the box”.
The issue come not from EiffelStudio itself but from GTK. So there are two possible strategies:
1. Build a professional-quality GTK installation procedure for the Mac (even though it’s not an Eiffel-community product, it is critical for EiffelStudio as currently set up).
2. Build a native Macintosh EiffelVision handle (i.e. offer a true Mac look-and-feel rather than a Unixy GUI).
Either way it would be great to do this as a community effort since Eiffel Software is more effective focusing its work on the core technology. We would support the effort extensively of course.
Solution 1 can be criticized as a kludge but it would remove the eyesore (or the thorn in our side, whichever anatomical part you prefer for the metaphor).
Solution 2 has been debated many times in the past and there have been a number of efforts, in particular one at ETH which got “almost there” and should clearly serve as the starting point.
We are interested in knowing whether anyone is seriously interested in participating in such an effort or better yet leading it. If you are, you can write to me directly and I will share with others involved.
-- Bertrand Meyer
From: eiffel...@googlegroups.com [mailto:eiffel...@googlegroups.com] On Behalf Of Thomas Beale
Sent: Friday, 03 March, 2017 15:55
To: Eiffel Users <eiffel...@googlegroups.com>
Cc: kwa...@mail.ru
Subject: Re: [eiffel-users] Binary Mac download for EiffelStudio?
Alexander,
thanks, but it didn't help. This is the message I got back from my colleague:
> Hi Thomas,
>
> I had tried these steps as well but they all failed and gave very little information as to why. I give up. Sublime will have to do. Getting pretty good at navigating sublime Eiffel code :) Too bad they simply don't just develop a dmg file or a package file for MacOS.
He's a very experienced developer, not a newbie, It's not a great situation given that the majority of devs I see these days use Macs.
- thomas
On Thursday, March 2, 2017 at 6:26:34 PM UTC, Alexander Kogtenkov wrote:
There is some progress simplifying installation of EiffelStudio on Mac, but for the time being I'd suggest two links that explain what to do:
1. Recommended instructions: https://www.eiffel.org/doc/eiffelstudio/Mac%20OS%20X
2. Advanced instructions with more options: https://dev.eiffel.com/EiffelOnMac
And there is binary installation for Mac (e.g., it can be downloaded from https://sourceforge.net/projects/eiffelstudio/files/), but it is not automatic and is described in item 2 above.
Hope this helps,
Alexander KogtenkovThomas Beale <wolan...@gmail.com>:
I pointed a colleague to the usual place (eiffel.org/downloads) to obtain a Mac version of EiffelStudio. I had thought all the installers there were binary, like the Windows one. He tells me the Mac one has to be built form source on his machine, and that it doesn't work. Is this how Mac users of EiffelStudio usually have to install Eiffel?
- thomas
--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
Visit this group at https://groups.google.com/group/eiffel-users.
For more options, visit https://groups.google.com/d/optout.
As a third suggestion, we might think about wrapping Qt.
Qt offers a native user experience and is available on all major platforms supported by EiffelStudio. So, if we manage to switch to Qt, we might even get away from EiffelVision2 and directly use Qt on all platforms (though that would be a larger endeavor).
This being said, I have not yet done any wrapping of that library
and it might be more difficult because Qt uses some very unusual
abstractions (like the 'signal-slot' mechanism and the MOC
precompiler).
Bernd
I have developed extensively with Vision2 (+ docking library) and created many extensions for it, and I have to agree with the spirit of Bernard's suggestion: we should be looking to get away from Vision2. Vision2 is nice to work with if you are only developing for one platform and don't need anything too fancy. But creating a sophisticated application like My Ching that works consistently on all platforms is far from simple and very time consuming. There are too many gotchas that require a careful balancing act, not unlike walking on a tight-rope. Also I found I spent too much time developing extensions to fill in deficiencies. To give a few of examples
1. These was no scrollable area that was both expandable and
center-able and responsive to standard keyboard shortcuts in a
consistent manner between platforms.
2. There was no text component that had standard undo-redo functionality.
3. There was no hyper-link component
These are just three examples but I can give many more. If I was working with a truly mature GUI library I could probably have developed My Ching in 1/3 of the time or less.
I am not convinced that we have a sufficient base of Eiffel community
developers to make Vision2 work well on 2 desktop platforms let alone
3. If I am going to volunteer my time to a new GUI project I would feel
much more motivated and enthusiastic to work on a binding for a mature
library that already has a size-able community supporting it. In fact I
have already been thinking of doing a pilot project.
WxWidgets V QT
Where I disagree with Bernard is, I would much prefer to create a
binding for WxWidgets rather than QT. WxWidgets has all of the
advantages of QT and none of the disadvantages, namely it does not
require any special C++ extensions and does not require a license for
commercial development.
Here is a list of reasons which make WxWidgets attractive:
Where I disagree with Bernard is, I would much prefer to create a binding for WxWidgets rather than QT. WxWidgets has all of the advantages of QT and none of the disadvantages, namely it does not require any special C++ extensions and does not require a license for commercial development.
--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users+unsubscribe@googlegroups.com.
Hi Peter,sorry, but your link is Broken. It redirects to
Hi Peter,sorry, but your link is Broken. It redirects toI have never developed w/ GUI frameworks except AWT/swing/SWT for Java. But I like the idea of QT or wxwidgets as a vision2 replacement.Pro:- great abstraction of signals and slots for QT- portability- GUI BUILDERS existCon:- doubtful if GUI builders have to be ported for eiffel- precompiler for QTBRGerrit
Am 12.03.2017 01:11 schrieb "Peter Gummer" <p-gu...@bigpond.net.au>:
On 12 Mar 2017, at 00:48, Finnian Reilly <frei...@gmail.com> wrote:Where I disagree with Bernard is, I would much prefer to create a binding for WxWidgets rather than QT. WxWidgets has all of the advantages of QT and none of the disadvantages, namely it does not require any special C++ extensions and does not require a license for commercial development.
Hi Finnian,I think you mean Bernd, not Bernard ;-)There is an Eiffel binding for WxWidgets at http://elj.sourceforge.net/projects/gui/ewxw/, but it’s 15 years old. It may be useful as a starting point.- Peter Gummer
--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
The need for a combinator
It looks like the idea of component-based software development has finally captured the industry's attention. This is great news for people who have long been promoting software reusability and object technology; for the first time, reuse has a real chance of succeeding on a broad scale. A chance, not a certainty.
If there is any certainty, it's that no single standard will suffice to develop and distribute reusable components. This is partly a matter of circumstances (each of the big players has high stakes in seeing *its* standard succeed) and partly a matter of technical requirements. Some of the formalisms that may play a substantial role are C, C++, Eiffel, Java, CORBA's Interface Definition Language (IDL), CORBA IIOP, Microsoft's OLE/COM and DCOM, Visual Basic, JavaBeans, HTML and other Web mechanisms.
After years of component drought, shall we have component flood? If so, the risk exists that all those components will be incompatible with each other. Here Eiffel can play a useful role as *component combinator*, enabling various pieces of software, built with various technologies, to lie together as peacefully now as the lion and the lamb will at the end of time.
[...] The role of Eiffel here is less that of an implementation language (except for the components implemented in Eiffel) than of a connecting tool -- the glue between the components.
Thanks for bringing this up. Of course the vision is as relevant today as it was then.
The weakness of Eiffel here is that the combination mechanisms are not very dynamic. At least that’s a perceived weakness (personally I am sensitive to the benefits of doing some of the combination statically – you know what you are delivering and can verify it!).
The strength of Eiffel, on the other hand, lies in the flexibility and generality of the modular mechanisms and in the Design by Contract mechanism. To combine components effectively you need to know what they are about: what they guarantee to others, expect from others, and keep invariant. These points were made in a number of articles and remain applicable.
-- BM
--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
The weakness of Eiffel here is that the combination mechanisms are not very dynamic. At least that’s a perceived weakness
Prof. Meyer may correct me, but I think his point has to do with recombination of binary, already compiled components, which was a pursuit in the nineties. Eiffel was seen as a language not very tailored for this kind of component re-usability.
Thanks to the several people who have responded enthusiastically and volunteered to participate. I continue writing to this list rather than a smaller circle because we are still at the stage of a general discussion in which a broad community discussion is essential..
Here is the state of our (Eiffel Software’s) thinking on the matter.
1. As noted before, the issue with the Mac version is not specifically a Mac implementation problem but a problem with the user interface, and specifically with the installation of GTK, which is beyond our control (although of course one could envision working on GTK installation itself).
2. Other than GTK, there is the possibility of working on an EiffelVision “handle” (i.e. a specific bridge) to Cocoa -- already the target of considerable effort, but not complete -- or, as has been suggested here, Qt.
3. We think, however, that this is not the best approach. 10 or 15 years ago, offering a native look-and-feel on each platform was critical. Nowadays, many people don’t care about the UI exactly conforming to the platform’s standard as long as it looks good -- including if it looks like a modern Web-style interface.
The most attractive approach, then, seems to be to turn EiffelVision 2 into EiffelVision 3, which would retain a backward-compatible API but would shed the dependency on platform-specific toolkits: the Windows graphics API, GTK, Cocoa. To this effect, EiffelVision 3 draws everything itself, in the most efficient and graphically pleasing way possible. Of course it has to retain some platform-specific elements (handles), but limited to the strict minimum -- basic drawing.
We estimate that the work on individual widgets is about two weeks for one person (on average, although some widgets will be harder than others). That work could be divided into a number of people, with a project coordinator.
In the short term the existing handles (Windows, GTK) would be kept for compatibility.
Comments?
With best regards,
-- Bertrand Meyer
The most attractive approach, then, seems to be to turn EiffelVision 2 into EiffelVision 3, which would retain a backward-compatible API but would shed the dependency on platform-specific toolkits: the Windows graphics API, GTK, Cocoa. To this effect, EiffelVision 3 draws everything itself, in the most efficient and graphically pleasing way possible. Of course it has to retain some platform-specific elements (handles), but limited to the strict minimum -- basic drawing.
You have a point but I think we should avoid engaging in a discussion of principle about reuse**. The matter is pragmatic: are we better off with a technology we control, or with dependence on someone else’s technology?
The current situation is precisely that we relied on reuse -- of GTK; but then GTK has problems on the Mac and it is EiffelStudio that gets a bad rap as a result. If EiffelStudio has installation problems on the Mac it does not help much to argue that it is GTK’s fault (as a rule people are not interested in excuses but in results!).
One is always reinventing some part of the wheel -- the question is not whether, but how much. In the line of thinking that I described, the dependence on toolkits -- which was without any doubt the right way to go a decade or two ago -- seems, in 2017, to bring more trouble than advantages. Redoing the widgets ourselves seems like a tractable effort, and would enable us to guarantee the level of quality that Eiffel users expect, since we would be in charge of a larger part of the chain (or the wheel, to avoid mixing metaphors).
So it is not really a philosophical question about reuse but a matter of degree. If we had a reusable toolkit that covers all platforms and that we could trust, it would be the clear solution, but we do not see one right now.
All this subject to further discussion.
Thanks and best regards,
-- Bertrand Meyer
**For the record, I have always been an enthusiastic supporter of software reuse, starting long before the concept was popular, but I have always included the appropriate caveats alongside the arguments in favor, as in this extract from my 1995 book “Object Success” (Prentice Hall), an object technology guide for managers: “If others are responsible for the product, they are also responsible for corrections and adaptations. In an industry which is often devoting 50% to 80% of its resources to maintenance, this is a precious benefit; reuse can enable you to devote your efforts to new applications, not to the backlog of maintaining existing applications. There is of course another, less enticing side: since you are not fully in control of the software, you depend on someone else to update it when needed.” The scenario mentioned (emphasis added) is exactly what we have been facing with GTK.
From: eiffel...@googlegroups.com [mailto:eiffel...@googlegroups.com] On Behalf Of Louis M
Sent: 04 April 2017 15:20
To: Eiffel Users <eiffel...@googlegroups.com>
--
What about an Eclipse-like approach ?
A sort-of "facade" pattern, I mean, with a specific component
for every platform.
Best regards,
Davide Grandi
-- Ing. Davide Grandi email : davide...@mclink.it mobile : +39 339 7468 778
This is pretty much what we have now. There is a “handle” for every platform. (Sort of a bridge pattern, but used and in fact published before the term “bridge” was devised.)
-- BM
--
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/eiffel-users.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users+unsubscribe@googlegroups.com.
I have not programmed in 10 years, but EiffelVision 3 is a project that would get me back into it.
Jonathan Wilcox
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/eiffel-users.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/eiffel-users.
For more options, visit https://groups.google.com/d/optout.
--
Thomas Beale
Principal, Ars Semantica
Consultant, ABD Team, Intermountain Healthcare
Management Board, Specifications Program Lead, openEHR Foundation
Chartered IT Professional Fellow, BCS, British Computer Society
Health IT blog | Culture blog
--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users+unsubscribe@googlegroups.com.
The discussion started by the message below has converged on the project of a Web Assembly implementation. There is a first meeting (using WebEx) next Thursday:
Thursday, 7 September 2017
15:30 Paris/Milan/Brussels time, i.e. 14:30 UK,9:30 US EDT, 23:30 Sydney etc.
If you have not been involved in the discussion so far but would like to join that discussion please send me an email and I will give you the WebEx link.
With best regards,
-- Bertrand Meyer
From: Bertrand Meyer [mailto:Bertran...@inf.ethz.ch]
Sent: Thursday, March 9, 2017 21:10
To: eiffel...@googlegroups.com
Cc: kwa...@mail.ru; me...@inf.ethz.ch
Subject: Macintosh version -- RE: [eiffel-users] Binary Mac download for EiffelStudio?
The Mac issue is indeed serious; as Thomas writes, the platform is growing in importance and it is a shame that EiffelStudio does not install “straight out of the box”.
The issue come not from EiffelStudio itself but from GTK. So there are two possible strategies:
1. Build a professional-quality GTK installation procedure for the Mac (even though it’s not an Eiffel-community product, it is critical for EiffelStudio as currently set up).
2. Build a native Macintosh EiffelVision handle (i.e. offer a true Mac look-and-feel rather than a Unixy GUI).
Either way it would be great to do this as a community effort since Eiffel Software is more effective focusing its work on the core technology. We would support the effort extensively of course.
Solution 1 can be criticized as a kludge but it would remove the eyesore (or the thorn in our side, whichever anatomical part you prefer for the metaphor).
Solution 2 has been debated many times in the past and there have been a number of efforts, in particular one at ETH which got “almost there” and should clearly serve as the starting point.
We are interested in knowing whether anyone is seriously interested in participating in such an effort or better yet leading it. If you are, you can write to me directly and I will share with others involved.
-- Bertrand Meyer
From: eiffel...@googlegroups.com [mailto:eiffel...@googlegroups.com] On Behalf Of Thomas Beale
Sent: Friday, 03 March, 2017 15:55
To: Eiffel Users <eiffel...@googlegroups.com>
Cc: kwa...@mail.ru
Subject: Re: [eiffel-users] Binary Mac download for EiffelStudio?
Alexander,
thanks, but it didn't help. This is the message I got back from my colleague:
> Hi Thomas,
>
> I had tried these steps as well but they all failed and gave very little information as to why. I give up. Sublime will have to do. Getting pretty good at navigating sublime Eiffel code :) Too bad they simply don't just develop a dmg file or a package file for MacOS.
He's a very experienced developer, not a newbie, It's not a great situation given that the majority of devs I see these days use Macs.
- thomas
On Thursday, March 2, 2017 at 6:26:34 PM UTC, Alexander Kogtenkov wrote:
There is some progress simplifying installation of EiffelStudio on Mac, but for the time being I'd suggest two links that explain what to do:
1. Recommended instructions: https://www.eiffel.org/doc/eiffelstudio/Mac%20OS%20X
2. Advanced instructions with more options: https://dev.eiffel.com/EiffelOnMac
And there is binary installation for Mac (e.g., it can be downloaded from https://sourceforge.net/projects/eiffelstudio/files/), but it is not automatic and is described in item 2 above.
Hope this helps,
Alexander KogtenkovThomas Beale <wolan...@gmail.com>:
I pointed a colleague to the usual place (eiffel.org/downloads) to obtain a Mac version of EiffelStudio. I had thought all the installers there were binary, like the Windows one. He tells me the Mac one has to be built form source on his machine, and that it doesn't work. Is this how Mac users of EiffelStudio usually have to install Eiffel?
- thomas
--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.