comp.lang.ada
 help / color / mirror / Atom feed
* Ada vs Eiffel
@ 2019-10-14 14:05 Saša Janiška
  2019-10-14 15:01 ` Dmitry A. Kazakov
  2019-10-14 17:24 ` Jeffrey R. Carter
  0 siblings, 2 replies; 6+ messages in thread
From: Saša Janiška @ 2019-10-14 14:05 UTC (permalink / raw)


Hello,

I'm studying some subject and would like to start working on
accompanying desktop GUI application. My dev environment is Linux
(Debian Sid), but would like to be able to provide application for both
Windows & MAC OS.

Ada is already for quite some time on my radar, but recently I stumbled
upon some interesting application written using Eiffel
(https://www.eiffel.com/) language which looks quite interesting,
supports Design by Contracts etc.

However, it pushes just OOP paradigm, but it looks as simpler language
to learn/master with somewhat similar compiler licenses - expensive for
commercial apps and free when using GPL.[1] Both languages seems not to
attract too many open-source enthusiasts and not used in many FLOSS
projects, but providing bindings for GTK (although GtkAda does support
GTK3, while EiffelStudio is GTK2 only)...

Now, I'd like to hear from more experienced people here if You can share
some pro/cons between Ada & Eiffel?


Sincerely,
Saša

[1]  Frankly speaking, I'd like to write free application, but with the
possibility to eventually have some parts as close-sourced, although
without commercial interest.

-- 
The senses, the mind and the intelligence are the sitting places
of this lust. Through them lust covers the real knowledge of the
living entity and bewilders him.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ada vs Eiffel
  2019-10-14 14:05 Ada vs Eiffel Saša Janiška
@ 2019-10-14 15:01 ` Dmitry A. Kazakov
  2019-10-14 15:10   ` Saša Janiška
  2019-10-14 17:24 ` Jeffrey R. Carter
  1 sibling, 1 reply; 6+ messages in thread
From: Dmitry A. Kazakov @ 2019-10-14 15:01 UTC (permalink / raw)


On 2019-10-14 16:05, Saša Janiška wrote:

> Now, I'd like to hear from more experienced people here if You can share
> some pro/cons between Ada & Eiffel?

IMO, Eiffel treats contracts wrong. Ada has both dynamically constrained 
[sub]types and contracts proper (with Ada's SPARK). However, the latter 
might be too challenging for designing a GUI application.

P.S. Regarding FLOSS and GtkAda I maintain a widget library, it is free:

    http://www.dmitry-kazakov.de/ada/aicwl.htm

P.P.S. There are also people maintaining Ada binding to Qt and doing 
impressive things with. So GTK is by far not the only option for Ada. 
There are numerous Windows-specific GUI frameworks for Ada too. E.g. 
Claw etc.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ada vs Eiffel
  2019-10-14 15:01 ` Dmitry A. Kazakov
@ 2019-10-14 15:10   ` Saša Janiška
  2019-10-14 16:13     ` Dmitry A. Kazakov
  0 siblings, 1 reply; 6+ messages in thread
From: Saša Janiška @ 2019-10-14 15:10 UTC (permalink / raw)


"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:

> IMO, Eiffel treats contracts wrong.

Can you say something more in regard? I'm really curious to learn...

> P.S. Regarding FLOSS and GtkAda I maintain a widget library, it is free:
>
>    http://www.dmitry-kazakov.de/ada/aicwl.htm

It's realy impressive, although I believe that 'standard' (aka
non-inustrial widgets) should be enough for my purpose.

> P.P.S. There are also people maintaining Ada binding to Qt and doing
> impressive things with.

I noticed several announcements in the mailing list, but it always
looked as there are no public repos or some community around it?

> So GTK is by far not the only option for Ada. There are numerous
> Windows-specific GUI frameworks for Ada too. E.g. Claw etc.

I'm ore than happy with Linux, without any plan to change my OS in the
nearby future, so, for now I'm interested only for what is available on
Linux.


Sincerely,
Saša

-- 
In the material world, one who is unaffected by whatever good
or evil he may obtain, neither praising it nor despising it,
is firmly fixed in perfect knowledge.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ada vs Eiffel
  2019-10-14 15:10   ` Saša Janiška
@ 2019-10-14 16:13     ` Dmitry A. Kazakov
  0 siblings, 0 replies; 6+ messages in thread
From: Dmitry A. Kazakov @ 2019-10-14 16:13 UTC (permalink / raw)


