comp.lang.ada
 help / color / mirror / Atom feed
* Web Development Using Ada?
@ 2013-07-27 10:35 Aay Jay Chan
  2013-07-27 12:49 ` Dmitry A. Kazakov
                   ` (6 more replies)
  0 siblings, 7 replies; 46+ messages in thread
From: Aay Jay Chan @ 2013-07-27 10:35 UTC (permalink / raw)


My group is developing a web application, and we are considering different languages / frameworks for server-side programming.

What are the pros an cons of using Ada in web development? Is it feasible / practical? What would be your recommendation?

Thanks in advance.


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

* Re: Web Development Using Ada?
  2013-07-27 10:35 Web Development Using Ada? Aay Jay Chan
@ 2013-07-27 12:49 ` Dmitry A. Kazakov
  2013-07-27 15:49   ` Shark8
  2013-07-27 17:57 ` Jeffrey Carter
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 46+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-27 12:49 UTC (permalink / raw)


On Sat, 27 Jul 2013 03:35:38 -0700 (PDT), Aay Jay Chan wrote:

> My group is developing a web application, and we are considering different
> languages / frameworks for server-side programming.
> 
> What are the pros an cons of using Ada in web development? Is it feasible
> / practical? What would be your recommendation?

I think Ada could offer something there:

1. Direct portability without virtualization;
2. Control over the resources. In Ada the server can be designed in a way
that it would require minimal or no dynamic memory allocation;
3. Much better performance when Ada's approach to tasking is used;
4. Less debugging.

Negative could be:

1. Culture shock programmers experience when have to face Ada;
2. Lack of tools;
3. Tiny community;
4. GNAT monopoly.

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


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

* Re: Web Development Using Ada?
  2013-07-27 12:49 ` Dmitry A. Kazakov
@ 2013-07-27 15:49   ` Shark8
  2013-07-27 16:26     ` Dmitry A. Kazakov
  2013-07-27 17:11     ` Yannick Duchêne (Hibou57)
  0 siblings, 2 replies; 46+ messages in thread
From: Shark8 @ 2013-07-27 15:49 UTC (permalink / raw)


On Saturday, July 27, 2013 6:49:11 AM UTC-6, Dmitry A. Kazakov wrote:
> 
> I think Ada could offer something there:
> 
> 1. Direct portability without virtualization;
> 2. Control over the resources. In Ada the server can be designed in a way
> that it would require minimal or no dynamic memory allocation;
> 3. Much better performance when Ada's approach to tasking is used;
> 4. Less debugging.

Other positives (note that my stint in professional web-programming was using PHP):

5. Generics -- I had to write the same function again and again (slightly different because of the 'types' coming in) when using PHP; that system would have been a lot nicer and more stable if PHP had generics.

6. Packages -- I really missed packages when I was using PHP; you don't realize how NICE it is to be able to group types and operations together (all checked and verified to be syntactically correct) until you have to go without, and doubly so f the thing you're working on only has the equivalent of #include.

7. Records -- It's _nice_ to be able to define a set of data to map the various components you're working with which are logically grouped. {In PHP you can "kind of" simulate records with string-associative arrays.}

8. Types and Subtypes -- You quickly learn how valuable these (and CONSTRAINT_ERROR) are when you spend hours tracking down a bug that happens to ultimately be an out-of-range error.

9. Superior documentation compared to PHP. (Seriously, PHP's documentation is a little snippet describing a function and then MESSAGEBOARDS for elaboration... and often you'll find horrible solutions to problems therein.)

10. Sane FOR loop. -- In PHP it's easy to write a set of foreach loops where the second loop repeats the penultimate item twice and ignores the last item... and they consider it "intended behavior." (Ew!)

> Negative could be:
> 
> 1. Culture shock programmers experience when have to face Ada;
> 2. Lack of tools;
> 3. Tiny community;
> 4. GNAT monopoly.

Negatives (again, assuming you're comparing to PHP):
5. *SLOW* initial development. (In PHP you can instantly put things to the output; mostly because there's *almost* no correctness checking.)
6. AWS setup on Windows. (Assuming you're going to use AWS on Windows, you *HAVE* to use the GNU toolchain [i.e. make et al.] and it has some serious issues regarding a particular file [zlib IIRC])


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

* Re: Web Development Using Ada?
  2013-07-27 15:49   ` Shark8
@ 2013-07-27 16:26     ` Dmitry A. Kazakov
  2013-07-27 17:19       ` Shark8
  2013-07-27 17:26       ` Yannick Duchêne (Hibou57)
  2013-07-27 17:11     ` Yannick Duchêne (Hibou57)
  1 sibling, 2 replies; 46+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-27 16:26 UTC (permalink / raw)


On Sat, 27 Jul 2013 08:49:17 -0700 (PDT), Shark8 wrote:

> 6. AWS setup on Windows. (Assuming you're going to use AWS on Windows, you
> *HAVE* to use the GNU toolchain [i.e. make et al.] and it has some serious
> issues regarding a particular file [zlib IIRC])

Not an alternative to AWS, because mainly meant for embedded

http://www.dmitry-kazakov.de/ada/components.htm#16.11

yet pure GPR, no makefiles.

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


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

* Re: Web Development Using Ada?
  2013-07-27 15:49   ` Shark8
  2013-07-27 16:26     ` Dmitry A. Kazakov
@ 2013-07-27 17:11     ` Yannick Duchêne (Hibou57)
  2013-07-27 17:19       ` Shark8
  1 sibling, 1 reply; 46+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-07-27 17:11 UTC (permalink / raw)


Le Sat, 27 Jul 2013 17:49:17 +0200, Shark8 <onewingedshark@gmail.com> a  
écrit:

> On Saturday, July 27, 2013 6:49:11 AM UTC-6, Dmitry A. Kazakov wrote:
>>
>> I think Ada could offer something there:
>>
>> 1. Direct portability without virtualization;
>> 2. Control over the resources. In Ada the server can be designed in a  
>> way
>> that it would require minimal or no dynamic memory allocation;
>> 3. Much better performance when Ada's approach to tasking is used;
>> 4. Less debugging.
>
> Other positives (note that my stint in professional web-programming was  
> using PHP):
>
> 5. Generics -- I had to write the same function again and again  
> (slightly different because of the 'types' coming in) when using PHP;  
> that system would have been a lot nicer and more stable if PHP had  
> generics.

I won't go so far: it would have been a lot nicer if it had types and  
signatures and real modules and static consistency check for all of this.  
It has none of these basic things (there is not even a real kind of  
phplint to help).


-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University


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

* Re: Web Development Using Ada?
  2013-07-27 17:11     ` Yannick Duchêne (Hibou57)
@ 2013-07-27 17:19       ` Shark8
  0 siblings, 0 replies; 46+ messages in thread
From: Shark8 @ 2013-07-27 17:19 UTC (permalink / raw)


On Saturday, July 27, 2013 11:11:05 AM UTC-6, Hibou57 (Yannick Duchêne) wrote:
> Le Sat, 27 Jul 2013 17:49:17 +0200, Shark8 
> 
> 
> > 5. Generics -- I had to write the same function again and again  
> > (slightly different because of the 'types' coming in) when using PHP;  
> > that system would have been a lot nicer and more stable if PHP had  
> > generics.
> 
> I won't go so far: it would have been a lot nicer if it had types and  
> signatures and real modules and static consistency check for all of this.  
> It has none of these basic things (there is not even a real kind of  
> phplint to help).

