comp.lang.ada
 help / color / mirror / Atom feed
* Please review and comment
@ 2001-08-01  0:48 James Rogers
  2001-08-01  1:30 ` tmoran
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: James Rogers @ 2001-08-01  0:48 UTC (permalink / raw)


A recent posting in comp.lang.ada from a newbie requested a document
listing common Ada programming idioms. This request seemed quite 
reasonable to me. As a result I have started to create such a 
document. Currently I have only a short introduction and a table of
contents. I would like comments on the current table of contents.
Please suggest additional subject matter, as well as possible 
reorganizations.

Thank you

Jim Rogers
Colorado Springs, Colorado USA

Ada Idioms and Source Code Examples

                                          James Rogers

                                         Last Updated July 31, 2001



This document presents several of the most common Ada coding idioms
including simple source code examples. This
document is not intended to be a full tutorial on the Ada language.
Instead, it is intended to be a tool for rapid reference to
common Ada coding idioms. 

When learning any new language it is important to learn how to design
your code to most fully cooperate with the features of the
language. It is common for a person to try to design code for a new
language using patterns and idioms from the person's most
familiar language. One old quote is "A good programmer can write Fortran
in any language". The sad truth is that you will not get
the greatest benefit from a language if you do not learn to "think" in
terms of that language. 


                                       Table of Contents

   1.Defining Data Types 
        1.Defining Integer Types 
        2.Defining Modular Types 
        3.Defining Enumeration Types 
        4.Defining Floating Point Types 
        5.Defining Fixed Point Types 
        6.Defining Array Types 
        7.Defining Record Types 
        8.Defining Discriminant Records 
        9.Defining Record Layouts 
       10.Defining Tagged Types 
   2.Looping 
        1.Simple Loop 
        2.While Loop 
        3.For Loop 
   3.Branching 
        1.if then else 
        2.case statement 
   4.I/O 
        1.Text IO 
        2.Sequential IO 
        3.Direct IO 
        4.Stream IO 
   5.Exceptions 
        1.Defining Exceptions 
        2.Handling Exceptions 
        3.Using the package Ada.Exceptions 
   6.Packages 
        1.Package Specification 
        2.Package Body 
        3.Separates 
        4.Hierarchical Packages 
   7.Subprograms 
        1.Functions 
        2.Procedures 
   8.Concurrent Programming 
        1.Tasks 
             1.Task Definitions 
             2.Task Bodies 
             3.Task Rendezvous 
             4.The Accept Statement 
             5.Selective Accepts 
        2.Protected Objects 
             1.Protected Object Specifications 
             2.Protected Bodies 
             3.Protected Functions 
             4.Protected Procedures 
             5.Protected Entries 
             6.Requeuing 
        3.Pragma Atomic 
        4.Pragma Volatile 
   9.Generics 
        1.Generic Formal Parameters 
        2.Instantiation of Generic Units 
  10.Memory Management 
        1.Dynamic Memory Allocation 
        2.Dynamic Memory Deallocation 
        3.Storage Pools 
  11.Abstract Types 
        1.Defining Abstract Types 
        2.Using Abstract Types 
        3.Ada.Controlled 
        4.Ada.Limited_Controlled



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2001-08-02 15:12 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-01  0:48 Please review and comment James Rogers
2001-08-01  1:30 ` tmoran
2001-08-01  3:38   ` James Rogers
2001-08-01 15:01     ` Ted Dennison
2001-08-01 15:24       ` Preben Randhol
2001-08-01 14:47 ` Ted Dennison
2001-08-01 15:44   ` Marin David Condic
2001-08-01 16:17   ` Ehud Lamm
2001-08-01 17:52     ` Ted Dennison
2001-08-01 19:57       ` Ehud Lamm
2001-08-01 20:10       ` Ehud Lamm
2001-08-01 15:58 ` Ehud Lamm
2001-08-02  2:10   ` Navid Azimi
2001-08-02  3:47     ` tmoran
2001-08-02 15:12     ` Ted Dennison
2001-08-02  7:16   ` Martin Dowie
2001-08-02 10:16     ` Ehud Lamm
2001-08-02 10:49       ` Martin Dowie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox