comp.lang.ada
 help / color / mirror / Atom feed
* Help with book, "Ada for Pyjama Coders"
@ 2012-08-09 20:50 Patrick
  2012-08-09 21:57 ` Nasser M. Abbasi
       [not found] ` <3229289u6e6af325luuheq2lb0er5m240k@invalid.netcom.com>
  0 siblings, 2 replies; 6+ messages in thread
From: Patrick @ 2012-08-09 20:50 UTC (permalink / raw)


Hi Everyone

I was going to leave this until i was a long a little further but I want to talk about it now due to Dufr's last thread.

I rarely get to program while my kids are awake. I code in my pyjamas after they go to bed. I have a whole bunch of Ada books and to be honest they have been very painful to read so late at night.

I would have loved to have had an easy book that just introduced the basic subset. I want to write a short book(maybe 50 to 70 pages) that will just prep someone for the full sized Ada books.

I also think it's sad that there are "new" languages like Go that don't really do much more then Ada 83 + half 95. If Google just picked an Ada subset and supported that, Ada would be the new and coolest thing.

I don't think people like me need multiple inheritence and other Ada 2005 features and I bet I won't need Ada 2012 features either. A book that was not cluttered with these is just what pyjama coders need.

I am collecting code segments

I have several already but below are some samples.

I plan on annotating each one of these:


procedure Procedure_Example is
--variable declarations go here
begin
null ;    
end Procedure_Example;


procedure In_Parameter_Example  ( y : in  Integer ) is
   x : Integer := 1;
begin
null ; --do something with x and y   
end In_Parameter_Example;


procedure Out_Parameter_Example ( y : out Integer ) is
   x : Integer := 1;
begin
null ; --do something with x and y  
end Out_Parameter_Example;

procedure In_Out_Parameter_Example ( y : in out Integer ) is
   x : Integer := 1;
begin
null ; --do something with x and y    
end In_Out_Parameter_Example;


procedure Access_Parameter_Example ( y : access Integer ) is
--variable declarations go here
begin
null ; --do something directly to y and not it's copy    
end Access_Parameter_Example;


procedure Default_Parameter_Example ( y : in  Integer := 0) is
   x : Integer := 1;
begin
null ; --do something with x and y     
end Default_Parameter_Example;





Do you see how each of these only introduces one concept at a time and does nothing in particular. I would have prefered to learn this way rather then a full example that introduces several concepts at once. I think it I have one of each of these on it's own page, with colour syntax highlighting it will be easy to follow lat at night.

Here is the rough table of contents I am considering:


Part 1 Ada 83 "ish" Ada
Lightning introduction to type system + Assignment statements
lightning introduction to gcc and gnat

identifiers, comments, null statement, blocks, scope, parameters, procedures, functions,

If statements, Compound conditions, case statement, Range tests, Loops, operators, packages, private types, generics, exception handling, renaming declarations, overloading

Multitasking, Task types, Communicating with tasks, select statements, rendezvous, Sharing data between tasks with a passive task,

Part 2
Types in more detail
Defining new data types, Integer, Subtypes, Derived types, Modular integers, Real types, Numeric literals, Constants, Enumerations, Boolean, Record types, Strings, Character types, array types, Discriminants, Limited types

Toolchains in more detail, GCC/GNAT, pragmas, interfacing with C and building shared C objects,

text input output, File input/output, Stream input/output

Part 3 A bit of Ada 95( No Ada 2005 and not all of Ada 95, no protected types etc. )
Tagged types, Tagged types


Appendix Ada Language legal rules
Nothing covered that will be in the appendixes of other books



Any feedback on this approach is welcome.


 





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

* Re: Help with book, "Ada for Pyjama Coders"
  2012-08-09 20:50 Help with book, "Ada for Pyjama Coders" Patrick
@ 2012-08-09 21:57 ` Nasser M. Abbasi
  2012-08-09 23:00   ` Shark8
       [not found] ` <3229289u6e6af325luuheq2lb0er5m240k@invalid.netcom.com>
  1 sibling, 1 reply; 6+ messages in thread
From: Nasser M. Abbasi @ 2012-08-09 21:57 UTC (permalink / raw)


On 8/9/2012 3:50 PM, Patrick wrote:
> Hi Everyone
>
> If Google just picked an Ada subset and supported that, Ada would be the new and coolest thing.


Yes ofcourse.

I think it is very hard for a language to become popular without
a large company/organization supporting it. At least initially
if not all the time. Look at the history of programming  languages
and you will notice this. Examples are plenty. (COBOL, PLI, JCL,
FORTRAN, C/C++, C#, Java, BASIC, etc...) all had large company that
started it and made them popular initially and some to this day
are behind them and supporting them.

Ada got popular when the DOD was behind it. After the DOD let go and
there is was no large entity supporting Ada any more, it became much less
popular, at least nothing like it was in the 80's. in middle 80's, everyone
was talking about nothing but Ada. Ada was the second most popular
language in 1987 !

see http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

There are very few languages that can get popular without large entity
supporting them. This happens only when the language happens to provide
something unique that is new and not available with other current
languages.

So, if and when we see an announcement of visual Ada by Microsoft, is
the day Ada will suddenly become popular and cool :)

--Nasser



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

* Re: Help with book, "Ada for Pyjama Coders"
  2012-08-09 21:57 ` Nasser M. Abbasi