6, 7, and 8 address all of those, and they are honestly needed for a sane generic-system. (Otherwise all you're doing is text-expansion macros and those can be very dangerous, esp. if you pass in an evaluated expression as a parameter.)


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

* Re: Web Development Using Ada?
  2013-07-27 16:26     ` Dmitry A. Kazakov
@ 2013-07-27 17:19       ` Shark8
  2013-07-27 17:26       ` Yannick Duchêne (Hibou57)
  1 sibling, 0 replies; 46+ messages in thread
From: Shark8 @ 2013-07-27 17:19 UTC (permalink / raw)


On Saturday, July 27, 2013 10:26:48 AM UTC-6, Dmitry A. Kazakov wrote:
> 
> Not an alternative to AWS, because mainly meant for embedded
> http://www.dmitry-kazakov.de/ada/components.htm#16.11


Interesting; I'll take a look.
Thank you.


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

* Re: Web Development Using Ada?
  2013-07-27 16:26     ` Dmitry A. Kazakov
  2013-07-27 17:19       ` Shark8
@ 2013-07-27 17:26       ` Yannick Duchêne (Hibou57)
  2013-07-27 19:05         ` Dmitry A. Kazakov
  1 sibling, 1 reply; 46+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-07-27 17:26 UTC (permalink / raw)


Le Sat, 27 Jul 2013 18:26:48 +0200, Dmitry A. Kazakov  
<mailbox@dmitry-kazakov.de> a écrit:

> On Sat, 27 Jul 2013 08:49:17 -0700 (PDT), Shark8 wrote:
>
>> 6. AWS setup on Windows. (Assuming you're going to use AWS on Windows,  
>> you
>> *HAVE* to use the GNU toolchain [i.e. make et al.] and it has some  
>> serious
>> issues regarding a particular file [zlib IIRC])
>
> Not an alternative to AWS, because mainly meant for embedded
>
> http://www.dmitry-kazakov.de/ada/components.htm#16.11
>
> yet pure GPR, no makefiles.
>

Where do you get that definition from?

     type HTTP_Version is delta 0.1 digits 6 range 1.0..1_000.0;

Is this derived from the RFC? I don't remember anything like this.

-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University

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

* Re: Web Development Using Ada?
  2013-07-27 10:35 Web Development Using Ada? Aay Jay Chan
  2013-07-27 12:49 ` Dmitry A. Kazakov
@ 2013-07-27 17:57 ` Jeffrey Carter
  2013-07-28  3:03   ` Randy Brukardt
  2013-07-28  9:30 ` Luke A. Guest
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 46+ messages in thread
From: Jeffrey Carter @ 2013-07-27 17:57 UTC (permalink / raw)


On 07/27/2013 03:35 AM, Aay Jay Chan wrote:
>
> What are the pros an cons of using Ada in web development? Is it feasible /
> practical? What would be your recommendation?

There are a number of sites out there with "Ada inside". One advantage of using 
Ada is that many of the common vulnerabilities don't occur with Ada. Brukardt 
discussed the Ada behind archive.adaic.com here in c.l.a several years ago. In 
addition to obvious things such as no buffer overflows, he mentioned that an 
attacker can get a server such as Apache to run a shell, which the attacker can 
exploit, while the Ada equivalent uses a non-exploitable Ada task to accomplish 
the same end. (I'm writing from memory here.)

Ada is a language for software engineers, so deciding to use Ada will quickly 
allow you to determine which of your developers are software engineers and worth 
retaining, and which are coders you'd be better off without.

-- 
Jeff Carter
"This trial is a travesty. It's a travesty of a mockery of a
sham of a mockery of a travesty of two mockeries of a sham. ...
Do you realize there's not a single homosexual on that jury?"
Bananas
27

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

* Re: Web Development Using Ada?
  2013-07-27 17:26       ` Yannick Duchêne (Hibou57)
@ 2013-07-27 19:05         ` Dmitry A. Kazakov
  0 siblings, 0 replies; 46+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-27 19:05 UTC (permalink / raw)


On Sat, 27 Jul 2013 19:26:46 +0200, Yannick Duchêne (Hibou57) wrote:

> Where do you get that definition from?
> 
>      type HTTP_Version is delta 0.1 digits 6 range 1.0..1_000.0;
> 
> Is this derived from the RFC?

No, just 9999.x looked big enough for a version number.

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


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

* Re: Web Development Using Ada?
  2013-07-27 17:57 ` Jeffrey Carter
@ 2013-07-28  3:03   ` Randy Brukardt
  2013-07-28  5:10     ` Yannick Duchêne (Hibou57)
  0 siblings, 1 reply; 46+ messages in thread
From: Randy Brukardt @ 2013-07-28  3:03 UTC (permalink / raw)


"Jeffrey Carter" <spam.jrcarter.not@spam.not.acm.org> wrote in message 
news:kt119m$hln$2@dont-email.me...
> On 07/27/2013 03:35 AM, Aay Jay Chan wrote:
>>
>> What are the pros an cons of using Ada in web development? Is it feasible 
>> /
>> practical? What would be your recommendation?
>
> There are a number of sites out there with "Ada inside". One advantage of 
> using Ada is that many of the common vulnerabilities don't occur with Ada. 
> Brukardt discussed the Ada behind archive.adaic.com here in c.l.a several 
> years ago. In addition to obvious things such as no buffer overflows, he 
> mentioned that an attacker can get a server such as Apache to run a shell, 
> which the attacker can exploit, while the Ada equivalent uses a 
> non-exploitable Ada task to accomplish the same end. (I'm writing from 
> memory here.)

I'd be hesitant to call anything "non-exploitable", but there is much less 
attack surface with Ada. The vast majority of things that can go wrong raise 
an exception, which is logged in the normal web logs (and thus can be 
investigated at some future date) with the request being failed. Nothing bad 
will happen in this case, because it's all normal Ada semantics.

OTOH, if you execute a shell, if an attacker can find a way to pass 
information to that shell, they might be able to do anything. Apache has 
fixed many such bugs. It's better if there are no shell outs. It's even 
better if the capability to do shell outs isn't even in the code (since some 
attacks require executing existing code in unusual ways - if the process 
doesn't have any code that can shell out, such attacks can't shell out 
either).

Of course, you're still vulerable to problems from the host OS and from any 
interfacing that you have to do. And of course, from any compiler bugs. 
(Which is why I never claim that Ada is "non-exploitable".)

                          Randy.



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

