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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,d3d20c60e0efe24b X-Google-Attributes: gid103376,public From: mgk25@cl.cam.ac.uk (Markus Kuhn) Subject: Re: Writing Book, Need Ada Ammunition Date: 1999/07/22 Message-ID: <7n7rq3$h1g$1@pegasus.csx.cam.ac.uk>#1/1 X-Deja-AN: 504120344 References: <1999Jul22.141618.1@eisner> Organization: U of Cambridge Computer Lab, UK Newsgroups: comp.lang.ada Date: 1999-07-22T00:00:00+00:00 List-Id: In article <1999Jul22.141618.1@eisner>, kilgallen@eisner.decus.org (Larry Kilgallen) writes: |> > How about the number of Ada books published by the competition... have |> > a look at amazon.com. |> |> How about the fact that none of those other books are specifically |> aimed at the Linux user. I would think having the only book with |> a particular slant would count for something. The probably most important aspect of this book should be that it does not only treat the Ada language along as all the other Ada books do, but that it introduces right from the beginning the use of all the libraries (both existing Ada bindings and directly accessing C library functions) that are extremely important to do something useful under Unix. Just look at the FAQs in this newsgroup: - how do I open a TCP connection in Ada? - how do I write a simple web server in Ada? - how to I clear the screen in Ada? - how to I get the cursor to position x/y in Ada? - how do I access the serial/parallel port in Ada? - how do I move sprites and generate sound effects in Ada? - how do I access the mouse and keyboard directly in Ada? There exists at the moment not a single book that answers these questions. Existing Linux/Unix books answer them only for C programmers, and existing Ada books say that this is an operating system dependent functionality, please consult the vendor documentation (which does not exist yet for Ada on Linux at this level). At the moment there is no book that explains how to use the Ada bindings to ncurses, GTK+, AdaSockets, Mesa, etc. Tip: I still believe that introducing Ada in a platform dependent form by explaining how to write video games is an excellent starting point for an exciting book or course. Video games are real-time applications that can be very elegantly formulated with Ada's tasking capabilities. There exist various simple Linux gaming libraries for C, and you could distribute with your book a thick Ada binding for one of them or even better an Ada reimplementation of one of these, such that your readers can learn as one of the larger application examples how to write a game purely in Ada. Existing gaming libraries are usually front-ends for /dev/sound and for Xlib's ability to place color bitmaps stored in the server quickly only any position in an X window. Explaining how to write a very simple web server or client are usually also highly motivating examples that a book purely based on the RM without use of additional bindings cannot use. The programming examples provided in existing Ada books are dull and boring. There exists no single book yet that talks about POSIX.5 and FLORIST. I see a huge niche here, that requires AT LEAST 3-4 different books to fill it adequately, and your proposed project could well become one of them. I would certainly buy it. Markus -- Markus G. Kuhn, Computer Laboratory, University of Cambridge, UK Email: mkuhn at acm.org, WWW: