comp.lang.ada
 help / color / mirror / Atom feed
* Ada's ranking of popularity at IEEE Spectrum
@ 2014-07-06 15:19 Dan'l Miller
  2014-07-06 16:25 ` gautier_niouzes
                   ` (4 more replies)
  0 siblings, 5 replies; 53+ messages in thread
From: Dan'l Miller @ 2014-07-06 15:19 UTC (permalink / raw)


http://spectrum.ieee.org/static/interactive-the-top-programming-languages

Ada is the 36th most-popular language.  The over-arching goal of Ada202X should be to figure out how to attract more developers, both grand visions and low-hanging fruit.  For example, would a first-order-logic library attract Prolog programmers?


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 15:19 Ada's ranking of popularity at IEEE Spectrum Dan'l Miller
@ 2014-07-06 16:25 ` gautier_niouzes
  2014-07-06 17:18   ` Dan'l Miller
  2014-07-06 19:41 ` sbelmont700
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 53+ messages in thread
From: gautier_niouzes @ 2014-07-06 16:25 UTC (permalink / raw)


> For example, would a first-order-logic library attract Prolog programmers?

You want to attract a few programmers of language #29 in the hope of improving the rank of language #36 ?
I guess you would get more people by attracting people from the top-ranked languages...
For that, you don't need to wait for Ada 202X. Providing more open-source libraries would be a lot more efficient, IHMO. Side note: this ranking is looking "only" at GitHub for open-source software...
_________________________ 
Gautier's Ada programming 
http://sf.net/users/gdemont


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 16:25 ` gautier_niouzes
@ 2014-07-06 17:18   ` Dan'l Miller
  2014-07-06 18:03     ` Ludovic Brenta
                       ` (2 more replies)
  0 siblings, 3 replies; 53+ messages in thread
From: Dan'l Miller @ 2014-07-06 17:18 UTC (permalink / raw)


On Sunday, July 6, 2014 11:25:04 AM UTC-5, gautier...@hotmail.com wrote:
> > For example, would a first-order-logic library attract Prolog programmers?
> You want to attract a few programmers of language #29 in the hope of improving the rank of language #36 ?

As a matter of fact:  yes.  Ada will not get more popular by blind copying of C++.  Why?  Because C++ got more popular throughout the late-1980s and throughout the 1990s by copying many of Ada's wisdoms.  C++ & Ada are quite similar on C++'s bullet-point feature-list basis that is touted to woo potential C++ programmers to C++.  Left unstated by the C++ wooing is that C++'s & Ada's primary differentiators are:
1) that C++ has so many undefined behaviors; and
2) C++ discovered that templates are Turing complete and have a quite-syntactically-uncouth poor-man's functional-programming language by accident.
And those are not anything that Ada wants at all.  Indeed, these are C++'s achilles heals to attack by Ada doing something well that encourages C++ to do a bad job mimicking via
3) more & more undefined behaviors exposing the C++ programmer to more & more of a house of cards; and
4) more & more complexity in C++'s functional-programming via templates.

What will make Ada more popular is for people to get from Ada what they cannot get easily or at all from other languages.  The goal of the Ada community must always be to figure out what that new special sauce is to sell more McAda burgers, preferably a special sauce for Ada that is impossible or impractical in other languages, such as too easily stepping into C++ undefined-behavior cow-pies all over the C++ pasture or requiring an excessive amount of functional-programming via C++ templates.  By constantly adding more special sauces for numerous niche markets, and perhaps one big special sauce for a breakthrough in Ada's core competencies (a brand new/drastically-expanded analogue of what Ada1983 did in the late-1970s & early-1980s for compile-time checking of likely bugs), eventually a greater preponderance of programmers will ask C++:  "Where's the beef?  Why can't C++ have what Ada has?"  But the numerous special sauces for Ada's clams to fame must come first for C++ programmers to have any envy at all---just like the envy that C++ had for the feature-set-superior Ada1983 during C++'s rise during the late-1980s and the 1990s.

Likewise for identifying Java's achilles heal(s) and Ada one-upping Java in those areas of Java's weakness:  Imagine a Qt 'cute' or WxWidgets designed from the ground up in Ada-think instead of C++isms to one-up Java-with-Swing, solving whatever problems are commonplace in Java-with-Swing (e.g., lack of native look-&-feel, lack of native multithreading, lack of machine-code instead of JVM bytecode, lack of Ada compile-time strictness & lifetime-proving).

The path to Ada popularity:
More special sauces for more niche markets that cause wounds in other languages' Achilles' heals to fester.


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 17:18   ` Dan'l Miller
@ 2014-07-06 18:03     ` Ludovic Brenta
  2014-07-06 19:03       ` Dan'l Miller
  2014-07-06 22:15     ` Brad Moore
  2014-07-07  8:37     ` Brian Drummond
  2 siblings, 1 reply; 53+ messages in thread
From: Ludovic Brenta @ 2014-07-06 18:03 UTC (permalink / raw)


Dan'l Miller writes:
> The path to Ada popularity: More special sauces for more niche markets
> that cause wounds in other languages' Achilles' heals to fester.

Agreed.  Show us the code, then.  That's what Linus Torvalds keeps
saying, and he is right about that.

The folks at AdaCore have had a number of exceedingly brilliant ideas
and implemented them in Ada; now AWS and PolyORB are both killer
libraries that go way beyond any other language can offer.  If you have
a similar idea, please make it happen!  And if you don't, please
contribute to a project with similar potential.  One project with a lot
of potential is the SPARK-hardened DNS server, Ironsides; see
http://ironsides.martincarlisle.com/

-- 
Ludovic Brenta.

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 18:03     ` Ludovic Brenta
@ 2014-07-06 19:03       ` Dan'l Miller
  2014-07-06 19:41         ` Ludovic Brenta
  2014-07-07  7:03         ` Tero Koskinen
  0 siblings, 2 replies; 53+ messages in thread
From: Dan'l Miller @ 2014-07-06 19:03 UTC (permalink / raw)


On Sunday, July 6, 2014 1:03:38 PM UTC-5, Ludovic Brenta wrote:
> Dan'l Miller writes:
> > The path to Ada popularity: More special sauces for more niche markets
> > that cause wounds in other languages' Achilles' heals to fester.
>
> Agreed.  Show us the code, then.  That's what Linus Torvalds keeps
> saying, and he is right about that.
> 
> The folks at AdaCore have had a number of exceedingly brilliant ideas
> and implemented them in Ada; now AWS and PolyORB are both killer
> libraries that go way beyond any other language can offer.  If you have
> a similar idea, please make it happen!  And if you don't, please
> contribute to a project with similar potential.  One project with a lot
> of potential is the SPARK-hardened DNS server, Ironsides; see
> http://ironsides.martincarlisle.com/

Hmmmm.  That sounds more like a "put up or shut up" shutdown of an individual who dares to speak than like "Hey, let's as a community brainstorm what an even better Ada world would look like", which is what was intended.

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 15:19 Ada's ranking of popularity at IEEE Spectrum Dan'l Miller
  2014-07-06 16:25 ` gautier_niouzes
@ 2014-07-06 19:41 ` sbelmont700
  2014-07-08 17:25   ` Shark8
  2014-07-07  0:17 ` Simon Clubley
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 53+ messages in thread
From: sbelmont700 @ 2014-07-06 19:41 UTC (permalink / raw)


On Sunday, July 6, 2014 11:19:04 AM UTC-4, Dan'l Miller wrote:
>
> The over-arching goal of Ada202X should be to figure out how to attract more developers, both grand visions and low-hanging fruit. 
>

Making Ada "more popular" is a catch-22.  IMHO, most of the reason Ada is unpopular is because it does not play well with others, which you really can't fix.  Components follow the inherently unsafe patterns established by the languages they are written in (i.e. ANSI C), and even "good" API's are just naturally "Un-Adalike".  Writing a thin binding just gets you unsafe C code in Ada, in which case you gain nothing, and writing a thick binding is so much work reinventing the wheel that it becomes prohibitive (and ends up being a totally new API).  So, unfortunately, Ada will only ever "work right" when you can build everything yourself, from scratch, and can justify the cost of doing so (basically, safety critical systems).

-sb

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 19:03       ` Dan'l Miller
@ 2014-07-06 19:41         ` Ludovic Brenta
  2014-07-07  7:03         ` Tero Koskinen
  1 sibling, 0 replies; 53+ messages in thread
From: Ludovic Brenta @ 2014-07-06 19:41 UTC (permalink / raw)


Dan'l Miller writes:
> On Sunday, July 6, 2014 1:03:38 PM UTC-5, Ludovic Brenta wrote:
>> Dan'l Miller writes:
>> > The path to Ada popularity: More special sauces for more niche markets
>> > that cause wounds in other languages' Achilles' heals to fester.
>>
>> Agreed.  Show us the code, then.  That's what Linus Torvalds keeps
>> saying, and he is right about that.
>> 
>> The folks at AdaCore have had a number of exceedingly brilliant ideas
>> and implemented them in Ada; now AWS and PolyORB are both killer
>> libraries that go way beyond any other language can offer.  If you have
>> a similar idea, please make it happen!  And if you don't, please
>> contribute to a project with similar potential.  One project with a lot
>> of potential is the SPARK-hardened DNS server, Ironsides; see
>> http://ironsides.martincarlisle.com/
>
> Hmmmm.  That sounds more like a "put up or shut up" shutdown of an
> individual who dares to speak than like "Hey, let's as a community
> brainstorm what an even better Ada world would look like", which is
> what was intended.

I'd rather be more positive: don't put up, don't shut up; do something
about it and then be loud about what you've done :)

-- 
Ludovic Brenta.


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 17:18   ` Dan'l Miller
  2014-07-06 18:03     ` Ludovic Brenta
@ 2014-07-06 22:15     ` Brad Moore
  2014-07-07 13:14       ` Peter Chapin
  2014-07-07  8:37     ` Brian Drummond
  2 siblings, 1 reply; 53+ messages in thread
From: Brad Moore @ 2014-07-06 22:15 UTC (permalink / raw)


On 2014-07-06 11:18 AM, Dan'l Miller wrote:
> On Sunday, July 6, 2014 11:25:04 AM UTC-5, gautier...@hotmail.com wrote:
>>> For example, would a first-order-logic library attract Prolog programmers?
>> You want to attract a few programmers of language #29 in the hope of improving the rank of language #36 ?
>
> As a matter of fact:  yes.  Ada will not get more popular by blind copying of C++.  Why?  Because C++ got more popular throughout the late-1980s and throughout the 1990s by copying many of Ada's wisdoms.  C++ & Ada are quite similar on C++'s bullet-point feature-list basis that is touted to woo potential C++ programmers to C++.  Left unstated by the C++ wooing is that C++'s & Ada's primary differentiators are:
> 1) that C++ has so many undefined behaviors; and
> 2) C++ discovered that templates are Turing complete and have a quite-syntactically-uncouth poor-man's functional-programming language by accident.
> And those are not anything that Ada wants at all.  Indeed, these are C++'s achilles heals to attack by Ada doing something well that encourages C++ to do a bad job mimicking via
> 3) more & more undefined behaviors exposing the C++ programmer to more & more of a house of cards; and
> 4) more & more complexity in C++'s functional-programming via templates.
>
> What will make Ada more popular is for people to get from Ada what they cannot get easily or at all from other languages.  The goal of the Ada community must always be to figure out what that new special sauce is to sell more McAda burgers, preferably a special sauce for Ada that is impossible or impractical in other languages, such as too easily stepping into C++ undefined-behavior cow-pies all over the C++ pasture or requiring an excessive amount of functional-programming via C++ templates.  By constantly adding more special sauces for numerous niche markets, and perhaps one big special sauce for a breakthrough in Ada's core competencies (a brand new/drastically-expanded analogue of what Ada1983 did in the late-1970s & early-1980s for compile-time checking of likely bugs), eventually a greater preponderance of programmers will ask C++:  "Where's the beef?  Why can't C++ have what Ada has?"  But the numerous special sauces for Ada's clams to fame must come first for C++ programme
rs to have any envy at all---just like the envy that C++ had for the feature-set-superior Ada1983 during C++'s rise during the late-1980s and the 1990s.
>
> Likewise for identifying Java's achilles heal(s) and Ada one-upping Java in those areas of Java's weakness:  Imagine a Qt 'cute' or WxWidgets designed from the ground up in Ada-think instead of C++isms to one-up Java-with-Swing, solving whatever problems are commonplace in Java-with-Swing (e.g., lack of native look-&-feel, lack of native multithreading, lack of machine-code instead of JVM bytecode, lack of Ada compile-time strictness & lifetime-proving).
>
> The path to Ada popularity:
> More special sauces for more niche markets that cause wounds in other languages' Achilles' heals to fester.
>

I think another path to Ada popularity would be to raise awareness of 
the differences.

There was a paper entitled "C++? A Critique of C++ and Programming 
Language Trends of the 1990s." by Ian Joyner written way back in 1996, 
available in numerous places on the web, including here:

http://archive.adaic.com/intro/ada-vs-c/cppcv3.pdf

The paper is written by someone who obviously has a strong knowledge of 
Eiffel and C++, but raised some good criticisms which I think mostly 
still would apply today.

When I read it years ago, I remember thinking that Ada didn't have the 
problems cited for C++, and the main area where Eiffel had an advantage 
was in the area of contracts. Now that we have Ada 2012, I think that 
area is pretty well covered.

I think it would be good if someone could write a similar paper today, 
with broader coverage of current programming languages, and in 
particular with better content for the Ada programming language.

Maybe the original author, Ian Joyner could be convinced to do a 4th 
Edition?

Brad

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 15:19 Ada's ranking of popularity at IEEE Spectrum Dan'l Miller
  2014-07-06 16:25 ` gautier_niouzes
  2014-07-06 19:41 ` sbelmont700
@ 2014-07-07  0:17 ` Simon Clubley
  2014-07-07  1:17   ` Nasser M. Abbasi
  2014-07-10 19:49   ` Marius Amado-Alves
  2014-07-08 20:10 ` gautier_niouzes
  2014-07-10 13:30 ` Gerd
  4 siblings, 2 replies; 53+ messages in thread
From: Simon Clubley @ 2014-07-07  0:17 UTC (permalink / raw)


On 2014-07-06, Dan'l Miller <optikos@verizon.net> wrote:
> http://spectrum.ieee.org/static/interactive-the-top-programming-languages
>
> Ada is the 36th most-popular language.  The over-arching goal of Ada202X
> should be to figure out how to attract more developers, both grand visions and
> low-hanging fruit.  For example, would a first-order-logic library attract
> Prolog programmers?

I've read the responses posted at the time of writing this and once
again, everyone is missing the point. Your number one issue are the
compilers. There's no point introducing all new libraries if people
cannot use them in all the environments they are used to.

My current number one example: implementing OpenSSL in Ada is exactly
the kind of thing Ada would be good at. Unfortunately, it's also not
practical.

People can rely on a freely available C compiler been everywhere and
that language plays _very_ well with code written in a wide range of
other languages (even while making it equally easy to introduce
enormous security holes :-().

That's one of the reasons why libraries are written in C instead of
a better language. People want to write code they can use with a wide
range of languages/platforms/targets.

Another example: image libraries like libjpeg and other image libraries
are used _everywhere_. For that same reason, you can forget about
reducing any security issues by rewriting them in Ada.

One of the ways to make Ada popular is to get people to start using
libraries written in Ada in their non-Ada code (and hopefully then
eventually their Ada code after they become interested in Ada). You
can't do that until you have Ada compilers which are as widespread as C.

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-07  0:17 ` Simon Clubley
@ 2014-07-07  1:17   ` Nasser M. Abbasi
  2014-07-07  6:11     ` Simon Wright
                       ` (2 more replies)
  2014-07-10 19:49   ` Marius Amado-Alves
  1 sibling, 3 replies; 53+ messages in thread
From: Nasser M. Abbasi @ 2014-07-07  1:17 UTC (permalink / raw)


On 7/6/2014 7:17 PM, Simon Clubley wrote:

> You can't do that until you have Ada compilers which are as widespread as C.
>
> Simon.
>

Sorry for basic question, but I thought Ada is now part of gnu gcc
(gnat compiler)

https://gcc.gnu.org/wiki/GNAT

And I thought that this mean that everywhere there is gnu gcc, there
will be Ada as well? And since everywhere there is gnu gcc as
given in this list:

https://gcc.gnu.org/install/specific.html

There will also be a c compiler, then why would Ada be less available than
C compilers?

Isn't gnu gcc available everywhere? or may be the gnat
part of gcc is not available everywhere like the c compiler
part of gcc is?

--Nasser

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-07  1:17   ` Nasser M. Abbasi
@ 2014-07-07  6:11     ` Simon Wright
  2014-07-07  6:30     ` Georg Bauhaus
  2014-07-07  9:04     ` Brian Drummond
  2 siblings, 0 replies; 53+ messages in thread
From: Simon Wright @ 2014-07-07  6:11 UTC (permalink / raw)


"Nasser M. Abbasi" <nma@12000.org> writes:

> On 7/6/2014 7:17 PM, Simon Clubley wrote:
>
>> You can't do that until you have Ada compilers which are as widespread as C.
>>
>> Simon.
>>
>
> Sorry for basic question, but I thought Ada is now part of gnu gcc
> (gnat compiler)
>
> https://gcc.gnu.org/wiki/GNAT
>
> And I thought that this mean that everywhere there is gnu gcc, there
> will be Ada as well? And since everywhere there is gnu gcc as given in
> this list:
>
> https://gcc.gnu.org/install/specific.html
>
> There will also be a c compiler, then why would Ada be less available
> than C compilers?
>
> Isn't gnu gcc available everywhere? or may be the gnat part of gcc is
> not available everywhere like the c compiler part of gcc is?

It's the runtime.

Would you be happy with a compiler that didn't support exceptions,
functions with indefinite return values (eg String), ...?

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-07  1:17   ` Nasser M. Abbasi
  2014-07-07  6:11     ` Simon Wright
@ 2014-07-07  6:30     ` Georg Bauhaus
  2014-07-07  9:04     ` Brian Drummond
  2 siblings, 0 replies; 53+ messages in thread
From: Georg Bauhaus @ 2014-07-07  6:30 UTC (permalink / raw)


On 07.07.14 03:17, Nasser M. Abbasi wrote:
>
> And I thought that this mean that everywhere there is gnu gcc, there
> will be Ada as well?

"There will be" is an utterance that suits the biggies.

For weighing Ada,

1) Try getting a working C environment for some low-end embedded
platform. Such as a teaching platform.

2) Try getting a working Ada environment for some low-end embedded
platform. Such as a teaching platform.

2a) Ada, not sequential Ada with partial support for exceptions
and this-and-that only.

2b) Lego is not low-end:
By "low-end", I do not mean what is considered low by the standards
of well payed corporate engineers. I mean low by the standards that
create popularity.

2c) Compare the licenses.

2d) What's the debugger like?

  ("It's the economy, stupid!")

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 19:03       ` Dan'l Miller
  2014-07-06 19:41         ` Ludovic Brenta
@ 2014-07-07  7:03         ` Tero Koskinen
  1 sibling, 0 replies; 53+ messages in thread
From: Tero Koskinen @ 2014-07-07  7:03 UTC (permalink / raw)


6.7.2014 22:03, Dan'l Miller wrote:
> On Sunday, July 6, 2014 1:03:38 PM UTC-5, Ludovic Brenta wrote:
>> Dan'l Miller writes:
>>> The path to Ada popularity: More special sauces for more niche markets
>>> that cause wounds in other languages' Achilles' heals to fester.
>>
>> Agreed.  Show us the code, then.  That's what Linus Torvalds keeps
>> saying, and he is right about that.
>>
> 
> Hmmmm.  That sounds more like a "put up or shut up" shutdown of an individual who dares to speak than like "Hey, let's as a community brainstorm what an even better Ada world would look like", which is what was intended.
> 

My favorite form of this is "Shut up and Hack" by OpenBSD
(see http://www.openbsd.org/lyrics.html#audio_extra51 ).

If you want someone to adopt Ada before 202x, you cannot
rely on discussion about upcoming features. Instead, make
other areas, like the available libraries, better.

Yours,
 Tero



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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 17:18   ` Dan'l Miller
  2014-07-06 18:03     ` Ludovic Brenta
  2014-07-06 22:15     ` Brad Moore
@ 2014-07-07  8:37     ` Brian Drummond
  2 siblings, 0 replies; 53+ messages in thread
From: Brian Drummond @ 2014-07-07  8:37 UTC (permalink / raw)


On Sun, 06 Jul 2014 10:18:45 -0700, Dan'l Miller wrote:

I just want to make one observation on an excellent post with which I 
heartily agree...

> eventually a greater preponderance of programmers will ask
> C++:  "Where's the beef?  Why can't C++ have what Ada has?"  But the
> numerous special sauces for Ada's clams to fame must come first 

don't post when hungry, especially for seafood!

- Brian


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-07  1:17   ` Nasser M. Abbasi
  2014-07-07  6:11     ` Simon Wright
  2014-07-07  6:30     ` Georg Bauhaus
@ 2014-07-07  9:04     ` Brian Drummond
  2014-07-07 13:33       ` Simon Wright
  2 siblings, 1 reply; 53+ messages in thread
From: Brian Drummond @ 2014-07-07  9:04 UTC (permalink / raw)


On Sun, 06 Jul 2014 20:17:47 -0500, Nasser M. Abbasi wrote:

> On 7/6/2014 7:17 PM, Simon Clubley wrote:
> 
>> You can't do that until you have Ada compilers which are as widespread
>> as C.
>>
>> Simon.
>>
>>
> Sorry for basic question, but I thought Ada is now part of gnu gcc (gnat
> compiler)
> 
> https://gcc.gnu.org/wiki/GNAT
> 
> And I thought that this mean that everywhere there is gnu gcc, there
> will be Ada as well? And since everywhere there is gnu gcc as given in
> this list:
> 
> https://gcc.gnu.org/install/specific.html
> 
> There will also be a c compiler, then why would Ada be less available
> than C compilers?

Because most people building gcc use the configure option
--enable-language-=c,c++
instead of
--enable-languages=c,c++,ada

And most of the binaries for most of the distros are built that way. Ada 
is offered as an optional extra if you already know about it and 
specifically ask for it - AND it isn't simply missing