* Re: Web Development Using Ada?
  2013-07-28  3:03   ` Randy Brukardt
@ 2013-07-28  5:10     ` Yannick Duchêne (Hibou57)
  2013-08-06  4:43       ` Randy Brukardt
  0 siblings, 1 reply; 46+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-07-28  5:10 UTC (permalink / raw)


Le Sun, 28 Jul 2013 05:03:51 +0200, Randy Brukardt <randy@rrsoftware.com>  
a écrit:
> OTOH, if you execute a shell, if an attacker can find a way to pass
> information to that shell, they might be able to do anything. Apache has
> fixed many such bugs. It's better if there are no shell outs. It's even
> better if the capability to do shell outs isn't even in the code (since  
> some
> attacks require executing existing code in unusual ways - if the process
> doesn't have any code that can shell out, such attacks can't shell out
> either).

What's “shell out” in this context? A server or anything responding to a  
request, has no reasons to have any connexions to the shell.

-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University

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

* Re: Web Development Using Ada?
  2013-07-27 10:35 Web Development Using Ada? Aay Jay Chan
  2013-07-27 12:49 ` Dmitry A. Kazakov
  2013-07-27 17:57 ` Jeffrey Carter
@ 2013-07-28  9:30 ` Luke A. Guest
  2013-07-31  8:30 ` Michael Erdmann
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 46+ messages in thread
From: Luke A. Guest @ 2013-07-28  9:30 UTC (permalink / raw)


Aay Jay Chan <aayjaychan@gmail.com> wrote:
> My group is developing a web application, and we are considering
> different languages / frameworks for server-side programming.
> 
> What are the pros an cons of using Ada in web development? Is it feasible
> / practical? What would be your recommendation?
> 
> Thanks in advance.

You could try my SCGI Lib Ether on GitHub, it's not complete but you can
set up a server behind a http server.

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

* Re: Web Development Using Ada?
  2013-07-27 10:35 Web Development Using Ada? Aay Jay Chan
                   ` (2 preceding siblings ...)
  2013-07-28  9:30 ` Luke A. Guest
@ 2013-07-31  8:30 ` Michael Erdmann
  2013-07-31 10:15   ` Aay Jay Chan
                     ` (2 more replies)
  2013-07-31 15:07 ` Pascal Obry
                   ` (2 subsequent siblings)
  6 siblings, 3 replies; 46+ messages in thread
From: Michael Erdmann @ 2013-07-31  8:30 UTC (permalink / raw)


On Sat, 27 Jul 2013 03:35:38 -0700, Aay Jay Chan wrote:

> My group is developing a web application, and we are considering
> different languages / frameworks for server-side programming.
> 
> What are the pros an cons of using Ada in web development? Is it
> feasible / practical? What would be your recommendation?
> 
My 50 cents: 

Actually you can develop Web Applications using Ada
using AWS and maybe using http://blog.vacs.fr/index.php?post%2F2013%2F02%
2F05%2FAda-Server-Faces-0.5.0-is-available; proable there are more 
frameworks.

BUT there is more to consider: What is about the future of your 
web application ... do you want to develop in the next years with your 
core team or do you intend to outsource the maintenance to some 
external company. In the later case i imagine you might have problem
to find a company. This is just one aspect of the missing ecosystem
for Web design in the Ada community.   

Sorry for sounding like a spoil sport; but there is more then tech
to this issue :-)
 





> Thanks in advance.



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

* Re: Web Development Using Ada?
  2013-07-31  8:30 ` Michael Erdmann
@ 2013-07-31 10:15   ` Aay Jay Chan
  2013-07-31 12:09     ` Michael Erdmann
  2013-07-31 17:20     ` J-P. Rosen
  2013-07-31 11:30   ` G.B.
  2014-01-13 10:08   ` Marius Amado-Alves
  2 siblings, 2 replies; 46+ messages in thread
From: Aay Jay Chan @ 2013-07-31 10:15 UTC (permalink / raw)


On Wednesday, 31 July 2013 16:30:03 UTC+8, Michael Erdmann  wrote:
> 
> My 50 cents: 
> 
> 
> 
> Actually you can develop Web Applications using Ada
> 
> using AWS and maybe using http://blog.vacs.fr/index.php?post%2F2013%2F02%
> 
> 2F05%2FAda-Server-Faces-0.5.0-is-available; proable there are more 
> 
> frameworks.
> 
> 
> 
> BUT there is more to consider: What is about the future of your 
> 
> web application ... do you want to develop in the next years with your 
> 
> core team or do you intend to outsource the maintenance to some 
> 
> external company. In the later case i imagine you might have problem
> 
> to find a company. This is just one aspect of the missing ecosystem
> 
> for Web design in the Ada community.   
> 
> 
> 
> Sorry for sounding like a spoil sport; but there is more then tech
> 
> to this issue :-)

That is part of my concern, too. If we are going for Ada, that almost means we 
need to take care the project for its lifetime, either by directly support it, 
or by training new staff to do so.

Currently we are still not in any size or shape to think that far. But I can't 
help thinking that, by using Ada, we are ruling ourselves from even thinking 
offloading maintenance to anybody. I don't know if that is a bad thing, though.


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

* Re: Web Development Using Ada?
  2013-07-31  8:30 ` Michael Erdmann
  2013-07-31 10:15   ` Aay Jay Chan
@ 2013-07-31 11:30   ` G.B.
  2013-07-31 11:44     ` Yannick Duchêne (Hibou57)
  2014-01-13 10:08   ` Marius Amado-Alves
  2 siblings, 1 reply; 46+ messages in thread
From: G.B. @ 2013-07-31 11:30 UTC (permalink / raw)


On 31.07.13 10:30, Michael Erdmann wrote:

> BUT there is more to consider: What is about the future of your
> web application ... do you want to develop in the next years with your
> core team or do you intend to outsource the maintenance to some
> external company. In the later case i imagine you might have problem
> to find a company. This is just one aspect of the missing ecosystem
> for Web design in the Ada community.

It's not so bad if compared to the alternatives:

For contrast, the Java+Web market is similarly filled with
idiosyncratic "solutions" in need of specialized maintainers.
The number of frameworks, the number of database "solutions",
the number of configuration tools, the system integration
problems, "architectures" left behind, the next fad, the mobile
challenge, etc. etc. have all created a need
for seemingly hard-to-find skilled workers.

As with Ada, neither Java nor .NET mean "standard solution".
Not even within .NET is there a portable, hence maintainable,
solution. E.g., a Delphi application without its original
developer may be as easily moved to C#/.NET as an Ada+AWS application
is moved to J2EE---the difficulty of either effort will be
influenced by the prior project's use of standard techniques as
opposed to standard "technologies", or "framework stew".

The staffing situation doesn't seem any better in the "scripting
languages" market: Idiosyncrasies abound, and not just in the wild.
The big players happily add to that by adding proprietary
extensions to their editions of the languages, again requiring
specialization. Cf. the sorrow that porting away from Google's
app engine is to those who need to do so.

So, justifying maintenance seems more of a psychological
problem, one of perception, rather than one of language,
or one of technical assets.



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

* Re: Web Development Using Ada?
  2013-07-31 11:30   ` G.B.
@ 2013-07-31 11:44     ` Yannick Duchêne (Hibou57)
  2013-07-31 14:33       ` G.B.
  0 siblings, 1 reply; 46+ messages in thread
From: Yannick Duchêne (Hibou57) @ 2013-07-31 11:44 UTC (permalink / raw)


Le Wed, 31 Jul 2013 13:30:23 +0200, G.B.  
<rm-dash-bau-haus@dash.futureapps.de> a écrit:
> the difficulty of either effort will be
> influenced by the prior project's use of standard techniques as
> opposed to standard "technologies"

Please, can you tell more on this?


-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University


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

