| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#11
| |||
| |||
| "Michael Feldman" <mfeldman@gwu.edu> wrote in message news:g19i5d$agd$1@aioe.org... > Ed Falis wrote: >> You may find Richard Riehle's "Ada 95 Distilled" useful too. >> http://www.computer-books.us/ada95_2.php > > I recommend this one as well. Lots of good program examples. The author is > a long-experienced teacher of Ada in industry. > > http://www.adaic.com has several more downloadable books. > > Mike Feldman Ludovic already mentioned him but I recommend John Barnes' book "Programming in Ada". Don't know what edition is current but I have both the 2nd and 3rd editions. The 2nd edition nearly fell apart because of the use it got. I had no formal training in Ada but had a background in Pascal and assembler. The application I wrote in the mid to late 80's is still in use today. Paul |
|
#12
| |||
| |||
| > Please continue the Wikibook - that way you can build on what is there and > don't have to start from scratch and eventually we have a really > comprehensive tutorial. Sure, will do. But once I'm through John English's book, and the Ada05 rationale. I was wondering why more people don't use Ada. So far, it's much easier than C++ and the compiler errors are 100x friendlier. I mean, even dynamic languages (Python, I'm looking at you) don't have the kind of programmer friendly, human readable errors GNAT has been spitting out. Thank you everyone for the help I've bookmarked all the links fromthis thread. I'll go over them tonight. |
|
#13
| |||
| |||
| Ankur Sethi wrote: > So, what would an amateur, cash deprived programmer like me do to > learn Ada? I've had much benefit from studying this link: http://www.rosettacode.org/wiki/Ada Sort of a cookbook project. )> PS : Once I learn this language, I *swear* I'm writing my own > tutorials so other hobbyists can benefit. I feel just like you! I'm also a beginner, and I've had much trouble finding material for what you call "hobbyists". It seems as if most Ada related literature is written for people with extensive programming knowledge - there's not much to go on for the average "wet behind the ears" beginner. Perhaps we should see if we can round up all the newbies out there, and combine our efforts? We could help make the Ada Wiki more newbie friendly. )/Thomas |
|
#14
| |||
| |||
| Thomas Locke schrieb: > It seems as if most Ada related literature is written for people with > extensive programming knowledge - there's not much to go on for the > average "wet behind the ears" beginner. Have you seen this, David J. Naiditch, Rendevouz with Ada 95. Also, start at chapter 2, not 1, in John English's book, http://www.cmis.brighton.ac.uk/~je/adacraft/ch02.htm > Perhaps we should see if we can round up all the newbies out there, and > combine our efforts? We could help make the Ada Wiki more newbie > friendly. )The Wikibook has just a few tutorial pages; would you think that tutorial examples alongside the concepts will help? Or does the need to have something fully targetted at specific questions? If so, please ask. Maybe here, or maby on the discussion pages in the Wikibook. -- Georg |
|
#15
| |||
| |||
| Hi Ankur, I can share with you my experience since I started learning ada a few months ago. First interesting think, you will get a lot of help in this forums since all my questions were answered here. > I was attracted to Ada because it was : > 1. Sanely Object Oriented - It doesn't force OO like Java and C#. Yes, that's the point, even If I find out some standard library could be OO, I thinks, there si some advantage to choose what is an object and what is not, even if I'm a fan of OO paradigm. > 2. Compiled - I *want* to do manual memory management so that I can at > least understand what automatic garbage collection means to me. I've > been living comfortably with Python for too long. > 3. Uniform Syntax - I find C++ syntax weird. C was okay, though. C++ is going to tghe right way. The compiler is really permissive, it's, it's not completly object, and you can do bad code that's not possible to maintain several weeks later. So there is some nice stuff in C++ (I'm working with C++ for years) but I still can't understand people that choose C++ for big application (like KDE and other graphics stuff), Ada could have been more suitable... > I'm sure there are other benefits, but I really don't understand what > they mean to me (yet). The other benefits are mainly that Ada force you to write good code. What does it mean? It mean you have to exaclty say what you want to be done, so there is so few suprises in the runtime, that's amazing. I started to create a Web application to manage contacts in a callcenter learning ada in the same time. In less than one month, I get something working. I still need to improve the design to get my component more reusable, but it's just because I'm learning during developpement phase. So I think that's a real good thing to learn Ada and to participate to the promotion of this language that too many people think it's already dead. > So, what would an amateur, cash deprived programmer like me do to > learn Ada? There are web tutorials, for for the 95 standard. There's a > Wikibook, but I've found it incomplete at several places and there are > a lot of concepts I can't grasp. There's the reference document, but I > can't make head or tail of it. The first step is to learn the main aspect of the language: - Main syntax: Control structure, all the aspects of types, difference between new type and subtype, array, access type, limited and private type. - Strings API: Ada.Strings.Fixed vs Ada.Strings.Unbounded. How to convert to string or from string. How to manage Intefeger and Float numbers. - Ada programming style: Procedure, function and package, how to manage a project, the gpr files to get a project structured. in / in out / out / access parameters, the difference and the use. The nested packages, procedures and functions. - OO: tagged and record, overloading and polymorphism - Error management: Exception in Ada, simple and powerfull. - Generic: Making a generic package / procedure / function, how to use it. Why C++ templates can definitivly go to bed. - Tasking: How to multitask a program, tasking is a part of the language in the difference of main language like C or Python. Then you can start to leard a few intersting library functions: Containers. The point is to create program for all this stuff to get familiar with them. For instance, create a program which read an integer, print it, calcul it. Try to see the contraint type, if your integer is too big, how ada manage? and so on. Then do the same with string, see how to store string, why you have to be carefull using string and why Unbounded strings can save your implementation and so on. At least you will have to determine you first program, is a console program? Graphics program? Web program? Ada has library for all this stuff. Sebastien |
|
#16
| |||
| |||
| > I was wondering why more people don't use Ada. So far, it's much > easier than C++ and the compiler errors are 100x friendlier. I mean, > even dynamic languages (Python, I'm looking at you) don't have the > kind of programmer friendly, human readable errors GNAT has been > spitting out. > > Thank you everyone for the help I've bookmarked all the links from> this thread. I'll go over them tonight. Yes when you have an error in Ada, the compiler is so nice, it's touching. In most language youo ask yourself "What can i do to correct" in Ada, the compiler tell you what to do, so just do it ;-) |
|
#17
| |||
| |||
| Georg Bauhaus wrote: > Have you seen this, > David J. Naiditch, Rendevouz with Ada 95. Nope, haven't seen that. Thanks! > Also, start at chapter 2, not 1, in John English's book, > http://www.cmis.brighton.ac.uk/~je/adacraft/ch02.htm A very nice link. Thanks again Georg. > The Wikibook has just a few tutorial pages; would you think > that tutorial examples alongside the concepts will help? YES! For the average IQ person, I believe examples are much easier to grasp than pure concepts. Combine the two, and everything is golden, IMHO. I think a good example of a near perfect online "manual" is how the PHP folks have done it. http://php.net/manual I know that PHP is a *much* simpler language to write a manual for, as we're not as close to the metal as with Ada, but the concept of having examples littered all over the place is a good one. Also the user comments can be a great help. The cross-references are also a great help, e.g. on the time() manual pages there are links to stuff like microtime() and date(), as their functionality overlaps to a certain degree. > Or does the need to have something fully targetted at specific > questions? I think this is handled quite well @ http://www.rosettacode.org/wiki/Ada Perhaps a link to that site could be put on the wiki - somewhere visible. )/Thomas |
|
#18
| |||
| |||
| On 26 mayo, 14:05, Thomas Locke <tho...@kenshi.dk> wrote: > I think this is handled quite well @http://www.rosettacode.org/wiki/Ada > > Perhaps a link to that site could be put on the wiki - somewhere > visible. )> I've just added it to our list of Wiki pages [1], where it definitely should have already been. [1] http://en.wikibooks.org/wiki/Ada_Programming/Wikis Regards Manuel |
|
#19
| |||
| |||
| "Ankur Sethi" <get.me.ankur@gmail.com> wrote in message news:7a25cac8-40d6-4c92-84f6-b3e7187f4fe9@i36g2000prf.googlegroups.com... .... > A question : when was the Ada 2005 standard defined? Wikipedia says it > was in 2007. If that's true, we should soon be having books about it, > right? There are at least a few books out at this time. See http://www.adaic.org/learn/textbook.html. I don't know of any freebees yet, though. (I believe Richard Riehle said he was updating Ada Distilled, but he obviously hasn't finished that yet.) Randy Brukardt. |
|
#20
| |||
| |||
| On May 24, 12:53 pm, Ankur Sethi <get.me.an...@gmail.com> wrote: > n00b question? Probably. Can I find my answer somewhere else? Nope. Do > I have any other place to turn to? Definitely not. > > I'm a hobbyist programmer just out of high school. I've been dabbling > in C and Python for a while now, and would probably take up CS in > college (just a few months from now). > > I was attracted to Ada because it was : > 1. Sanely Object Oriented - It doesn't force OO like Java and C#. > 2. Compiled - I *want* to do manual memory management so that I can at > least understand what automatic garbage collection means to me. I've > been living comfortably with Python for too long. > 3. Uniform Syntax - I find C++ syntax weird. C was okay, though. > > I'm sure there are other benefits, but I really don't understand what > they mean to me (yet). > > So, what would an amateur, cash deprived programmer like me do to > learn Ada? There are web tutorials, for for the 95 standard. There's a > Wikibook, but I've found it incomplete at several places and there are > a lot of concepts I can't grasp. There's the reference document, but I > can't make head or tail of it. > > A big, warm hearted "thank you" , in advance, to anybody who helps ![]() > > PS : Once I learn this language, I *swear* I'm writing my own > tutorials so other hobbyists can benefit. Welcome on board! I learned Apple Basic, Pascal, FORTRAN and then C/C++ and with some GUI languages such as Paradox before I got into Ada. At that time (around 1995), the Ada resources on the Internet was scarce. I managed to get a book by Jogn G. Barnes, "Programming in Ada" and later Michael Feldman's 2 books, "Software Construction and Data Structures with Ada95" and "Ada95 - Problem Solving and Program Design". Then I managed to find John's 2nd book "Programming in Ada95". I would say John's books are Ada's bible, apart the ARM. You can find the books I have here: http://adrianhoe.com/adrianhoe/projects/ada/ Alternately, WikiBook is another good learning resource for Ada. Start using Ada in whatever project you have. May it easy or difficult. You will learn better when you bump into problems. Enjoy Ada. -- Adrian Hoe http://adrianhoe.com/adrianhoe/ |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.