The situation is worse where cross-compilers are concerned : very few 
targets (AVR, occasionally Arm, and (new official target with gcc4.9, and 
not yet satisfactorily MSP430) are checked with --enable-languages=c,c+
+,ada. I may have missed some; if so, they don't get enough publicity!

So you have to build your own. Then gcc's build process is messy, 
frustrating and buggy as hell, and only the most trodden paths are 
relatively clear of bugs. (To the extent that people off the path who ask 
questions are usually simply told : get back on the path and start 
again). Turning on Ada support takes you off those paths into the weeds, 
and you will find build failures and bugs you have to wade through to 
even get the thing to compile. 

At this point I must say I am impressed with Peter Bigot's old 
unofficial"mspgcc" front end; it was remarkably trouble free.

If you bought or downloaded a set of commercially available tools for 
your FPGA (cough Actel/Microsemi) they won't even supply source (though 
it's a well known gcc distribution) and you have to dig it up from the 
Mentor Graphics website and build it yourself. (This specific target I 
haven't tried yet)

Then having a working compiler you find that you have only just started.

In contrast to C builds of gcc where the process tidily accommodates libc 
and libgcc because other people have set it all up for you - either the 
Ada RTS won't build for your target or there is no Ada RTS at all, and 
you have to create one from scratch. (for the MSP430 I adapted the 
minimal one from the AVR-Ada project. It works well if you don't need any 
tasking features)

> Isn't gnu gcc available everywhere? or may be the gnat part of gcc is
> not available everywhere like the c compiler part of gcc is?

So ... yes, gnat is available for a suitable definition of available. In 
practice, no...

At this point Ludovic's  "put up or shut up" (paraphrasing Dan'l) 
applies ... if each reader picked one small area and moved it forward, at 
least people would see SOME Ada happening. We have to start the snowball 
somewhere.

- Brian

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 22:15     ` Brad Moore
@ 2014-07-07 13:14       ` Peter Chapin
  2014-07-07 14:27         ` Dan'l Miller
  2014-07-09 15:01         ` Brad Moore
  0 siblings, 2 replies; 53+ messages in thread
From: Peter Chapin @ 2014-07-07 13:14 UTC (permalink / raw)


On 2014-07-06 18:15, Brad Moore wrote:

> I think another path to Ada popularity would be to raise awareness of
> the differences.
> 
> There was a paper entitled "C++? A Critique of C++ and Programming
> Language Trends of the 1990s." by Ian Joyner written way back in 1996,
> available in numerous places on the web, including here:
> 
> http://archive.adaic.com/intro/ada-vs-c/cppcv3.pdf
> 
> The paper is written by someone who obviously has a strong knowledge of
> Eiffel and C++, but raised some good criticisms which I think mostly
> still would apply today.

FWIW, I think Joyner's document is terrible. In fact I wrote a somewhat
long "Critique of Critique of C++" that I'd be willing to email to
anyone who might be interested. My opinion is that Joyner does not
understand C++ particularly well at all and that, in fact, he has
several "fringe" ideas about what constitutes good programming language
design. He work makes him appear to be a quack.

While I agree that C++ has issues, quoting Joyner's document just
weakens one's arguments.

Peter



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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-07  9:04     ` Brian Drummond
@ 2014-07-07 13:33       ` Simon Wright
  2014-07-07 16:11         ` Brian Drummond
  0 siblings, 1 reply; 53+ messages in thread
From: Simon Wright @ 2014-07-07 13:33 UTC (permalink / raw)


Brian Drummond <brian@shapes.demon.co.uk> writes:

> Because most people building gcc use the configure option
> --enable-language-=c,c++
> instead of
> --enable-languages=c,c++,ada
>
> And most of the binaries for most of the distros are built that
> way. Ada is offered as an optional extra if you already know about it
> and specifically ask for it - AND it isn't simply missing

... and the host GCC has a working Ada compiler.


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-07 13:14       ` Peter Chapin
@ 2014-07-07 14:27         ` Dan'l Miller
  2014-07-09 15:01         ` Brad Moore
  1 sibling, 0 replies; 53+ messages in thread
From: Dan'l Miller @ 2014-07-07 14:27 UTC (permalink / raw)


On Monday, July 7, 2014 8:14:43 AM UTC-5, Peter Chapin wrote:
>  In fact I wrote a somewhat
> long "Critique of Critique of C++" that I'd be willing to email to 
> anyone who might be interested.

You should publish it somewhere online with your choice of copyright license.  I would be interested in receiving a copy via email.

I am sure that both Joyner's and yours could be modernized for C++2011 and/or C++2014.


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-07 13:33       ` Simon Wright
@ 2014-07-07 16:11         ` Brian Drummond
  0 siblings, 0 replies; 53+ messages in thread
From: Brian Drummond @ 2014-07-07 16:11 UTC (permalink / raw)


On Mon, 07 Jul 2014 14:33:29 +0100, Simon Wright wrote:

> Brian Drummond <brian@shapes.demon.co.uk> writes:
> 
>> Because most people building gcc use the configure option
>> --enable-language-=c,c++
>> instead of --enable-languages=c,c++,ada
>>
>> And most of the binaries for most of the distros are built that way.
>> Ada is offered as an optional extra if you already know about it and
>> specifically ask for it - AND it isn't simply missing
> 
> ... and the host GCC has a working Ada compiler.

True, but as we're talking about binaries for distributions, that 
translates to "at least one host has a working Ada compiler" at which 
point, that host can cross-compile for the target distribution. In 
principle, anyway.

- Brian 

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 19:41 ` sbelmont700
@ 2014-07-08 17:25   ` Shark8
  2014-07-08 23:03     ` sbelmont700
  0 siblings, 1 reply; 53+ messages in thread
From: Shark8 @ 2014-07-08 17:25 UTC (permalink / raw)


On 06-Jul-14 13:41, sbelmont700@gmail.com wrote:

> So, unfortunately, Ada will only ever "work right" when you can build
> everything yourself, from scratch, and can justify the cost of doing
> so (basically, safety critical systems).

So then, why aren't we-as-a-community doing that?
Consider the Heartbleed bug, TLS (SSL's successor) really ought to be 
written in a formally-verified manner; and we have a superior tool just 
for this job: SPARK.

Granted, this means that we have to implement the underlying 
technologies as well: X.509 security certificates, which themselves 
depend on ASN.1... so, the real question is this: are we going to 
address this problem or not?

I've started, but finding that I need X.509 and therefore ASN.1 (and 
have *zero* experience with either these or SPARK) has revealed it to be 
a little daunting. -- I realize I'm stubborn, opinionated, 
tough-to-teach, and generally don't ask for help; but I *do* want to see 
Ada put to use, to see its popularity rise, and I think that /this/ is 
one area that we-as-a-community generally agree: Ada/SPARK is ideally 
suited to security-critical applications.

I'd be more than happy to populate a gethub repo with a set of 
skeleton-projects so we can do this; Peter Chapen also pointed me to 
some ASN.1 related stuff, so if he gives the go-ahead we can spin off of 
that.


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 15:19 Ada's ranking of popularity at IEEE Spectrum Dan'l Miller
                   ` (2 preceding siblings ...)
  2014-07-07  0:17 ` Simon Clubley
@ 2014-07-08 20:10 ` gautier_niouzes
  2014-07-10 13:30 ` Gerd
  4 siblings, 0 replies; 53+ messages in thread
From: gautier_niouzes @ 2014-07-08 20:10 UTC (permalink / raw)


Just a thought around GitHub: it would be cool to have mirrors of various existing projects, e.g. those hosted on SF using SVN (just an example ;-) ). So there would be some more Ada projects available, and already with existing contents. Any volunteer ? I see there are scripts to automate such a mirroring.
_________________________
Gautier's Ada programming
http://gautiersblog.blogspot.com/search/label/Ada
NB: follow the above link for a valid e-mail address


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-08 17:25   ` Shark8
@ 2014-07-08 23:03     ` sbelmont700
  2014-07-08 23:30       ` Jeffrey Carter
                         ` (2 more replies)
  0 siblings, 3 replies; 53+ messages in thread
From: sbelmont700 @ 2014-07-08 23:03 UTC (permalink / raw)


On Tuesday, July 8, 2014 1:25:00 PM UTC-4, Shark8 wrote:
> 
> So then, why aren't we-as-a-community doing that?
> 

Mostly because in a strongly typed system, *everything* has to be a generic.  And once you start in with generics, all the little gotchas and quirks make any sort of modestly-complex component next to impossible (or at least extremely unpleasant) to create.  So we, as a community, cannot easily divide up the work in a component like manner, and are usually forced to start all way down at the O/S interface level *for every single project*.  And again, even if you do manage to create an elegant Ada interface to OpenSSL, it's not going to be OpenSSL, because OpenSSL is an untyped C API that is anathema to everything Ada.  The better you make it, the further away from the standard you get, and the less people are going to want to use it.

FWIW, a focus on generics and creating *isolated* reusable components would be a good focus area for research, because currently it's essentially impossible.

-sb


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-08 23:03     ` sbelmont700
@ 2014-07-08 23:30       ` Jeffrey Carter
  2014-07-09  0:29         ` sbelmont700
  2014-07-09  2:30       ` Shark8
  2014-07-27  2:01       ` David Thompson
  2 siblings, 1 reply; 53+ messages in thread
From: Jeffrey Carter @ 2014-07-08 23:30 UTC (permalink / raw)


On 07/08/2014 04:03 PM, sbelmont700@gmail.com wrote:
>
> FWIW, a focus on generics and creating *isolated* reusable components would
> be a good focus area for research, because currently it's essentially
> impossible.

That's right. None of the 42 generics in the PragmAda Reusable Components, the 
384 generics in GTKAda, or the 1594 generics supplied with gcc-4.6 GNAT exist or 
do anything useful.

-- 
Jeff Carter
"Why don't you bore a hole in yourself and let the sap run out?"
Horse Feathers
49


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-08 23:30       ` Jeffrey Carter
@ 2014-07-09  0:29         ` sbelmont700
  0 siblings, 0 replies; 53+ messages in thread
From: sbelmont700 @ 2014-07-09  0:29 UTC (permalink / raw)


On Tuesday, July 8, 2014 7:30:08 PM UTC-4, Jeffrey Carter wrote:
> 
> That's right. None of the 42 generics in the PragmAda Reusable Components, the 
> 
> 384 generics in GTKAda, or the 1594 generics supplied with gcc-4.6 GNAT exist or 
> 
> do anything useful.
> 

But the point is that those projects were developed as coordinated systems (even if by a team of one), and not 'built up' from previously existing, more general components developed by disjoint programmers.  Consider how it would complicate things if every standard container had its own hash type, or if the GTK team had to accommodate any arbitrary Cario binding instead of just hardcoding to one specific one.

This leads to a serious lack of reuse, since everybody ends up 'rolling their own' subsystems, instead of just 'plugging together' what others have already done.  If everyone has to start at ground zero, then it puts an upper bound on what a single programmer can ever hope to accomplish.

-sb


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-08 23:03     ` sbelmont700
  2014-07-08 23:30       ` Jeffrey Carter
@ 2014-07-09  2:30       ` Shark8
  2014-07-27  2:01       ` David Thompson
  2 siblings, 0 replies; 53+ messages in thread
From: Shark8 @ 2014-07-09  2:30 UTC (permalink / raw)


On 08-Jul-14 17:03, sbelmont700@gmail.com wrote:
> So we, as a community, cannot easily divide up the work in a component like manner,
> and are usually forced to start all way down at the O/S interface level *for every
> single project*.

Why would we need to start at the OS level for TLS? Yes, I realize we'll 
need to depend on X.509 and ASN.1, but I don't see why we cannot write 
[at least those] in a generally platform-independent manner.

In fact, given Ada's reputation as being highly-portable, wouldn't 
writing theses basic [fundamental, not simple] components be a /good/ thing?

> And again, even if you do manage to create an elegant Ada interface to OpenSSL,
> it's not going to be OpenSSL, because OpenSSL is an untyped C API that is anathema
> to everything Ada.  The better you make it, the further away from the standard you
> get, and the less people are going to want to use it.

I said TLS, not OpenSSL.
But even so, what's stopping someone from taking a formally-verified TLS 
component and wrapping/exporting it for C [and OpenSSL] compatibility? 
How would that be buying into C's type-system?

e.g. what is stopping us from exporting to C-interface if we have a 
string-date package? Sure values and such won't be protected on the 
C-side, but we know about out Ada side, no?

Package Date_String is

     -- Date-String format: ####-##-##
     Subtype Date_String is String(1..10)
     with Dynamic_Predicate =>
       (for all Index in Date_String'Range =>
          (case Index is
             when 5|8  => Date_String(Index) = '-',
           when others => Date_String(Index) in '0'..'9'
          )
       ) and then -- short-circut boolean, ensures the above first
       (case Month(Date_String) is
          when 1 | 3 | 5 | 7 | 8 | 10 | 12 => Day(Date_String)'Valid,
          when 4 | 6 | 9 | 11              => Day(Date_String) in 1..30,
          when 2 => (if Is_Leap_Year(Date_String) then Day(Date_String) 
in 1..30
                     else Day(Date_String) in 1..29)
       );

     SUBTYPE C_Date_String is Interfaces.C.Strings.char_array_access with
       Dynamic_Predicate =>
           Interfaces.C.To_Ada(C_Date_String.All) in Date_String;

     -- Whatever procedures we need to export.

Private

        Subtype Month_Type is Natural range 1..12;
        subtype Day_Type   is Natural range 1..31;

     Function Year ( Input : String ) Return Natural is
       ( Natural'Value(Input(Input'First..Input'First+3)) );
     Function Month( Input : String ) Return Month_Type is
       ( Natural'Value(Input(Input'First+5..Input'First+6)) );
     Function Day  ( Input : String ) Return Day_Type is
       ( Natural'Value(Input(Input'Last-1..Input'Last)) );

     -- METHOD FOR DETERMINING LEAP-YEAR:
     -- (1) If the year is evenly divisible by 4, go to step 2.
     --     Otherwise, go to step 5.
     -- (2) If the year is evenly divisible by 100, go to step 3.
     --     Otherwise, go to step 4.
     -- (3) If the year is evenly divisible by 400, go to step 4.
     --     Otherwise, go to step 5.
     -- (4) The year is a leap year (it has 366 days).
     -- (5) The year is not a leap year (it has 365 days).
     --
     -- CONCISELY:
     --     Year Mod 400 = 0 or (Year Mod 4 = 0 and Year Mod 100 /= 0)
     Function Is_Leap_Year( Year : Natural ) Return Boolean is
       (Year Mod 400 = 0 or (Year Mod 4 = 0 and Year Mod 100 /= 0));
     Function Is_Leap_Year( Input : String  ) Return Boolean is
       ( Is_Leap_Year(Year(Input)) );

End Date_String;


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-07 13:14       ` Peter Chapin
  2014-07-07 14:27         ` Dan'l Miller
@ 2014-07-09 15:01         ` Brad Moore
  2014-07-10  7:42           ` Maciej Sobczak
  1 sibling, 1 reply; 53+ messages in thread
From: Brad Moore @ 2014-07-09 15:01 UTC (permalink / raw)


On 2014-07-07 7:14 AM, Peter Chapin wrote:
z> On 2014-07-06 18:15, Brad Moore wrote:
>
>> I think another path to Ada popularity would be to raise awareness of
>> the differences.
>>
>> There was a paper entitled "C++? A Critique of C++ and Programming
>> Language Trends of the 1990s." by Ian Joyner written way back in 1996,
>> available in numerous places on the web, including here:
>>
>> http://archive.adaic.com/intro/ada-vs-c/cppcv3.pdf
>>
>> The paper is written by someone who obviously has a strong knowledge of
>> Eiffel and C++, but raised some good criticisms which I think mostly
>> still would apply today.
>
> FWIW, I think Joyner's document is terrible. In fact I wrote a somewhat
> long "Critique of Critique of C++" that I'd be willing to email to
> anyone who might be interested. My opinion is that Joyner does not
> understand C++ particularly well at all and that, in fact, he has
> several "fringe" ideas about what constitutes good programming language
> design. He work makes him appear to be a quack.
>
> While I agree that C++ has issues, quoting Joyner's document just
> weakens one's arguments.
>
> Peter
>

I agree that that there are a lot of problems with his document, besides 
being very dated. I don't agree with a number of his ideas, and I think 
he has too much of an Eiffel bias. I also think some of this criticism 
is about issues that aren't that significant, and at other times he 
comes off too harsh against C++, but he raises some good points as well. 
For example, the issue with having to commit to the presence or absence 
of the virtual keyword on methods in a base class, causing problems via 
maintenance of a class hierarchy is one that strikes me a significant 
problem. That being said, it is not a problem that I've typically run 
into in practice. There are plenty of other problems that I do run into 
with C++, where I think; this wouldn't have happened if it were written 
in Ada.

But I think it would be very difficult to produce a comprehensive, 
unbiased, multi-language critique. It would be nice if such a document 
existed, (and maybe it does), but I think if the goal is to produce a 
document that promotes the use of Ada, then I think maybe a better 
approach would be to focus on Ada specifically, and highlight the things 
that Ada got right, rather than try to point out problems in other 
languages. I am sure there are numerous documents of this nature out 
there, but I suspect many of them are out of date, and would benefit 
from being updated. The problem with such documents is that there is the 
possibility that they "preach to the choir". They don't really promote 
the use of Ada, if Ada programmers are the only ones who read them.

They are useful though for those who do program in other languages who 
are looking to explore other possibilities.

Brad


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-09 15:01         ` Brad Moore
@ 2014-07-10  7:42           ` Maciej Sobczak
  2014-07-10 13:56             ` Peter Chapin
  2014-07-10 18:18             ` Nasser M. Abbasi
  0 siblings, 2 replies; 53+ messages in thread
From: Maciej Sobczak @ 2014-07-10  7:42 UTC (permalink / raw)


W dniu środa, 9 lipca 2014 17:01:53 UTC+2 użytkownik Brad Moore napisał:

> I think if the goal is to produce a 
> document that promotes the use of Ada, then I think maybe a better 
> approach would be to focus on Ada specifically, and highlight the things 
> that Ada got right, rather than try to point out problems in other 
> languages.

Exactly. Considering the expected target, the Ada language is most likely to be adopted by C and C++ programmers and the problem with many pro-Ada documents is that they try to focus on criticising C++. It's not a good way to make friends and hostility is not going to work here.

I have tried to promote Ada by doing something different: get the list of things that are considered to be features (!) in C++ and show that Ada does them even better. Like, say, control over memory allocation schemes. Every reasonably competent C++ programmer knows that having the possibility to write a custom memory allocator by means of overloaded new operators is an important language feature that can improve performance or provide other benefits; show them that Ada is even more flexible with this (by associating allocation scheme with pointer type instead of the target object type) and you get people at least intrigued. There are many more aspects where you can spin the discussion towards "Ada is even better where C++ is good" mindset.

I did not manage to introduce Ada for production projects this way (but we did some side-way projects thanks to this), but the level of interest was certainly much higher than with the "if you put a stray semicolon here it will be a disaster" method that unfortunately many Ada advocates still believe in.

Don't try to promote Ada by criticising other languages. It just doesn't work.

-- 
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-06 15:19 Ada's ranking of popularity at IEEE Spectrum Dan'l Miller
                   ` (3 preceding siblings ...)
  2014-07-08 20:10 ` gautier_niouzes
@ 2014-07-10 13:30 ` Gerd
  2014-07-10 15:14   ` Shark8
                     ` (2 more replies)
  4 siblings, 3 replies; 53+ messages in thread
From: Gerd @ 2014-07-10 13:30 UTC (permalink / raw)


Am Sonntag, 6. Juli 2014 17:19:04 UTC+2 schrieb Dan'l Miller:
> http://spectrum.ieee.org/static/interactive-the-top-programming-languages Ada is the 36th most-popular language. The over-arching goal of Ada202X should be to figure out how to attract more developers, both grand visions and low-hanging fruit. For example, would a first-order-logic library attract Prolog programmers?

Forget all those "tagged type" stuff, and offer "classes" so that also C++ and Java developers can get familiar with it.


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10  7:42           ` Maciej Sobczak
@ 2014-07-10 13:56             ` Peter Chapin
  2014-07-10 18:18             ` Nasser M. Abbasi
  1 sibling, 0 replies; 53+ messages in thread
From: Peter Chapin @ 2014-07-10 13:56 UTC (permalink / raw)


On 2014-07-10 03:42, Maciej Sobczak wrote:

> Don't try to promote Ada by criticising other languages. It just doesn't work.

Another thing to be careful about is to contrast Ada with *modern* C++
and modern C++ practice. Saying that Ada is better than C++ was in 1995
isn't going to impress C++ programmers in the trenches today.

Just as a simple example, the business of accidentally using an
assignment operator in a conditional statement is really a non-issue.

// C/C++
if (x = y) {
  // Oops! Used an assignment operator instead of a relational
}

Every C++ compiler worth using produces a warning for this, typically in
the default mode. I write a fair amount of C++ and I can't remember when
I last did this where the error slipped into the final program. It's a
straw man issue as far as I'm concerned.

To write a document that properly contrasts two languages the author
needs to be very fluent in both languages. Such people are

a) Relatively rare.
b) Typically too busy to write such documents.
c) Generally like both languages too much to feel motivated to advocate
for one over the other.

Unfortunately a lot of advocacy is done by people who are expert in one
language (the one they like) but relatively uninformed about the other
(the one they dislike). It's human nature!

Peter



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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 13:30 ` Gerd
@ 2014-07-10 15:14   ` Shark8
  2014-07-10 19:16   ` Jeffrey Carter
  2014-07-11  0:39   ` gvdschoot
  2 siblings, 0 replies; 53+ messages in thread
From: Shark8 @ 2014-07-10 15:14 UTC (permalink / raw)


On 10-Jul-14 07:30, Gerd wrote:
> Am Sonntag, 6. Juli 2014 17:19:04 UTC+2 schrieb Dan'l Miller:
>> http://spectrum.ieee.org/static/interactive-the-top-programming-languages
> Ada is the 36th most-popular language. The over-arching goal of Ada202X
> should be to figure out how to attract more developers, both grand visions
> and low-hanging fruit. For example, would a first-order-logic library
> attract Prolog programmers?
>
> Forget all those "tagged type" stuff, and offer "classes" so that also C++
> and Java developers can get familiar with it.
>

But Ada does have classes -- or have you forgotten the 'Class attribute?

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10  7:42           ` Maciej Sobczak
  2014-07-10 13:56             ` Peter Chapin
@ 2014-07-10 18:18             ` Nasser M. Abbasi
  2014-07-10 18:30               ` Nasser M. Abbasi
  1 sibling, 1 reply; 53+ messages in thread
From: Nasser M. Abbasi @ 2014-07-10 18:18 UTC (permalink / raw)


On 7/10/2014 2:42 AM, Maciej Sobczak wrote:

> Don't try to promote Ada by criticising other languages. It just doesn't work.

One thing that can be done is concentrate on things that are unique
or done much better in Ada. For example, Ada subtyping and making
types of restricted ranges is one of the unique things about Ada
which helps make code more robust.

Making type such as

        type I is range 1 .. 10;

Is not possible in C++ and many other languages that I know about.

This can be done in C++ and Java and others by defining a
new class I and making constructors and methods etc... but
in Ada it all comes pre-built into the language. In addition,
all the nice attributes that comes for free

http://archive.adaic.com/standards/83lrm/html/lrm-A.html

--Nasser
  

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 18:18             ` Nasser M. Abbasi
@ 2014-07-10 18:30               ` Nasser M. Abbasi
  2014-07-11  4:55                 ` theanalogmachine
  2014-07-11 11:56                 ` G.B.
  0 siblings, 2 replies; 53+ messages in thread
From: Nasser M. Abbasi @ 2014-07-10 18:30 UTC (permalink / raw)


On 7/10/2014 1:18 PM, Nasser M. Abbasi wrote:

>
> One thing that can be done is concentrate on things that are unique
> or done much better in Ada.

Also things that can be done in more clear way. I like browsing
http://rosettacode.org sometimes and compare how different languages
do somethings. For example, looking at

http://rosettacode.org/wiki/Address_of_a_variable
"Demonstrate how to get the address of a variable and how to set the address of a variable"

Ada way:
----------
The_Address : System.Address;
I : Integer;
The_Address := I'Address;     -- read
for I'Address use 16#A100#;  --- set
--------------------

C++ way:
-----------
int i;
void* address_of_i = &i;

"While C++ doesn't directly support putting a variable
at a given address, the same effect can be achieved by
creating a reference to that address: "

int& i = *(int*)0xA100;
----------------------

Anyone looking at the above 2 examples, can see that Ada is much
more clear. Actually anyone who does not even know Ada can
understand what the code does. Try that with the C++ version!

--Nasser

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 13:30 ` Gerd
  2014-07-10 15:14   ` Shark8
@ 2014-07-10 19:16   ` Jeffrey Carter
  2014-07-11  2:17     ` Dennis Lee Bieber
  2014-07-11  0:39   ` gvdschoot
  2 siblings, 1 reply; 53+ messages in thread
From: Jeffrey Carter @ 2014-07-10 19:16 UTC (permalink / raw)


On 07/10/2014 06:30 AM, Gerd wrote:
>
> Forget all those "tagged type" stuff, and offer "classes" so that also C++
> and Java developers can get familiar with it.

That's what Ichbiah said over 20 years ago.

The way to make Ada popular is to get rid of all those pesky run-time checks, 
make it easier to use pointers and do pointer arithmetic, add braces, and relax 
the syntax until you can compile line noise. And change the name to something 
starting with 'C'.

-- 
Jeff Carter
"Spam! Spam! Spam! Spam! Spam! Spam! Spam! Spam!"
Monty Python's Flying Circus
53

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-07  0:17 ` Simon Clubley
  2014-07-07  1:17   ` Nasser M. Abbasi
@ 2014-07-10 19:49   ` Marius Amado-Alves
  2014-07-10 20:19     ` Shark8
  2014-07-11  0:16     ` Simon Clubley
  1 sibling, 2 replies; 53+ messages in thread
From: Marius Amado-Alves @ 2014-07-10 19:49 UTC (permalink / raw)


> My current number one example: implementing OpenSSL in Ada is exactly
> the kind of thing Ada would be good at. Unfortunately, it's also not
> practical.

On the contrary, it would be very practical to have AWS working well with SSL... 
I was never able to do that on Windows.
AWS is a great lib, but horrible at installing.


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 19:49   ` Marius Amado-Alves
@ 2014-07-10 20:19     ` Shark8
  2014-07-10 21:39       ` björn lundin
  2014-07-11  0:16     ` Simon Clubley
  1 sibling, 1 reply; 53+ messages in thread
From: Shark8 @ 2014-07-10 20:19 UTC (permalink / raw)


On 10-Jul-14 13:49, Marius Amado-Alves wrote:
>> My current number one example: implementing OpenSSL in Ada is exactly
>> the kind of thing Ada would be good at. Unfortunately, it's also not
>> practical.
>
> On the contrary, it would be very practical to have AWS working well with SSL...
> I was never able to do that on Windows.
> AWS is a great lib, but horrible at installing.
>

Really?
I did have a bit of trouble installing it, yes -- but that was *REALLY* 
minor compared to the inability to get any DB-binding to correctly 
compile [and link].


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 20:19     ` Shark8
@ 2014-07-10 21:39       ` björn lundin
  2014-07-10 22:54         ` Shark8
  0 siblings, 1 reply; 53+ messages in thread
From: björn lundin @ 2014-07-10 21:39 UTC (permalink / raw)


Den torsdagen den 10:e juli 2014 kl. 22:19:18 UTC+2 skrev Shark8:
> On 10-Jul-14 13:49, Marius Amado-Alves wrote:
> >> My current number one example: implementing OpenSSL in Ada is exactly
> >> the kind of thing Ada would be good at. Unfortunately, it's also not
> >> practical.
> > On the contrary, it would be very practical to have AWS working well with SSL...
> > I was never able to do that on Windows.
> > AWS is a great lib, but horrible at installing.
> 

Really? I have some fairly recent installation notes if you are still interested.

> I did have a bit of trouble installing it, yes -- but that was *REALLY* 
> minor compared to the inability to get any DB-binding to correctly 
> compile [and link].

Really ? What database/os?

/Björn



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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 21:39       ` björn lundin
@ 2014-07-10 22:54         ` Shark8
  2014-07-11  7:26           ` Dmitry A. Kazakov
                             ` (3 more replies)
  0 siblings, 4 replies; 53+ messages in thread
From: Shark8 @ 2014-07-10 22:54 UTC (permalink / raw)


On 10-Jul-14 15:39, björn lundin wrote:
> Den torsdagen den 10:e juli 2014 kl. 22:19:18 UTC+2 skrev Shark8:
>> On 10-Jul-14 13:49, Marius Amado-Alves wrote:
>>>> My current number one example: implementing OpenSSL in Ada is exactly
>>>> the kind of thing Ada would be good at. Unfortunately, it's also not
>>>> practical.
>>> On the contrary, it would be very practical to have AWS working well with SSL...
>>> I was never able to do that on Windows.
>>> AWS is a great lib, but horrible at installing.
>>
>
> Really? I have some fairly recent installation notes if you are still interested.

I'd like that.

>> I did have a bit of trouble installing it, yes -- but that was *REALLY*
>> minor compared to the inability to get any DB-binding to correctly
>> compile [and link].
>
> Really? What database/os?
>
> /Björn
>

I tried Postgres, Gnatcoll, some MySQL binding [I forget], and an ODBC 
one. I'm on a windows machine, but I think it may have been a problem in 
the cygwin config... I *hate* make and autotools.

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 19:49   ` Marius Amado-Alves
  2014-07-10 20:19     ` Shark8
@ 2014-07-11  0:16     ` Simon Clubley
  2014-07-11  0:40       ` Jeffrey Carter
  2014-07-11  1:15       ` Shark8
  1 sibling, 2 replies; 53+ messages in thread
From: Simon Clubley @ 2014-07-11  0:16 UTC (permalink / raw)


On 2014-07-10, Marius Amado-Alves <amado.alves@gmail.com> wrote:
>> My current number one example: implementing OpenSSL in Ada is exactly
>> the kind of thing Ada would be good at. Unfortunately, it's also not
>> practical.
>
> On the contrary, it would be very practical to have AWS working well with SSL... 
> I was never able to do that on Windows.
> AWS is a great lib, but horrible at installing.

A requirement behind rewriting OpenSSL would be to enable it's use in
_all_ the operating systems and platforms which currently use OpenSSL.
If this isn't the case, your replacement is destined to remain a niche
and generally forgotten product. It would also need to be compatible
with OpenSSL's API.

While I focused on OpenSSL in my comments, Ada (as a language) would
also be a good choice for replacing the client side SSL libraries such
as Firefox's use of NSS.

Unfortunately the same issues apply here because unless your SSL client
library replacement can operate in all the same environments as the C
language library it would replace, then it's destined to remain a niche
and forgotten product.

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 13:30 ` Gerd
  2014-07-10 15:14   ` Shark8
  2014-07-10 19:16   ` Jeffrey Carter
@ 2014-07-11  0:39   ` gvdschoot
  2 siblings, 0 replies; 53+ messages in thread
From: gvdschoot @ 2014-07-11  0:39 UTC (permalink / raw)


On Thursday, July 10, 2014 3:30:10 PM UTC+2, Gerd wrote:
> Am Sonntag, 6. Juli 2014 17:19:04 UTC+2 schrieb Dan'l Miller:
> 
> > http://spectrum.ieee.org/static/interactive-the-top-programming-languages Ada is the 36th most-popular language. The over-arching goal of Ada202X should be to figure out how to attract more developers, both grand visions and low-hanging fruit. For example, would a first-order-logic library attract Prolog programmers?
> 
> 
> 
> Forget all those "tagged type" stuff, and offer "classes" so that also C++ and Java developers can get familiar with it.

You want Ada to be more popular? Easy. All you have to do is:

- Use LLVM
- Use a BSD license for all the libs and runtime
- Write an entire nix-ish OS in it
- Get rid of the overhead in code writing (think Oberon)

This requires organization and budget. Who is gonna pay?


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-11  0:16     ` Simon Clubley
@ 2014-07-11  0:40       ` Jeffrey Carter
  2014-07-11  1:15       ` Shark8
  1 sibling, 0 replies; 53+ messages in thread
From: Jeffrey Carter @ 2014-07-11  0:40 UTC (permalink / raw)


On 07/10/2014 05:16 PM, Simon Clubley wrote:
>
> A requirement behind rewriting OpenSSL would be to enable it's use in
> _all_ the operating systems and platforms which currently use OpenSSL.
> If this isn't the case, your replacement is destined to remain a niche
> and generally forgotten product.

This is nonsense. Even if it got only limited use, a (formally proven) correct 
implementation of OpenSSL would be better than having no such implementation.

-- 
Jeff Carter
"Spam! Spam! Spam! Spam! Spam! Spam! Spam! Spam!"
Monty Python's Flying Circus
53

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-11  0:16     ` Simon Clubley
  2014-07-11  0:40       ` Jeffrey Carter
@ 2014-07-11  1:15       ` Shark8
  2014-07-11  7:03         ` Simon Clubley
  1 sibling, 1 reply; 53+ messages in thread
From: Shark8 @ 2014-07-11  1:15 UTC (permalink / raw)


On 10-Jul-14 18:16, Simon Clubley wrote:
> On 2014-07-10, Marius Amado-Alves <amado.alves@gmail.com> wrote:
>>> My current number one example: implementing OpenSSL in Ada is exactly
>>> the kind of thing Ada would be good at. Unfortunately, it's also not
>>> practical.
>>
>> On the contrary, it would be very practical to have AWS working well with SSL...
>> I was never able to do that on Windows.
>> AWS is a great lib, but horrible at installing.
>
> A requirement behind rewriting OpenSSL would be to enable it's use in
> _all_ the operating systems and platforms which currently use OpenSSL.
> If this isn't the case, your replacement is destined to remain a niche
> and generally forgotten product. It would also need to be compatible
> with OpenSSL's API.

What is the cost of writing an API compatibility layer compared to that 
of a formally verified implementation of SSL? What is the difficulty 
level of presenting the SSL-implementation in a manner that conforms to 
OpenSSL's API?

>
> While I focused on OpenSSL in my comments, Ada (as a language) would
> also be a good choice for replacing the client side SSL libraries such
> as Firefox's use of NSS.

If the effort to implement the protocol with formal verification is 
made, then it only makes sense to do both client and server 
implementations -- the tests for each would of necessity use the other.

>
> Unfortunately the same issues apply here because unless your SSL client
> library replacement can operate in all the same environments as the C
> language library it would replace, then it's destined to remain a niche
> and forgotten product.
>
> Simon.
>

Ridiculous -- even without availability on *every* system a secure SSL 
implementation would be welcome in servers by businesses concerned w/ 
security.

As an example, the formally verified DNS Ironsides was usable even when 
it did not support the recursive form of DNS -- now that it handles both 
the authoritative and recursive forms there is little to prevent 
adoption by [small] businesses. (I know of one semi-locally that'll be 
switching over, says the BIND configuration he has now is rather complex 
and finicky.)


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 19:16   ` Jeffrey Carter
@ 2014-07-11  2:17     ` Dennis Lee Bieber
  0 siblings, 0 replies; 53+ messages in thread
From: Dennis Lee Bieber @ 2014-07-11  2:17 UTC (permalink / raw)


On Thu, 10 Jul 2014 12:16:03 -0700, Jeffrey Carter
<spam.jrcarter.not@spam.not.acm.org> declaimed the following:

>On 07/10/2014 06:30 AM, Gerd wrote:
>>
>> Forget all those "tagged type" stuff, and offer "classes" so that also C++
>> and Java developers can get familiar with it.
>
>That's what Ichbiah said over 20 years ago.
>
>The way to make Ada popular is to get rid of all those pesky run-time checks, 
>make it easier to use pointers and do pointer arithmetic, add braces, and relax 
>the syntax until you can compile line noise. And change the name to something 
>starting with 'C'.

	I propose: CAD

-- 
	Wulfraed                 Dennis Lee Bieber         AF6VN
    wlfraed@ix.netcom.com    HTTP://wlfraed.home.netcom.com/

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 18:30               ` Nasser M. Abbasi
@ 2014-07-11  4:55                 ` theanalogmachine
  2014-07-11 11:56                 ` G.B.
  1 sibling, 0 replies; 53+ messages in thread
From: theanalogmachine @ 2014-07-11  4:55 UTC (permalink / raw)


On Thursday, July 10, 2014 2:30:03 PM UTC-4, Nasser M. Abbasi wrote:
> On 7/10/2014 1:18 PM, Nasser M. Abbasi wrote:
> 
> 
> 
> >
> 
> > One thing that can be done is concentrate on things that are unique
> 
> > or done much better in Ada.
> 
> 
> 
> Also things that can be done in more clear way. I like browsing
> 
> http://rosettacode.org sometimes and compare how different languages
> 
> do somethings. For example, looking at
> 
> 
> 
> http://rosettacode.org/wiki/Address_of_a_variable
> 
> "Demonstrate how to get the address of a variable and how to set the address of a variable"
> 
> 
> 
> Ada way:
> 
> ----------
> 
> The_Address : System.Address;
> 
> I : Integer;
> 
> The_Address := I'Address;     -- read
> 
> for I'Address use 16#A100#;  --- set
> 
> --------------------
> 
> 
> 
> C++ way:
> 
> -----------
> 
> int i;
> 
> void* address_of_i = &i;
> 
> 
> 
> "While C++ doesn't directly support putting a variable
> 
> at a given address, the same effect can be achieved by
> 
> creating a reference to that address: "
> 
> 
> 
> int& i = *(int*)0xA100;
> 
> ----------------------
> 
> 
> 
> Anyone looking at the above 2 examples, can see that Ada is much
> 
> more clear. Actually anyone who does not even know Ada can
> 
> understand what the code does. Try that with the C++ version!
> 
> 
> 
> --Nasser

I agree with the sentiment of promoting Ada's unique elements. For example, discriminate records and the typing system are unrivaled and the like. However, there are still many long standing problems that draw people away:

* Why are record discriminates only limited to discrete types?
* Why can't I use the regular string notation for unbounded_string types?
* Why am I required to have msys/unix configure to use standard and basic packages? It could just be my UNIX illiteracy, but I could not get GNATColl to work under windows after a day and decided to just write my own hacked JSON parser instead and gave up on connecting to databases...


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-11  1:15       ` Shark8
@ 2014-07-11  7:03         ` Simon Clubley
  0 siblings, 0 replies; 53+ messages in thread
From: Simon Clubley @ 2014-07-11  7:03 UTC (permalink / raw)


On 2014-07-10, Shark8 <OneWingedShark@gmail.com> wrote:
> On 10-Jul-14 18:16, Simon Clubley wrote:
>>
>> Unfortunately the same issues apply here because unless your SSL client
>> library replacement can operate in all the same environments as the C
>> language library it would replace, then it's destined to remain a niche
>> and forgotten product.
>>
>> Simon.
>>
>
> Ridiculous -- even without availability on *every* system a secure SSL 
> implementation would be welcome in servers by businesses concerned w/ 
> security.
>

In one way you (and Jeffrey) are correct, but the goal here is to try
and reduce the amount of C code in critical security libraries.

So yes, you are always going to find people who want to use your new
product, and there will be some benefit there, but the _real_ gains
only come when you can replace a reference to a C library with a
reference to a Ada library in existing code which uses that library.

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 22:54         ` Shark8
@ 2014-07-11  7:26           ` Dmitry A. Kazakov
  2014-07-11  7:37           ` Maciej Sobczak
                             ` (2 subsequent siblings)
  3 siblings, 0 replies; 53+ messages in thread
From: Dmitry A. Kazakov @ 2014-07-11  7:26 UTC (permalink / raw)


On Thu, 10 Jul 2014 16:54:30 -0600, Shark8 wrote:

> I tried Postgres, Gnatcoll, some MySQL binding [I forget], and an ODBC 
> one. I'm on a windows machine, but I think it may have been a problem in 
> the cygwin config... I *hate* make and autotools.

Which ODBC?

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

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 22:54         ` Shark8
  2014-07-11  7:26           ` Dmitry A. Kazakov
@ 2014-07-11  7:37           ` Maciej Sobczak
  2014-07-11  9:32           ` björn lundin
  2014-07-12 21:43           ` Marius Amado-Alves
  3 siblings, 0 replies; 53+ messages in thread
From: Maciej Sobczak @ 2014-07-11  7:37 UTC (permalink / raw)


W dniu piątek, 11 lipca 2014 00:54:30 UTC+2 użytkownik Shark8 napisał:

> I tried Postgres,

Please contact me off the group, I will give you a native and very lightweight PostgreSQL library for Ada. I have used it in several projects already.

Another option - perhaps a bit heavier, but with support for more databases:

http://soci.sourceforge.net/
http://soci.sourceforge.net/doc/3.2/languages/ada/index.html

-- 
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 22:54         ` Shark8
  2014-07-11  7:26           ` Dmitry A. Kazakov
  2014-07-11  7:37           ` Maciej Sobczak
@ 2014-07-11  9:32           ` björn lundin
  2014-07-12 21:43           ` Marius Amado-Alves
  3 siblings, 0 replies; 53+ messages in thread
From: björn lundin @ 2014-07-11  9:32 UTC (permalink / raw)


Den fredagen den 11:e juli 2014 kl. 00:54:30 UTC+2 skrev Shark8:
> On 10-Jul-14 15:39, bj�rn lundin wrote:
> 
> > Really? I have some fairly recent installation notes if you are still interested.
> I'd like that.
> 
> I tried Postgres, Gnatcoll, some MySQL binding [I forget], and an ODBC 
> one. I'm on a windows machine, but I think it may have been a problem in 
> the cygwin config... I *hate* make and autotools.


Seems like I put out a Postgresql interface before.
In 2002 actually. 
While a whole lot of improvements have taken place since,
I need to make it more general in order to publish it.
It uses company-internal routines now, which I'd like to get rid of first.
It now also has object.verb notation support.
I'll see if I can publish that, but it will take a while.

It is based on Pgada by Samuel Tardieu from 2000

It has run on Linux/AIX/Windows - or at least later versions of it.

it is at
http://home.swipnet.se/lundin/sql.html

That site is scheduled for deletion August 31,
so I moved the tar archive to my dropbox

https://dl.dropboxusercontent.com/u/26175828/sql.zip

It also includes some samples (which I now consider horrible in style)
and a readme.txt

unzip and issue (if gnat) gnatmake and change the path to libpq.dll
gnatmake sql_test2 -largs -LC:\bnl\tools\pgadmin\1.18 -lpq


As goes for notes on installing AWS on windows with ssl support,
its is here : 

https://dl.dropboxusercontent.com/u/26175828/Install_AWS_Win_SSL.txt

/Björn

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 18:30               ` Nasser M. Abbasi
  2014-07-11  4:55                 ` theanalogmachine
@ 2014-07-11 11:56                 ` G.B.
  1 sibling, 0 replies; 53+ messages in thread
From: G.B. @ 2014-07-11 11:56 UTC (permalink / raw)


On 10.07.14 20:30, Nasser M. Abbasi wrote:
> On 7/10/2014 1:18 PM, Nasser M. Abbasi wrote:
>
>>
>> One thing that can be done is concentrate on things that are unique
>> or done much better in Ada.

> int& i = *(int*)0xA100;
> ----------------------
>
> Anyone looking at the above 2 examples, can see that Ada is much
> more clear. Actually anyone who does not even know Ada can
> understand what the code does. Try that with the C++ version!

That's more of the anti-C++ fallacy. I think it won't help.

Arguably, it seems equally clear that anyone with a little background
in C++ finds the above declaration very clear, brief, and all on
one line, as should be.

The Ada example as given has incorrect syntax, because 16#A100#
alone is not of type System.Address.

Now Ada requires recent GNATs that support something which is
finally close to a single declaration, viz.

  use System.Storage_Elements;

  I : Integer with Address => To_Address (16#A100#);

(The old Ada syntax, "for I use at ..." is obsolescent,
but still present as well, and you start wondering why they
have changed this very fundamental expression three times.)

I think that typed literals would be even better...

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-10 22:54         ` Shark8
                             ` (2 preceding siblings ...)
  2014-07-11  9:32           ` björn lundin
@ 2014-07-12 21:43           ` Marius Amado-Alves
  2014-07-13  8:52             ` björn lundin
  3 siblings, 1 reply; 53+ messages in thread
From: Marius Amado-Alves @ 2014-07-12 21:43 UTC (permalink / raw)


>>> AWS is a great lib, but horrible at installing.

> > Really? I have some fairly recent installation notes if you are still interested.

> I'd like that.

Me too.

I published my miseries before at
http://mariusamadoalves.blogspot.pt/2012/09/installing-aws-on-windows.html


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-12 21:43           ` Marius Amado-Alves
@ 2014-07-13  8:52             ` björn lundin
  0 siblings, 0 replies; 53+ messages in thread
From: björn lundin @ 2014-07-13  8:52 UTC (permalink / raw)


Den lördagen den 12:e juli 2014 kl. 23:43:20 UTC+2 skrev Marius Amado-Alves:
> >>> AWS is a great lib, but horrible at installing.
> > > Really? I have some fairly recent installation notes if you are still interested.
> > I'd like that.
> Me too.
> I published my miseries before at
> http://mariusamadoalves.blogspot.pt/2012/09/installing-aws-on-windows.html

I put out a link earlier in this thread
https://dl.dropboxusercontent.com/u/26175828/Install_AWS_Win_SSL.txt

/Björn

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-08 23:03     ` sbelmont700
  2014-07-08 23:30       ` Jeffrey Carter
  2014-07-09  2:30       ` Shark8
@ 2014-07-27  2:01       ` David Thompson
  2014-07-27 20:19         ` sbelmont700
  2 siblings, 1 reply; 53+ messages in thread
From: David Thompson @ 2014-07-27  2:01 UTC (permalink / raw)


On Tue, 8 Jul 2014 16:03:51 -0700 (PDT), sbelmont700@gmail.com wrote:

> On Tuesday, July 8, 2014 1:25:00 PM UTC-4, Shark8 wrote:

> Mostly because in a strongly typed system, *everything* has to be a generic.  
And once you start in with generics, all the little gotchas and quirks
make any sort of modestly-complex component next to impossible (or at
least extremely unpleasant) to create.  So we, as a community, cannot
easily divide up the work in a component like manner, and are usually
forced to start all way down at the O/S interface level *for every
single project*.  And again, even if you do manage to create an
elegant Ada interface to OpenSSL, it's not going to be OpenSSL,
because OpenSSL is an untyped C API that is anathema to everything
Ada.  The better you make it, the further away from the standard you
get, and the less people are going to want to use it.
> 

Huh? Except for application data, which a general-purpose transport
can't know about, OpenSSL goes to quite a bit of effort to make its
API about as strongly typed as can be accomplished in C, with mostly
opaque structs, access routines, shims for ASN.1 and PEM, etc. It's
not perfect, and certainly not as easy as in Ada, but it's far from
the all-too-common-in-C void* madness you suggest.

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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-27  2:01       ` David Thompson
@ 2014-07-27 20:19         ` sbelmont700
  2014-07-28  3:53           ` Dan'l Miller
  0 siblings, 1 reply; 53+ messages in thread
From: sbelmont700 @ 2014-07-27 20:19 UTC (permalink / raw)


On Saturday, July 26, 2014 10:01:17 PM UTC-4, David Thompson wrote:
> 
> Huh? Except for application data, which a general-purpose transport
> 
> can't know about, OpenSSL goes to quite a bit of effort to make its
> 
> API about as strongly typed as can be accomplished in C, with mostly
> 
> opaque structs, access routines, shims for ASN.1 and PEM, etc. It's
> 
> not perfect, and certainly not as easy as in Ada, but it's far from
> 
> the all-too-common-in-C void* madness you suggest.


It all comes down to just how "Ada-like" you want it to be.  OpenSSL doesn't throw exceptions, so does the benefits of using them in a binding outweigh the slight deviation from the spec?  The write function takes a length, which in Ada would be inherent in the array, so do you deviate from the spec again?  It doesn't have reference counting (IIRC), so do you use controlled types?  Or do you even go 'full Ada' and make the client instantiate Integer_SSL or Float_SSL functions instead of sending everything as a string?  Or maybe even model it using Ada.Streams?

My point is that even 'good' APIs (like OpenSSL or OpenGL) inherently stink of untyped C, and it becomes a delicate balancing act of figuring out at what point you've failed to implement the spec everyone knows and instead succeeded at inventing a new (better) API that nobody wants.  Victor Porton's copious posts seem to suggest similar problems.

-sb


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

* Re: Ada's ranking of popularity at IEEE Spectrum
  2014-07-27 20:19         ` sbelmont700
@ 2014-07-28  3:53           ` Dan'l Miller
  0 siblings, 0 replies; 53+ messages in thread
From: Dan'l Miller @ 2014-07-28  3:53 UTC (permalink / raw)


On Sunday, July 27, 2014 3:19:40 PM UTC-5, sbelm...@gmail.com wrote:
> My point is that even 'good' APIs (like OpenSSL or OpenGL) inherently stink of untyped C, and it becomes
> a delicate balancing act of figuring out at what point you've failed to implement the spec everyone
> knows and instead succeeded at inventing a new (better) API that nobody wants.  Victor Porton's copious
> posts seem to suggest similar problems.

It does seem that the burning issue to solve in Ada202X is how to facilitate making thick bindings easier
1) to bring the Ada semantics to an Ada API that wraps a C (or subset of C++) API;
then
2) export that Ada API back out to C (and/or subset of C++) via a thin binding that imposes as much type safety as possible.