On 2019-10-14 17:10, Saša Janiška wrote:
> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
> 
>> IMO, Eiffel treats contracts wrong.
> 
> Can you say something more in regard? I'm really curious to learn...

A contract cannot be asserted or checked at run-time. That is not a 
contract, that is a behavior. Introducing a check does not add safety 
unless its failure is handled. If not, it is just a bug with or without 
the check.

Most of Ada debugging is related to unhandled exceptions from run-time 
checks. A proper contract is one proved statically. This is what SPARK 
is for.

This does not mean you need no checks, it means that they must be 
treated properly, considering a possibility of failure and the program 
state should such failure happens.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ada vs Eiffel
  2019-10-14 14:05 Ada vs Eiffel Saša Janiška
  2019-10-14 15:01 ` Dmitry A. Kazakov
@ 2019-10-14 17:24 ` Jeffrey R. Carter
  2019-10-14 19:37   ` Saša Janiška
  1 sibling, 1 reply; 6+ messages in thread
From: Jeffrey R. Carter @ 2019-10-14 17:24 UTC (permalink / raw)


On 10/14/19 4:05 PM, Saša Janiška wrote:
> 
> However, it pushes just OOP paradigm, but it looks as simpler language
> to learn/master with somewhat similar compiler licenses - expensive for
> commercial apps and free when using GPL.[1] Both languages seems not to
> attract too many open-source enthusiasts and not used in many FLOSS
> projects, but providing bindings for GTK (although GtkAda does support
> GTK3, while EiffelStudio is GTK2 only)...

Note that with Ada, at least, you can obtain free compilers that do not impose 
the GPL on your program.

> Now, I'd like to hear from more experienced people here if You can share
> some pro/cons between Ada & Eiffel?

In real-world software, Ada's separation of package specification and body turns 
out to be very important. Eiffel lacks this. Ada's separation of encapsulation 
and information hiding (packages) from the type system is also very important. 
I'm not familiar enough with Eiffel to know whether it has something like this, 
but many other languages only provide encapsulation and information hiding 
through types. Finally, Ada's high-level concurrency features are very important 
for correctly modeling problem domains that are inherently concurrent, such as 
GUIs. I think Eiffel lacks anything similar.

 > I'm studying some subject and would like to start working on
 > accompanying desktop GUI application. My dev environment is Linux
 > (Debian Sid), but would like to be able to provide application for both
 > Windows & MAC OS.

An easy way to build portable GUI applications is to use Gnoga. As it uses a 
browser for the GUI, it is completely portable between platforms.

-- 
Jeff Carter
"Your mother was a hamster and your father smelt of elderberries."
Monty Python & the Holy Grail
06

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ada vs Eiffel
  2019-10-14 17:24 ` Jeffrey R. Carter
@ 2019-10-14 19:37   ` Saša Janiška
  0 siblings, 0 replies; 6+ messages in thread
From: Saša Janiška @ 2019-10-14 19:37 UTC (permalink / raw)


"Jeffrey R. Carter" <spam.jrcarter.not@spam.not.acm.org> writes:

> Note that with Ada, at least, you can obtain free compilers that do
> not impose the GPL on your program.

You mean FSF version of GNAT?

> In real-world software, Ada's separation of package specification and
> body turns out to be very important. Eiffel lacks this.

OK.

> Ada's separation of encapsulation and information hiding (packages)
> from the type system is also very important. I'm not familiar enough
> with Eiffel to know whether it has something like this, but many other
> languages only provide encapsulation and information hiding through
> types.

Well, Ada's type system is really great, afaict.

> Finally, Ada's high-level concurrency features are very
> important for correctly modeling problem domains that are inherently
> concurrent, such as GUIs. I think Eiffel lacks anything similar.

I read that Eiffel has SCOOP:

https://www.eiffel.com/values/parallel-programming/

> An easy way to build portable GUI applications is to use Gnoga. As it
> uses a browser for the GUI, it is completely portable between
> platforms.

I heard about Gnoga, not sure if it is further developed, but, if
possible, I'd rather stay away from browsers...


Sincerely,
Saša

-- 
He who is regulated in his habits of eating, sleeping, recreation
and work can mitigate all material pains by practicing the yoga system.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-10-14 19:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-14 14:05 Ada vs Eiffel Saša Janiška
2019-10-14 15:01 ` Dmitry A. Kazakov
2019-10-14 15:10   ` Saša Janiška
2019-10-14 16:13     ` Dmitry A. Kazakov
2019-10-14 17:24 ` Jeffrey R. Carter
2019-10-14 19:37   ` Saša Janiška

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox