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 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!news.glorb.com!peer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!Xl.tags.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Mon, 20 Jul 2015 20:37:16 -0500 Date: Mon, 20 Jul 2015 19:37:16 -0600 From: Norman Worth User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Weakness of Ada is expensive / security / etc. ? Anything else? References: <084c0dc7-ae74-4cb8-b1fe-78f42de94291@googlegroups.com> <5IidnWtEWowowjHInZ2dnUVZ5v6dnZ2d@giganews.com> <61db6272-72a4-47d7-b0e5-e870ac8a0432@googlegroups.com> <9078db18-03ef-4724-9818-e9ae37e3d7a8@googlegroups.com> In-Reply-To: <9078db18-03ef-4724-9818-e9ae37e3d7a8@googlegroups.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Message-ID: X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-wM5G7yXIy1OWJmEH8k572hvHLNlTF6V0NvMOr0mje5rl1HzRRQS6eY548do6ekRPezEYNdnlfY9MznV!5x3ej9TlSGn30SIXZPGLEKggi1M+UBd9knAS15IW23hqUJ8iwwVH6H+SKI0V69rK5VbH7Ih03SA= X-Complaints-To: abuse@giganews.com X-DMCA-Notifications: http://www.giganews.com/info/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 8838 X-Received-Bytes: 8950 X-Received-Body-CRC: 2577514823 Xref: news.eternal-september.org comp.lang.ada:26920 Date: 2015-07-20T19:37:16-06:00 List-Id: On 7/20/2015 4:12 PM, NiGHTS wrote: > On Monday, July 20, 2015 at 1:35:37 PM UTC-4, Shark8 wrote: >> On Monday, July 20, 2015 at 3:52:03 AM UTC-6, Serge Robyns wrote: >>> >>> I'm surprised that the AdaCore GNATCOLL SQL library has no "standard" support for Oracle, although it was already there in GNADE from which GNATCOLL SQL was build. I'm ok to work and contribute back, but this removes me from my own project. Moreover, the code is quite "shaky" and not resilient at all, which came as a bad surprise to me or a language like ADA. >> >> GNATCOLL is terrible -- I've *never* gotten it to build w/ DB support and properly link... and that's even after the massive inconvenience of cygwin (needed because the blasted project needs .configure and make). >> >> What's doubly disappointing about that is that GNATCOLL is presented by AdaCore (which presents itself as the public face of Ada) as one of the core useful-libraries and DOESN'T take advantage of Ada's nice portability instead relying on the crap-pile that is make and .configure even when they have/use GPR-files to represent a project themselves. (i.e. not using your own tools is a vote *against* your own product.) >> >> If you adopt the "eat your own dogfood" position, you have an incentive to make that a quality system, fix bugs, and make it easier to use. > > Here are a few comments on my personal experience with GNATCOLL and the greater AdaCore code base. > > So I learn the language, fall in love (of course), then try to dive in and make something useful as a way to get experience in this great human accomplishment of a language. So I go to AdaCore (the main google result to most queries involving installation of Ada). Then you are presented with a page with a "Build your own package" button. A laymen would likely not understand what this means. Compilers, Linkers, Tools, IDEs all have a clear single point installation or at the very least some guide on what to do to get started. In AdaCore's world the most you will get is a huge list of checkboxes and "On Windows, you can use the Extract facility of the Winzip utility." Thats literally all you get, that and "If you have problems downloading or installing GNAT GPL or SPARK GPL Edition contact us at gnat-gpl@adacore.com". Oh really? I can ask installation questions to this email address for GNAT GPL?? Been there, done that. Here is the response I got: > > "We do not provide support for the use of GNAT GPL, and do not provide help > on rebuilding from sources which requires some specific expertise." -- AdaCore Support. > > I love the irony. I pointed out the irony. They did not respond to it as expected. > > Now any average person would run away as soon as they see the long meaningless checklist of out-of-context packages, or perhaps after downloading all of them become even more intimidated by the massive downloaded archive and its convoluted rats-nest of archives and the occasional executable (If this is a Windows installation). > > So a Windows user would be excited to see an executable and run it to get this installation started. Nope. You need a compile environment. If you are like me trying to get the GTK installed as well as GNATCOLL, you need to install MinGW with MSYS first (select all ada packages!), then install all targets (3 installers) in a very specific order changing all the default directory to the MSYS (NOT MinGW!) root folder, then use a command prompt to finalize the installation of the GNATCOLL library only after ensuring that the environment paths are correctly pointing to the right root (it defaults to MinGW). > > To get these packages installed it took me 2 weeks of trial and error. The Windows installation took me nearly as long as the Linux installation. Each had their own unique challenges, and each required that the order of installation be perfect. But what drives me crazy is how many dependencies they REQUIRE which are not initially stated by any documentation on the matter. Its up to you to figure this complexity out. > > Now in my limited experience working with the AdaCore GDK (GUI) library I was disappointed with the behavioural differences when compiling between Linux and Windows. I am forced to switch between both platforms and compile & test on both when adding new GUI elements because some components behave wildly differently between the two platforms. Additionally other components in the standard library are completely missing yet fully documented as if it was expected to be there (For instance Listbox). Combine that with the strangeness I sometimes encounter working in the library (the messagebox package has a mysterious undocumented "Arg5" System.Address parameter mentioned no where in the entire world) and the lack of resources to help with usage (my only friend was the example code, C-based documentation, and the GDK source) and what I ended up with is a hugely unproductive and soured opinion on the Ada path as a solution to serious application development. > > GNATCOLL got me excited when I read about how they leverage the features of Ada's strong typing mechanism to protect SQL queries. But when you want to actually use it the documentation is literally non-existent. The only places you can look is in the GNATCOLL source code and a few places here and there on the internet. I had posted a question recently on this newsgroup regarding not being able to DELETE anything in GNATCOLL. It went unanswered, and I'm not surprised. This is very depressing to me. The library has so much raw potential. It can be a market killer -- completely dominate the world of RDBMS, and yet it's difficult to install, nearly undocumented, and seemingly waiting to die alone. > > I can't speak for the other libraries, but I have been creating my own library interfaces to compensate for a lack of out-of-the-box library support. I'm so thankful that Ada is so easy to interface with C libraries and that GprBuild is another shining human accomplishment. > > Well that's it for my rant on the AdaCore's non-insightful way to get newcomers to use their products. > I agree that lack of support for Oracle, by far the most common commercial database system, is a serious problem. Perhaps there are copyright and licensing issues. If someone wants to take up the challenge, the people at Oracle might be cooperative - might be. I found installing GNAT on Windows to be very easy and effective. You just download the package, switch to its toplevel directory, and execute the installer. The default settings work properly for most Windows installations, and all of the paths are correctly established. You do not have to fuss with MinGW or MSYS; they are installed and linked to the package correctly and automatically. What is difficult about it is realizing that you want the GNAT GPL package, that you must specify Windows (and the correct version of Windows) when asking for the download, and that this must be installed first. Installing GTKAda and ASIS are a great deal more difficult - possible, but difficult. GNATCOLL was never designed for Windows, and I have not tried to port it. GNATCOLL actually has some errors in the source code. They are easy to correct, but they shouldn't be there at all. Actually installation on Linux can be more difficult than installation on Windows