By dividing and conquering the C world (i.e., into 2 camps:  type-unsafe C APIs used by the unwashed masses versus type-safe C APIs used by superior intellects), Ada could prove itself valuable as an intermediate layer and win over converts to just program in Ada all the time.

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

end of thread, other threads:[~2014-07-28  3:53 UTC | newest]

Thread overview: 53+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-06 15:19 Ada's ranking of popularity at IEEE Spectrum Dan'l Miller
2014-07-06 16:25 ` gautier_niouzes
2014-07-06 17:18   ` Dan'l Miller
2014-07-06 18:03     ` Ludovic Brenta
2014-07-06 19:03       ` Dan'l Miller
2014-07-06 19:41         ` Ludovic Brenta
2014-07-07  7:03         ` Tero Koskinen
2014-07-06 22:15     ` Brad Moore
2014-07-07 13:14       ` Peter Chapin
2014-07-07 14:27         ` Dan'l Miller
2014-07-09 15:01         ` Brad Moore
2014-07-10  7:42           ` Maciej Sobczak
2014-07-10 13:56             ` Peter Chapin
2014-07-10 18:18             ` Nasser M. Abbasi
2014-07-10 18:30               ` Nasser M. Abbasi
2014-07-11  4:55                 ` theanalogmachine
2014-07-11 11:56                 ` G.B.
2014-07-07  8:37     ` Brian Drummond
2014-07-06 19:41 ` sbelmont700
2014-07-08 17:25   ` Shark8
2014-07-08 23:03     ` sbelmont700
2014-07-08 23:30       ` Jeffrey Carter
2014-07-09  0:29         ` sbelmont700
2014-07-09  2:30       ` Shark8
2014-07-27  2:01       ` David Thompson
2014-07-27 20:19         ` sbelmont700
2014-07-28  3:53           ` Dan'l Miller
2014-07-07  0:17 ` Simon Clubley
2014-07-07  1:17   ` Nasser M. Abbasi
2014-07-07  6:11     ` Simon Wright
2014-07-07  6:30     ` Georg Bauhaus
2014-07-07  9:04     ` Brian Drummond
2014-07-07 13:33       ` Simon Wright
2014-07-07 16:11         ` Brian Drummond
2014-07-10 19:49   ` Marius Amado-Alves
2014-07-10 20:19     ` Shark8
2014-07-10 21:39       ` björn lundin
2014-07-10 22:54         ` Shark8
2014-07-11  7:26           ` Dmitry A. Kazakov
2014-07-11  7:37           ` Maciej Sobczak
2014-07-11  9:32           ` björn lundin
2014-07-12 21:43           ` Marius Amado-Alves
2014-07-13  8:52             ` björn lundin
2014-07-11  0:16     ` Simon Clubley
2014-07-11  0:40       ` Jeffrey Carter
2014-07-11  1:15       ` Shark8
2014-07-11  7:03         ` Simon Clubley
2014-07-08 20:10 ` gautier_niouzes
2014-07-10 13:30 ` Gerd
2014-07-10 15:14   ` Shark8
2014-07-10 19:16   ` Jeffrey Carter
2014-07-11  2:17     ` Dennis Lee Bieber
2014-07-11  0:39   ` gvdschoot

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