* Re: Web Development Using Ada?
  2013-07-31 10:15   ` Aay Jay Chan
@ 2013-07-31 12:09     ` Michael Erdmann
  2013-07-31 17:20     ` J-P. Rosen
  1 sibling, 0 replies; 46+ messages in thread
From: Michael Erdmann @ 2013-07-31 12:09 UTC (permalink / raw)


On Wed, 31 Jul 2013 03:15:06 -0700, Aay Jay Chan wrote:

> On Wednesday, 31 July 2013 16:30:03 UTC+8, Michael Erdmann  wrote:
>> 
>> My 50 cents:
>> 
>> 
>> 
>> Actually you can develop Web Applications using Ada
>> 
>> using AWS and maybe using
>> http://blog.vacs.fr/index.php?post%2F2013%2F02%
>> 
>> 2F05%2FAda-Server-Faces-0.5.0-is-available; proable there are more
>> 
>> frameworks.
>> 
>> 
>> 
>> BUT there is more to consider: What is about the future of your
>> 
>> web application ... do you want to develop in the next years with your
>> 
>> core team or do you intend to outsource the maintenance to some
>> 
>> external company. In the later case i imagine you might have problem
>> 
>> to find a company. This is just one aspect of the missing ecosystem
>> 
>> for Web design in the Ada community.
>> 
>> 
>> 
>> Sorry for sounding like a spoil sport; but there is more then tech
>> 
>> to this issue :-)
> 
> That is part of my concern, too. If we are going for Ada, that almost
> means we need to take care the project for its lifetime, either by
> directly support it, or by training new staff to do so.
> 
> Currently we are still not in any size or shape to think that far. But I
> can't help thinking that, by using Ada, we are ruling ourselves from
> even thinking offloading maintenance to anybody. I don't know if that is
> a bad thing, though.

Good code (easy to what ever KPI you may refer) is for my opinion not a
function of the language but more an matter of your organization so to say
to which degree you enforce best practice. Ada will certainly help. But 
if you don't already have an experienced team you will have go through
the complete learning curve to achieve "good code". 
If the web applicationis part of a larger application written in Ada then 
personally i would go for it since certainly Ada will help you in getting 
best practices established. 

Otherwise i would not switch the language but enforce best practices by
review, learning from others etc... establishing some light weighted 
processes or what ever suites to make your team better with what they
already know.

But all this depends very much on the nature of your project :-)

Another thing coming in my mind is deployment; Web applications are 
differently deployed using war and jar files. I guess there are a few 
more things to be considered specially when you have to interface with 
some kind of high availability framework ... :-/


/Michael

 

  



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

* Re: Web Development Using Ada?
  2013-07-31 11:44     ` Yannick Duchêne (Hibou57)
@ 2013-07-31 14:33       ` G.B.
  0 siblings, 0 replies; 46+ messages in thread
From: G.B. @ 2013-07-31 14:33 UTC (permalink / raw)


On 31.07.13 13:44, Yannick Duchêne (Hibou57) wrote:
> Le Wed, 31 Jul 2013 13:30:23 +0200, G.B.
> <rm-dash-bau-haus@dash.futureapps.de> a écrit:
>> the difficulty of either effort will be
>> influenced by the prior project's use of standard techniques as
>> opposed to standard "technologies"
>
> Please, can you tell more on this?

In part, Michael Erdmann explains.

Moreover, the web market is prone to errors of adopting
"new technologies" early, falling prey to the persuasive
rhetoric of marketing: "It's easy!", "Latest technology", etc.
The market is considered a race, and some think that the
first one always wins.

Thus, "the market" spreads venture capital among the "new
technology things" per year and per start-up, in order to
see which one survives. That's very different from a standards
based solution approach. To produce true standard *solutions*,
one will---at least in an ideal world---start from experience,
think first, then try, then iterate. That's the same with
standard techniques: there is a lot to learn, like how to
organize active and passive components of a system, how
to layer the parts of a system, how to prepare for enlarging
the system's capacities, how to make the system adaptable,
how to integrate the system with accounting, etc. There is
not hot, now framework for that I know of, is there?

Working with standards takes time. Before that, it takes time
learning something comprehensive as a standard. Rewards come
only later. Pseudo-solutions ("technologies") will be
rewarding immediately, as they offer something very simple
for some very simple problems, and you can show something!
Guess how many simple problems are in need of solutions,
I mean technically simple problems, not simple use cases
such as online micro-payment (still largely unsolved).
How many of these are viable, economically?

Standards tend to be less simplistic, therefore less appealing
than the latest, easy to operate "technological achievement":
think of a web based framework that generates views of database
tables. Oh, it ignores, for now, the relational part of RDBMSs,
but, bla bla bla marketing bla bla bla(*).

Since maintenance-friendly use of well understood techniques
takes time (for learning and doing), produce cannot become
part of a documented software system in no time, to
be pushed out the door into the market AQAP.

But! Once you have a system that was programmed drawing on tech
knowledge collected during the last decades, you will see
managers smile when they witness a system not failing in the
event of data loss, or a system being adapted to some new use
case in one and a half day, using standard programming
techniques! (**) That's when a team had been using standard
techniques as opposed to standard (***) "technologies".


__
(*) Somewhat related: Hibernate is becoming an obstacle here
and there, as do hash based databases of data that turn out to
be relational in the end. Going back to standard relational
software, and to more boring, standard, old technique such
as JDBC. Oops.

(**) Standard programming techniques would include "patterns",
a preference for has-a, independent modules, planning for
parallel/concurrent execution, defensive I/O, etc.

(***) *standard* n. what everyone is currently in favor of,
a must.


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

* Re: Web Development Using Ada?
  2013-07-27 10:35 Web Development Using Ada? Aay Jay Chan
                   ` (3 preceding siblings ...)
  2013-07-31  8:30 ` Michael Erdmann
@ 2013-07-31 15:07 ` Pascal Obry
  2013-07-31 18:53   ` Michael Erdmann
  2013-08-01 15:54 ` leonid.dulman
  2014-01-09  9:31 ` arifhussain.33
  6 siblings, 1 reply; 46+ messages in thread
From: Pascal Obry @ 2013-07-31 15:07 UTC (permalink / raw)


Le 27/07/2013 12:35, Aay Jay Chan a écrit :
> My group is developing a web application, and we are considering
> different languages / frameworks for server-side programming.
> 
> What are the pros an cons of using Ada in web development? Is it
> feasible / practical? What would be your recommendation?

I'm probably biased, but yes it is possible and quite practical. As for
everything there is learning curve, but look at AWS documentation and
examples.

For example this critic-photo oriented Web site is 100% Ada with AWS:

   http://v2p.fr.eu.org

Pascal.

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://v2p.fr.eu.org
  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B


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

* Re: Web Development Using Ada?
  2013-07-31 10:15   ` Aay Jay Chan
  2013-07-31 12:09     ` Michael Erdmann
@ 2013-07-31 17:20     ` J-P. Rosen
  2013-08-01 13:12       ` Jacob Sparre Andersen
  2014-01-13 10:12       ` Marius Amado-Alves
  1 sibling, 2 replies; 46+ messages in thread
From: J-P. Rosen @ 2013-07-31 17:20 UTC (permalink / raw)


Le 31/07/2013 12:15, Aay Jay Chan a écrit :
> Currently we are still not in any size or shape to think that far. But I can't 
> help thinking that, by using Ada, we are ruling ourselves from even thinking 
> offloading maintenance to anybody.

