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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,e276c1ed16429c03 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!postnews.google.com!n7g2000vbo.googlegroups.com!not-for-mail From: ramon_garcia Newsgroups: comp.lang.ada Subject: Re: Ada is getting more popular! Date: Wed, 13 Oct 2010 05:07:13 -0700 (PDT) Organization: http://groups.google.com Message-ID: References: NNTP-Posting-Host: 188.127.179.108 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1286971633 25439 127.0.0.1 (13 Oct 2010 12:07:13 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 13 Oct 2010 12:07:13 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: n7g2000vbo.googlegroups.com; posting-host=188.127.179.108; posting-account=MJRf0QoAAAD4D6NLVoX5XW3Tna9p9iQ7 User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.10) Gecko/20100915 Ubuntu/10.04 (lucid) Firefox/3.6.10,gzip(gfe) Xref: g2news2.google.com comp.lang.ada:15476 Date: 2010-10-13T05:07:13-07:00 List-Id: As a newcomer into Ada, perhaps I can have a useful point of view of what makes it difficult to enter this language. Here are my complains in decreasing order: - Vendor dependency: there are few vendors of Ada products. It is neccessary in practice to use vendor extensions to write useful software. For instance, I must depend on array accesses in GNAT containing both the addess and the bounds of the array. In addition, I also depend on the implementation recomendation that array'adress points to the first element. I also need the extension object'unrestricted_pointer. Vendor dependency is increased by the lack of a community. It does not work googling for an Ada issue, like with Java or Linux APIs. This newsgroup is the only resource that I have yet found. I don't have a problem for paying for using an Ada tool. (I am writing free software at the moment, but perhaps not in the future). But, how much? There is no pricing information in the Adacore website, and if for whatever reason I have an unsuccessful experience with them I have no alternative. My message to vendors is that it is more profitable to be the 10 % of 100.000.000 sales than 100 % of 1000 sales. It is neccessary to have a good free compiler and IDE to build a community. - Complex language that requries plenty of typing. This can be avoided with good developing environments that automate the task, like Eclipse does for Java. Adacore's GPS is not too bad, but not nearly as polished as Eclipse. At least I would expect to have an option "new package" that defines a package spec and body. Or that declaring a function in the spec creates an empty body (this is posible in Emacs, but not in GPS, only creating all the body from all the spec with gnat- stub rather than adding a function to the body from a new function to the spec). - Missing language features. Such a complex language must have design issues. I find suprising that Object'Pool_Address extension from GNAT is not standard. (It is a little inconsistent and bogus, by the way). Some things are almost imposible or require difficult contorsions. For instnace, I have not yet found a reasonable way to insert an array of discriminated elements in a discriminated record. Something like type my_container(counter: integer, discriminated_attribute: integer) is record data: array(0..counter) of contained(discriminated_attribute); end record; This straightforward way is not posible because one cannot use an anonymous array type inside a record (by the way, I find this feature unjustified). But, even defining a type for the array does not work because there is no way of passing the attribute from my_container to the contained elements. For instance, think about a data structure like m, n: integer m times: flaga: boolean; array of n bytes; The desiable way of representing this model is imposible. Of course, all of this can be solved with enough contorsions. This is just an example of a particular issue that I find. The concept is that a complex design has many rough edges. On Oct 13, 9:15=A0am, "Nasser M. Abbasi" wrote: > Ada has jumped in TIOBE index from 29 last year to 17 this year, well don= e. > > It is now ranked 17, ahead of SAS and Matlab ! > > "The TIOBE Programming Community index is an indicator of the popularity > of programming languages" > > http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html > > --Nasser