@ 2012-08-09 23:00   ` Shark8
  0 siblings, 0 replies; 6+ messages in thread
From: Shark8 @ 2012-08-09 23:00 UTC (permalink / raw)
  Cc: nma

On Thursday, August 9, 2012 3:57:24 PM UTC-6, Nasser M. Abbasi wrote:
> On 8/9/2012 3:50 PM, Patrick wrote:
> 
> So, if and when we see an announcement of visual Ada by Microsoft, is
> the day Ada will suddenly become popular and cool :)

That would be cool and, to be honest, if they'd simply started with Ada as the base for .NET's CLR -- that is, making the the CLR inclusive of everything Ada's RTL needs -- they would have had support for basically 2/3rds to 3/4ths of basically 4th version of C# (IIRC/IIUC) right with the first release.



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

* Re: Help with book, "Ada for Pyjama Coders"
       [not found] ` <3229289u6e6af325luuheq2lb0er5m240k@invalid.netcom.com>
@ 2012-08-10  8:57   ` Patrick
  2012-08-10 16:00     ` Anh Vo
  2012-08-10 18:28   ` Robert A Duff
  1 sibling, 1 reply; 6+ messages in thread
From: Patrick @ 2012-08-10  8:57 UTC (permalink / raw)


Well they could have called it Go-Ada :)

I don't think Ada is trademarked now and enforceable.



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

* Re: Help with book, "Ada for Pyjama Coders"
  2012-08-10  8:57   ` Patrick
@ 2012-08-10 16:00     ` Anh Vo
  0 siblings, 0 replies; 6+ messages in thread
From: Anh Vo @ 2012-08-10 16:00 UTC (permalink / raw)


On Friday, August 10, 2012 1:57:01 AM UTC-7, Patrick wrote:
> Well they could have called it Go-Ada :) I don't think Ada is trademarked now and enforceable.

In light of this, I say DoD has abandoned its comrade :-(



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

* Re: Help with book, "Ada for Pyjama Coders"
       [not found] ` <3229289u6e6af325luuheq2lb0er5m240k@invalid.netcom.com>
  2012-08-10  8:57   ` Patrick
@ 2012-08-10 18:28   ` Robert A Duff
  1 sibling, 0 replies; 6+ messages in thread
From: Robert A Duff @ 2012-08-10 18:28 UTC (permalink / raw)


Dennis Lee Bieber <wlfraed@ix.netcom.com> writes:

> On Thu, 9 Aug 2012 13:50:09 -0700 (PDT), Patrick
> <patrick@spellingbeewinnars.org> declaimed the following in
> comp.lang.ada:
>
>  
>> I also think it's sad that there are "new" languages like Go that don't really do much more then Ada 83 + half 95. If Google just picked an Ada subset and supported that, Ada would be the new and coolest thing.
>
> 	One problem -- unless the controlling entities have loosened the
> standard...
>
> 	As originated, the Ada standard mandated NO subsets, and NO
> supersets.

Standards don't actually mandate things.  They pretend to, by saying
"shall" all over the place, but there's no police to come and
arrest you if you implement super- or subsets.  In fact,
gnat does both, in various modes, and so do other Ada compilers.

Standards just define what it means to conform to that
standard.  Conformance to standards is optional.

>...Any compiler system wanting to call the language "Ada" had to
> implement the language as defined in the standard documents..

Sure, it was and is incorrect to call something Ada if it's
not Ada.  The gnat docs, for example, are careful to describe
which switches are needed to make it a pure Ada compiler.

>... (some of the
> "annexes" are optional, but for the most part, they do not define the
> language itself but how the language can be used in advanced
> architectures).

- Bob



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

end of thread, other threads:[~2012-08-15  2:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-09 20:50 Help with book, "Ada for Pyjama Coders" Patrick
2012-08-09 21:57 ` Nasser M. Abbasi
2012-08-09 23:00   ` Shark8
     [not found] ` <3229289u6e6af325luuheq2lb0er5m240k@invalid.netcom.com>
2012-08-10  8:57   ` Patrick
2012-08-10 16:00     ` Anh Vo
2012-08-10 18:28   ` Robert A Duff

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