This seems a bit exaggerated, like if no software company would be able
to take on maintenance just because it's in Ada. There are companies
that are knowledgeable and happy to evolve and maintain Ada software.

Mine for example ;-)
-- 
J-P. Rosen
Adalog
2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00
http://www.adalog.fr

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

* Re: Web Development Using Ada?
  2013-07-31 15:07 ` Pascal Obry
@ 2013-07-31 18:53   ` Michael Erdmann
  2013-07-31 21:03     ` Pascal Obry
  0 siblings, 1 reply; 46+ messages in thread
From: Michael Erdmann @ 2013-07-31 18:53 UTC (permalink / raw)


On Wed, 31 Jul 2013 17:07:19 +0200, Pascal Obry wrote:

> Le 27/07/2013 12:35, Aay Jay Chan a écrit :
>> My group is developing a web application, and we are considering
>> different languages / frameworks for server-side programming.
>> 
>> What are the pros an cons of using Ada in web development? Is it
>> feasible / practical? What would be your recommendation?
> 
> I'm probably biased, but yes it is possible and quite practical. As for
> everything there is learning curve, but look at AWS documentation and
> examples.
> 
> For example this critic-photo oriented Web site is 100% Ada with AWS:
> 
>    http://v2p.fr.eu.org
> 
> Pascal.

I am just curious; how many servers are behind this address? How do 
you achieve clustering?


/Michael





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

* Re: Web Development Using Ada?
  2013-07-31 18:53   ` Michael Erdmann
@ 2013-07-31 21:03     ` Pascal Obry
  2013-08-01  4:45       ` Michael Erdmann
  0 siblings, 1 reply; 46+ messages in thread
From: Pascal Obry @ 2013-07-31 21:03 UTC (permalink / raw)


Le 31/07/2013 20:53, Michael Erdmann a écrit :
> I am just curious; how many servers are behind this address? How do 
> you achieve clustering?

A single server shared with some other people and some other services.
We are using the virtual host to map v2p.fr.eu.org to the proper port on
the server.

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://v2p.fr.eu.org
  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B


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

* Re: Web Development Using Ada?
  2013-07-31 21:03     ` Pascal Obry
@ 2013-08-01  4:45       ` Michael Erdmann
  2013-08-01 13:31         ` Jacob Sparre Andersen
  2013-08-01 21:15         ` Maciej Sobczak
  0 siblings, 2 replies; 46+ messages in thread
From: Michael Erdmann @ 2013-08-01  4:45 UTC (permalink / raw)


On Wed, 31 Jul 2013 23:03:36 +0200, Pascal Obry wrote:

> A single server shared with some other people and some other services.
> We are using the virtual host to map v2p.fr.eu.org to the proper port on
> the server.

Any plans for the future to add some typical Web Application Features
like Jboss or Oracle Softwarebus (OSB) provides? Topics like redundancy 
and scaling over a server farm are important issues. 

/Michael

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

* Re: Web Development Using Ada?
  2013-07-31 17:20     ` J-P. Rosen
@ 2013-08-01 13:12       ` Jacob Sparre Andersen
  2014-01-13 10:12       ` Marius Amado-Alves
  1 sibling, 0 replies; 46+ messages in thread
From: Jacob Sparre Andersen @ 2013-08-01 13:12 UTC (permalink / raw)


J-P. Rosen <rosen@adalog.fr> writes:

> This seems a bit exaggerated, like if no software company would be
> able to take on maintenance just because it's in Ada. There are
> companies that are knowledgeable and happy to evolve and maintain Ada
> software.
>
> Mine for example ;-)

And mine. ;-)

And most likely also AdaHeads and Inspirel.

Greetings,

Jacob
-- 
"I'm going as a barrel of toxic waste!"


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

* Re: Web Development Using Ada?
  2013-08-01  4:45       ` Michael Erdmann
@ 2013-08-01 13:31         ` Jacob Sparre Andersen
  2013-08-01 20:32           ` Michael Erdmann
  2013-08-01 21:15         ` Maciej Sobczak
  1 sibling, 1 reply; 46+ messages in thread
From: Jacob Sparre Andersen @ 2013-08-01 13:31 UTC (permalink / raw)


Michael Erdmann wrote:

> Any plans for the future to add some typical Web Application Features
> like Jboss or Oracle Softwarebus (OSB) provides? Topics like
> redundancy and scaling over a server farm are important issues.

Ada already has the DSA for distributing your application over a server
farm.  (And considering the performance of AWS, you have an impressively
large number of users, if you need it. :-)

Greetings,

Jacob (who currently develops a commercial application using AWS)
-- 
"Can we feel bad for the universe later?"


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

* Re: Web Development Using Ada?
  2013-07-27 10:35 Web Development Using Ada? Aay Jay Chan
                   ` (4 preceding siblings ...)
  2013-07-31 15:07 ` Pascal Obry
@ 2013-08-01 15:54 ` leonid.dulman
  2014-01-09  9:31 ` arifhussain.33
  6 siblings, 0 replies; 46+ messages in thread
From: leonid.dulman @ 2013-08-01 15:54 UTC (permalink / raw)


On Saturday, July 27, 2013 1:35:38 PM UTC+3, Aay Jay Chan wrote:
> My group is developing a web application, and we are considering different languages / frameworks for server-side programming.
> 
> 
> 
> What are the pros an cons of using Ada in web development? Is it feasible / practical? What would be your recommendation?
> 
> 
> 
> Thanks in advance.

Qt5Ada has full WebKit support. http://users1.jabry.com/adastudio/index.html
Leonid

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

* Re: Web Development Using Ada?
  2013-08-01 13:31         ` Jacob Sparre Andersen
@ 2013-08-01 20:32           ` Michael Erdmann
  2013-08-05  8:47             ` Jacob Sparre Andersen
  0 siblings, 1 reply; 46+ messages in thread
From: Michael Erdmann @ 2013-08-01 20:32 UTC (permalink / raw)



> 
> Ada already has the DSA for distributing your application over a server
> farm.  (And considering the performance of AWS, you have an impressively
> large number of users, if you need it. :-)
> 
> Greetings,
> 
> Jacob (who currently develops a commercial application using AWS)

Hallo Jacob; interesting idea; your commercial application is running on a
server farm? 

But this exactly what i mean: The attitude that i can do almost 
everything in Ada which is currently already done by some other 
technology in the market; sure that's possible
but to what price. 
More Specifically; Is the DSA based framework already existing and 
applied by a larger community to Web development that e.g. Jay Chan 
could use it? 

/Michael
 








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

* Re: Web Development Using Ada?
  2013-08-01  4:45       ` Michael Erdmann
  2013-08-01 13:31         ` Jacob Sparre Andersen
@ 2013-08-01 21:15         ` Maciej Sobczak
  2013-08-02 17:24           ` Michael Erdmann
  1 sibling, 1 reply; 46+ messages in thread
From: Maciej Sobczak @ 2013-08-01 21:15 UTC (permalink / raw)



> Any plans for the future to add some typical Web Application Features
> like Jboss or Oracle Softwarebus (OSB) provides? Topics like redundancy 
> and scaling over a server farm are important issues. 

