> > Skweetis wrote: > > I don't use Ada because there aren't very many library bindings > > for it. > > > > Finally a criticism that isn't completely false. > > Microsoft/Sun/SGI/etc has legions of programmers and are constantly > > defining new APIs. Everyone else will always be one step behind. > > Unfortunately, this is very true. Building a system with COTS hardware > requires a fairly large resource expenditure on creating binding for the > included C/C++ libraries. This is not just having to deal with new APIs > from Microsoft/Sun/ > SGI/etc but with real world, everyday hardware. There is another part of the Truth to this objection. There are many Ada binding that assume expert level familiarity with and an unknown number of licenses to the products they are binding to. It would be helpful if there were a list as to what products you need to buy and how to use the various bindings (a total of approximately 4 lines for each binding that exists). As a specific example, if I wanted to use Ada in the following contexts, how could I figure out what bindings I could use and what products I would have to buy in order to use it: a. I would like to use Ada to do queries against my SQL databases (implemented in commercial DBMS products across the web such as Oracle, Sybase, Informix, and DB2). There are several ODBC bindings, but they seem to bind to various commercial products that must be boughten before you get the ability to do the ODBC, without actually telling you what you have to buy. Java and Python, on the other hand, provide objects that open sockets on the internet and do ODBC in an identical manner on Solaris, Linux, and Windows without having to buy any extra products. b. I would like to light up dots on the screen directly. Okay, so no one on the list agrees with me that I SHOULD be wanting this kind of control or speed. So, let's go for a second choice. I would like to do vector graphics in the same manner on Windows, Linux, and Solaris. There are dozens of graphics bindings out there, and a couple of them have features that work on NT. But with all the choices, the open graphics, the gtks of the world, etc., etc., where is a binding to a method of lighting up horizontal segments on the screen IN REALTIME that works on both the windows and the unixen of the world, like Java does, even though most unixen use X-Windows and NTs out of the box do not? c. I would like to use Ada programs as Jini services, requiring them to serve as RUNNABLE, SERIALIZABLE Java classes implementing DiscoveryListener and ServiceIDListener, and hava an interface that permits them to be transmitted as a proxy across a socket. There are several Java bindings. Can any of them give me close enough control over the Java virtual machine, its security policy, and the Java runtime library to do this? d. I would like to write a keyboard interrupt driver for NT to permit applications (think of an elecronic pipe-organ) to receive multiple simultaneous keypresses, like chords. Is there a binding that lets me access the Ring 0 features of NT, access the internals of an interrupt driver, and hook myself into the interrupt chain like we do in DOS? e. I would like an Ada version of a shopping basket, to hook myself into a bank, a clearinghouse, a customer service bureau, a fulfillment house (that does the pick/pack/ship from a warehouse), the marketing database of the vendor, the hyperlinked catalog web page, and the customer web page, so that a customer can pick products from the catalog, put them in the shopping basket, pay for them, and track the shipments, talking to the various companies via coded e-mail (or database transactions or realtime mailboxes or standard business transactions, or whatever). What bindings are available to permit me to send transactions across the internet? What bindings are available to permit me to trigger an Ada program upon activation of a hyperlink button? What bindings are available to receive and decode email? What bindings are available to send email? What bindings are available to log onto Federal Express's web page and generate a label for my shipment? What bindings are available to log onto Federal Express's web page and ask for the status of my shipment? THE COMMON THEME IS THAT, ALTHOUGH MOST OR ALL OF THESE BINDING EXIST, THEY ARE NOT ACCESSIBLE AS ANSWERS TO THE ABOVE QUESTIONS, BASED ON PROGRAMMER NEED. THEY ARE GROUPED IN A WAY THAT ONLY EXPERTS OF A CERTAIN KIND CAN FIND THEM, AND THOSE EXPERTS DO NOT SEEM TO EXIST. ADA-95 WOULD BE USED MORE IF I COULD PROGRAM MY GAMES (Business-to-Business, Military, Simulation, Adventure, etc.) IN ADA-95.