From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.224.7.7 with SMTP id b7mr15172955qab.5.1374940157542; Sat, 27 Jul 2013 08:49:17 -0700 (PDT) X-Received: by 10.50.120.8 with SMTP id ky8mr161815igb.11.1374940157504; Sat, 27 Jul 2013 08:49:17 -0700 (PDT) Path: border1.nntp.ams3.giganews.com!border1.nntp.ams2.giganews.com!border2.nntp.ams2.giganews.com!border4.nntp.ams.giganews.com!border2.nntp.ams.giganews.com!nntp.giganews.com!feeder2.cambriumusenet.nl!feed.tweaknews.nl!85.12.40.131.MISMATCH!xlned.com!feeder3.xlned.com!news.glorb.com!cb17no88999qab.0!news-out.google.com!ce7ni0qab.0!nntp.google.com!cb17no88997qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sat, 27 Jul 2013 08:49:17 -0700 (PDT) In-Reply-To: <14lc7wzpnwr68.1uyghj6zxs2fh.dlg@40tude.net> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=69.20.190.126; posting-account=lJ3JNwoAAAAQfH3VV9vttJLkThaxtTfC NNTP-Posting-Host: 69.20.190.126 References: <874bf843-8212-44a4-b0c6-e20d831325bc@googlegroups.com> <14lc7wzpnwr68.1uyghj6zxs2fh.dlg@40tude.net> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <60031692-0dc5-4a9d-b26b-277914c93c6d@googlegroups.com> Subject: Re: Web Development Using Ada? From: Shark8 Injection-Date: Sat, 27 Jul 2013 15:49:17 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Original-Bytes: 3804 Date: 2013-07-27T08:49:17-07:00 List-Id: On Saturday, July 27, 2013 6:49:11 AM UTC-6, Dmitry A. Kazakov wrote: >=20 > I think Ada could offer something there: >=20 > 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 usi= ng PHP): 5. Generics -- I had to write the same function again and again (slightly d= ifferent because of the 'types' coming in) when using PHP; that system woul= d 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 rea= lize 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 with= out, 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 var= ious components you're working with which are logically grouped. {In PHP yo= u can "kind of" simulate records with string-associative arrays.} 8. Types and Subtypes -- You quickly learn how valuable these (and CONSTRAI= NT_ERROR) are when you spend hours tracking down a bug that happens to ulti= mately 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 elabor= ation... 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 wher= e the second loop repeats the penultimate item twice and ignores the last i= tem... and they consider it "intended behavior." (Ew!) > Negative could be: >=20 > 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])