I would not expect AWS to handle this - specialized tools like nginx do it already and there is no reason to reinvent the wheel just to prove that you can implement the whole infrastructure in Ada. It would be a wasted effort, especially if we take into account the limited resources of the Ada web-development community.

Note also that Java-based solutions had to introduce these features quite early mostly due to the fact that they suck royally when it comes to performance and they are unable to fully benefit from the actual underlying machine power. That is, with Ada and AWS you will be able to handle *a lot* more users/connections/transactions/whatever-is-your-metrics before hitting the limits of a single, reasonably configured server. Note also that there are plenty of ways to design and scale the system further down the chain (that is, at the level of your database(s), back-end services, etc.) and the outer layers, especially the HTTP protocol, are not necessarily the most optimal place to scale up.

Some story:

Some time ago I have presented the web service implemented in AWS to my fellow Java programmer who also happens to have experience in PHP. He was literally unable to believe the performance that he has seen, as it was clearly visible that the network round-trip to the server was almost equal to the whole time that we had to wait for any operation to complete. He has never seen anything like that before.
BTW - now in his spare time he is learning AWS.

So - stop worrying about all these memcaches, scaling and Jwhatnot and just make some pilot project with AWS as a feasibility study. Most likely you will never look back. :-)

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


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

* Re: Web Development Using Ada?
  2013-08-01 21:15         ` Maciej Sobczak
@ 2013-08-02 17:24           ` Michael Erdmann
  2013-08-02 20:54             ` Maciej Sobczak
  0 siblings, 1 reply; 46+ messages in thread
From: Michael Erdmann @ 2013-08-02 17:24 UTC (permalink / raw)


On Thu, 01 Aug 2013 14:15:55 -0700, Maciej Sobczak wrote:

>> Any plans for the future to add some typical Web Application Features
>> like Jboss or Oracle Softwarebus (OSB) provides? Topics like redundancy
>> and scaling over a server farm are important issues.
> 
> I would not expect AWS to handle this - specialized tools like nginx do
> it already and there is no reason to reinvent the wheel just to prove
> that you can implement the whole infrastructure in Ada. It would be a
> wasted effort, especially if we take into account the limited resources
> of the Ada web-development community.

Exactly my point; a server only does not make a web application!

Do you already have some experiences while integrating your Ada 
application on the nginx?

/Michael


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

* Re: Web Development Using Ada?
  2013-08-02 17:24           ` Michael Erdmann
@ 2013-08-02 20:54             ` Maciej Sobczak
  2013-08-03  6:51               ` Michael Erdmann
  2013-08-03  9:58               ` Pascal Obry
  0 siblings, 2 replies; 46+ messages in thread
From: Maciej Sobczak @ 2013-08-02 20:54 UTC (permalink / raw)


> > I would not expect AWS to handle this - specialized tools like nginx do
> > it already and there is no reason to reinvent the wheel just to prove
> > that you can implement the whole infrastructure in Ada. It would be a
> > wasted effort, especially if we take into account the limited resources
> > of the Ada web-development community.
> 
> Do you already have some experiences while integrating your Ada 
> application on the nginx?

Yes. There is nothing special or particular to Ada (and AWS) in this.

The setup that we use is to have a single nginx proxy server listening on port 80 (the "standard" HTTP port) and dispatching requests based on the target host name (there can be many such names residing on a single physical address) to the particular AWS server that is handling the given service. The AWS server can be on the same or on a different machine than the one where nginx itself runs. Most importantly, the AWS server(s) does not have to listen on any privileged port number, which makes it much easier to manage from non-root accounts. All this is invisible to users.

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


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

* Re: Web Development Using Ada?
  2013-08-02 20:54             ` Maciej Sobczak
@ 2013-08-03  6:51               ` Michael Erdmann
  2013-08-03  9:58               ` Pascal Obry
  1 sibling, 0 replies; 46+ messages in thread
From: Michael Erdmann @ 2013-08-03  6:51 UTC (permalink / raw)


On Fri, 02 Aug 2013 13:54:42 -0700, Maciej Sobczak wrote:

>> > I would not expect AWS to handle this - specialized tools like nginx
.....
>> > limited resources of the Ada web-development community.
>> 
>> Do you already have some experiences while integrating your Ada
>> application on the nginx?
> 
> Yes. There is nothing special or particular to Ada (and AWS) in this.
> 
> The setup that we use is to have a single nginx proxy server listening
> on port 80 (the "standard" HTTP port) and dispatching requests based on
> the target host name (there can be many such names residing on a single
> physical address) to the particular AWS server that is handling the
> given service. 

Thanxs

sounds really like a reasonable solution. I guess you have also influence 
on the dispatching algorithm allowing? 

This would allow to map different services into different host and 
therefor simplify the LB configuration:-) 
 
>The AWS server can be on the same or on a different
> machine than the one where nginx itself runs. 

Is nginx aware about the availability of a specific host?

>Most importantly, the AWS
> server(s) does not have to listen on any privileged port number, which
> makes it much easier to manage from non-root accounts. All this is
> invisible to users.

I checked the page of nginx.org there is not to much of documentation. By
chance do you have a better link?

/Michael
 

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

* Re: Web Development Using Ada?
  2013-08-02 20:54             ` Maciej Sobczak
  2013-08-03  6:51               ` Michael Erdmann
@ 2013-08-03  9:58               ` Pascal Obry
  2013-08-03 14:50                 ` Maciej Sobczak
  1 sibling, 1 reply; 46+ messages in thread
From: Pascal Obry @ 2013-08-03  9:58 UTC (permalink / raw)



Note that AWS can also dispatch based on virtual host name. No need for
an external server for that.

Pascal.

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://v2p.fr.eu.org
  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

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

* Re: Web Development Using Ada?
  2013-08-03  9:58               ` Pascal Obry
@ 2013-08-03 14:50                 ` Maciej Sobczak
  0 siblings, 0 replies; 46+ messages in thread
From: Maciej Sobczak @ 2013-08-03 14:50 UTC (permalink / raw)


> Note that AWS can also dispatch based on virtual host name. No need for
> an external server for that.

Not really.
AWS uses the URL redirection to do this, which means that the user will see, in the address field of the web browser, that there are some tricks in there. This can influence the "user experience" or even have some serious impact on the SSL deployment strategy (certificates!).

What nginx can do is a lot better. Just for an example: go to http://www.inspirel.com and you will be served by the AWS server that is not even running on the standard 80 port. But you will not see it and this is exactly the kind of user experience that is expected. AWS alone does not support this level of transparency and flexibility.

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


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

* Re: Web Development Using Ada?
  2013-08-01 20:32           ` Michael Erdmann
@ 2013-08-05  8:47             ` Jacob Sparre Andersen
  2013-08-05 11:41               ` Thomas Løcke
  0 siblings, 1 reply; 46+ messages in thread
From: Jacob Sparre Andersen @ 2013-08-05  8:47 UTC (permalink / raw)


Michael Erdmann wrote:

> Hallo Jacob; interesting idea; your commercial application is running
> on a server farm?

It is still under development.  But yes, we are planning to have
multiple instances running on different servers.  You should note that
our reason for having multiple instances is not performance, but rather
an extra layer of security (separation of different customers), so we
are not going to use the DSA.

> But this exactly what i mean: The attitude that i can do almost
> everything in Ada which is currently already done by some other
> technology in the market; sure that's possible but to what price.

So far the cost of the web part of the application has been
insignificant compared with the cost of the actual business logic.  I
can't give you exact numbers, but the costs differ by roughly one order
of magnitude.

> More Specifically; Is the DSA based framework already existing and 
> applied by a larger community to Web development that e.g. Jay Chan 
> could use it?

I simply don't get this "framework" infatuation.  If you write your
system with distribution in mind, the only extra source text you need to
make a distributed version of the system is the configuration
information for your compiler's DSA implementation.  What do the
frameworks you have in mind provide that AWS + DSA doesn't provide
as-is?

Also; AWS consistently beats node.js, which supposedly is the fastest
existing web framework (http://wiki.ada-dk.org/aws_vs_node.js).  Testing
AWS or node.js against other web frameworks, such as Ruby on Rails shows
orders of magnitude speed differences.  So you have to have quite heavy
applications or quite large user bases to actually need more than one
server for performance.

Greetings,

Jacob
-- 
"Very small. Go to sleep" - monster (not drooling)


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

* Re: Web Development Using Ada?
  2013-08-05  8:47             ` Jacob Sparre Andersen
@ 2013-08-05 11:41               ` Thomas Løcke
  0 siblings, 0 replies; 46+ messages in thread
From: Thomas Løcke @ 2013-08-05 11:41 UTC (permalink / raw)


On 08/05/2013 10:47 AM, Jacob Sparre Andersen wrote:

> Also; AWS consistently beats node.js, which supposedly is the fastest
> existing web framework (http://wiki.ada-dk.org/aws_vs_node.js).  Testing
> AWS or node.js against other web frameworks, such as Ruby on Rails shows
> orders of magnitude speed differences.  So you have to have quite heavy
> applications or quite large user bases to actually need more than one
> server for performance.


It is quite a while ago that test was done, and since then node.js has
both caught up and surpassed AWS.

That does not mean AWS is slow, but saying it is faster than node.js is
a stretch. It _was_ faster, in a very simple test.  :)

Just to make that clear.

-- 
Thomas Løcke | thomas@12boo.net | http://12boo.net

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

* Re: Web Development Using Ada?
  2013-07-28  5:10     ` Yannick Duchêne (Hibou57)
@ 2013-08-06  4:43       ` Randy Brukardt
  2013-08-06  5:04         ` Paul Rubin
  0 siblings, 1 reply; 46+ messages in thread
From: Randy Brukardt @ 2013-08-06  4:43 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1437 bytes --]

"Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr> wrote in message 
news:op.w0w1zhgxule2fv@cardamome...
Le Sun, 28 Jul 2013 05:03:51 +0200, Randy Brukardt <randy@rrsoftware.com>
a écrit:
>> OTOH, if you execute a shell, if an attacker can find a way to pass
>> information to that shell, they might be able to do anything. Apache has
>> fixed many such bugs. It's better if there are no shell outs. It's even
>> better if the capability to do shell outs isn't even in the code (since 
>> some
>> attacks require executing existing code in unusual ways - if the process
>> doesn't have any code that can shell out, such attacks can't shell out
>> either).
>
>What's "shell out" in this context? A server or anything responding to a 
>request, has no reasons to have any connexions to the shell.

Anything that requires executing another piece of code (for instance, 
launching a Python interpreter to execute Python code). If one keeps the 
entire server in Ada, then the capability of launching another program is 
not even in the code, making attacks via return modification impossible (and 
these are the attacks which get around techniques to prevent code injection, 
such as DEP on Windows).

                                  Randy.


-- 
"Syntactic sugar causes cancer of the semi-colons." [1]
"Structured Programming supports the law of the excluded muddle." [1]
[1]: Epigrams on Programming - Alan J. - P. Yale University 


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

* Re: Web Development Using Ada?
  2013-08-06  4:43       ` Randy Brukardt
@ 2013-08-06  5:04         ` Paul Rubin
  2013-08-06 19:06           ` Randy Brukardt
  0 siblings, 1 reply; 46+ messages in thread
From: Paul Rubin @ 2013-08-06  5:04 UTC (permalink / raw)


"Randy Brukardt" <randy@rrsoftware.com> writes:
>>What's "shell out" in this context? A server or anything responding to a 
>>request, has no reasons to have any connexions to the shell.

It's done all the time in real servers, maybe unwisely.

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

* Re: Web Development Using Ada?
  2013-08-06  5:04         ` Paul Rubin
@ 2013-08-06 19:06           ` Randy Brukardt
  0 siblings, 0 replies; 46+ messages in thread
From: Randy Brukardt @ 2013-08-06 19:06 UTC (permalink / raw)


"Paul Rubin" <no.email@nospam.invalid> wrote in message 
news:7x38qnbeas.fsf@ruckus.brouhaha.com...
> "Randy Brukardt" <randy@rrsoftware.com> writes:
>>>What's "shell out" in this context? A server or anything responding to a
>>>request, has no reasons to have any connexions to the shell.
>
> It's done all the time in real servers, maybe unwisely.

Right. Most servers that I've seen use many plugins of various sorts; many 
of those are just programs executed by a shell-out.

My e-mail filter used shell-outs to invoke an anti-virus scanner (it 
wouldn't make sense to write one of those in Ada), and the current version 
of the web server does it to run CVS calls. (I wasn't happy about adding 
that to the server, but there didn't seem to be a decent alternative. At 
least those calls are not general shell-outs, they only can execute the CVS 
program. But the shell-out code is linked in somewhere to support that, 
increasing the attack surface.)

                                  Randy.


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

* Re: Web Development Using Ada?
  2013-07-27 10:35 Web Development Using Ada? Aay Jay Chan
                   ` (5 preceding siblings ...)
  2013-08-01 15:54 ` leonid.dulman
@ 2014-01-09  9:31 ` arifhussain.33
  2014-01-09 12:36   ` Jacob Sparre Andersen
                     ` (2 more replies)
  6 siblings, 3 replies; 46+ messages in thread
From: arifhussain.33 @ 2014-01-09  9:31 UTC (permalink / raw)


On Saturday, July 27, 2013 3:35:38 PM UTC+5, Aay Jay Chan wrote:
> My group is developing a web application, and we are considering different languages / frameworks for server-side programming.
> 
> 
> 
> What are the pros an cons of using Ada in web development? Is it feasible / practical? What would be your recommendation?
> 
> 
> 
> Thanks in advance.

How can I learn web development using Ada ? Any resources ?

The only reason I wanna learn it for web, is that Ada is the fastest language.

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

* Re: Web Development Using Ada?
  2014-01-09  9:31 ` arifhussain.33
@ 2014-01-09 12:36   ` Jacob Sparre Andersen
  2014-01-10 13:47   ` Mike H
  2014-01-14 12:23   ` Vadim Godunko
  2 siblings, 0 replies; 46+ messages in thread
From: Jacob Sparre Andersen @ 2014-01-09 12:36 UTC (permalink / raw)


arifhussain.33@gmail.com writes:

> How can I learn web development using Ada ? Any resources ?

One place to start learning Ada is the "Lovelace" tutorial
(<http://www.dwheeler.com/lovelace/>).

If you plan to use AWS as your web framework, the next stop could be the
AWS documentation (<http://docs.adacore.com/aws-docs/aws/>).

Greetings,

Jacob
-- 
"It's not a question of whose habitat it is,
 it's a question of how fast you hit it."


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

* Re: Web Development Using Ada?
  2014-01-09  9:31 ` arifhussain.33
  2014-01-09 12:36   ` Jacob Sparre Andersen
@ 2014-01-10 13:47   ` Mike H
  2014-01-14 12:23   ` Vadim Godunko
  2 siblings, 0 replies; 46+ messages in thread
From: Mike H @ 2014-01-10 13:47 UTC (permalink / raw)


In message <d7400956-20e7-493e-8418-cbf71a5381db@googlegroups.com>, 
arifhussain.33@gmail.com writes
>How can I learn web development using Ada ? Any resources ?
>
It is nearly ten years since I used it, but at a very elementary level 
you might find JEWL <http://archive.adaic.com/tools/bindings/JEWL/docs/> 
of some interest
-- 
Mike Hopkins
Project Rheilffordd Eryri
WHR <http://www.welshhighlandrailway.net/>

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

* Re: Web Development Using Ada?
  2013-07-31  8:30 ` Michael Erdmann
  2013-07-31 10:15   ` Aay Jay Chan
  2013-07-31 11:30   ` G.B.
@ 2014-01-13 10:08   ` Marius Amado-Alves
  2 siblings, 0 replies; 46+ messages in thread
From: Marius Amado-Alves @ 2014-01-13 10:08 UTC (permalink / raw)


> ... or do you intend to outsource the maintenance to some 
> external company. In the later case i imagine you might have problem
> to find a company. This is just one aspect of the missing ecosystem
> for Web design in the Ada community.   

Not true. There are many programmers and companies out there willing to take on Ada projects. Just post a call and you'll see.


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

* Re: Web Development Using Ada?
  2013-07-31 17:20     ` J-P. Rosen
  2013-08-01 13:12       ` Jacob Sparre Andersen
@ 2014-01-13 10:12       ` Marius Amado-Alves
  1 sibling, 0 replies; 46+ messages in thread
From: Marius Amado-Alves @ 2014-01-13 10:12 UTC (permalink / raw)


> > ... by using Ada, we are ruling ourselves from even thinking 
> > offloading maintenance to anybody. (Chan)
> 
> This seems a bit exaggerated... (Rosen)

Not exaggerated; simply false. Like Rosen showed, there are plenty Ada force available.

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

* Re: Web Development Using Ada?
  2014-01-09  9:31 ` arifhussain.33
  2014-01-09 12:36   ` Jacob Sparre Andersen
  2014-01-10 13:47   ` Mike H
@ 2014-01-14 12:23   ` Vadim Godunko
  2014-01-19 23:23     ` Joseph Montanez
  2 siblings, 1 reply; 46+ messages in thread
From: Vadim Godunko @ 2014-01-14 12:23 UTC (permalink / raw)


Which components are missing to allow to use Ada in web development?


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

* Re: Web Development Using Ada?
  2014-01-14 12:23   ` Vadim Godunko
@ 2014-01-19 23:23     ` Joseph Montanez
  0 siblings, 0 replies; 46+ messages in thread
From: Joseph Montanez @ 2014-01-19 23:23 UTC (permalink / raw)


I am not sure there are many components missing. I know the template language for Ada AWS is slower (as in to get work done, not performance) to work in versus using something like a template language that can do statements / loops. For me it feels like Ada AWS template is logicless, which is a good thing, but for prototyping, its certainly harder to reason with that. Do remeber Ada integrates so well with other languages like C++, Java and Python, i would find it hard pressed to say its impossible to fix that issue, using a library or external system to process template that is not Ada specific. You can probably look to Gearman as a possible solution.

Other then that, mysql, redis, and other tools needed are all there. The problem I've run into, is that compared to Ada AWS and GNATColl SQL, most of the web components you will use that are outside those libraries, are the minimum needed to interace with them in Ada. Some of them are procedural Ada, some are OOP Ada, but really it's being consistant with the rest of your ada code. On top of that these will have forced datatypes that are particular to that library and then you have data type juggling.

I think the quality behind Ada AWS and GNATColl is amazing and if your okay with Postgres / SQLite as your database, then your conflict would be low. For me I evaluated Ada for a "realtime" chat system for a website. I built an example in Ada, using tasks, and using Ada AWS with socket hand off, and then build an example in NodeJS using socket.io. After consulting the team we went with NodeJS, merely because of the issue of learning a new language, it was not Ada specific. Since then Ada AWS has released websocket support. 

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

end of thread, other threads:[~2014-01-19 23:23 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-27 10:35 Web Development Using Ada? Aay Jay Chan
2013-07-27 12:49 ` Dmitry A. Kazakov
2013-07-27 15:49   ` Shark8
2013-07-27 16:26     ` Dmitry A. Kazakov
2013-07-27 17:19       ` Shark8
2013-07-27 17:26       ` Yannick Duchêne (Hibou57)
2013-07-27 19:05         ` Dmitry A. Kazakov
2013-07-27 17:11     ` Yannick Duchêne (Hibou57)
2013-07-27 17:19       ` Shark8
2013-07-27 17:57 ` Jeffrey Carter
2013-07-28  3:03   ` Randy Brukardt
2013-07-28  5:10     ` Yannick Duchêne (Hibou57)
2013-08-06  4:43       ` Randy Brukardt
2013-08-06  5:04         ` Paul Rubin
2013-08-06 19:06           ` Randy Brukardt
2013-07-28  9:30 ` Luke A. Guest
2013-07-31  8:30 ` Michael Erdmann
2013-07-31 10:15   ` Aay Jay Chan
2013-07-31 12:09     ` Michael Erdmann
2013-07-31 17:20     ` J-P. Rosen
2013-08-01 13:12       ` Jacob Sparre Andersen
2014-01-13 10:12       ` Marius Amado-Alves
2013-07-31 11:30   ` G.B.
2013-07-31 11:44     ` Yannick Duchêne (Hibou57)
2013-07-31 14:33       ` G.B.
2014-01-13 10:08   ` Marius Amado-Alves
2013-07-31 15:07 ` Pascal Obry
2013-07-31 18:53   ` Michael Erdmann
2013-07-31 21:03     ` Pascal Obry
2013-08-01  4:45       ` Michael Erdmann
2013-08-01 13:31         ` Jacob Sparre Andersen
2013-08-01 20:32           ` Michael Erdmann
2013-08-05  8:47             ` Jacob Sparre Andersen
2013-08-05 11:41               ` Thomas Løcke
2013-08-01 21:15         ` Maciej Sobczak
2013-08-02 17:24           ` Michael Erdmann
2013-08-02 20:54             ` Maciej Sobczak
2013-08-03  6:51               ` Michael Erdmann
2013-08-03  9:58               ` Pascal Obry
2013-08-03 14:50                 ` Maciej Sobczak
2013-08-01 15:54 ` leonid.dulman
2014-01-09  9:31 ` arifhussain.33
2014-01-09 12:36   ` Jacob Sparre Andersen
2014-01-10 13:47   ` Mike H
2014-01-14 12:23   ` Vadim Godunko
2014-01-19 23:23     ` Joseph Montanez

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