comp.lang.ada
 help / color / mirror / Atom feed
From: "Dan'l Miller" <optikos@verizon.net>
Subject: Re: Ada: A beginners experience
Date: Sat, 14 Jul 2018 06:27:25 -0700 (PDT)
Date: 2018-07-14T06:27:25-07:00	[thread overview]
Message-ID: <3ac8b674-b05d-482f-8e43-9bb21f28825e@googlegroups.com> (raw)
In-Reply-To: <821c650e-72ae-4bd1-97a4-3a9bd7433d48@googlegroups.com>

On Friday, July 13, 2018 at 10:53:15 PM UTC-5, blakemi...@gmail.com wrote:
> On Saturday, July 14, 2018 at 10:53:02 AM UTC+8, Dan'l Miller wrote:
> > On Friday, July 13, 2018 at 9:36:32 PM UTC-5, blakemi...@gmail.com wrote:
> > > At the moment I spend too much time trying understand how to make my tools work, and not enough time
> > > using my tools. 
> > 
> > Specifically what do you mean by “make the tools work”?  Do you spend
> > 1) more time tweaking the command-line and build scripts and surrounding ecosystem, as getting exasperated trying to get the toolchain to work together (almost independent of Ada-the-language-per-se) 
> > or
> > 2) more time having lengthy errors/warnings-from-compiler conversations with the GNAT compiler about Ada source code, as cycles of learning of learning Ada itself?
> 
> The first of the two options, well at least most of the time. An example of the entry barrier level is the Inspirel tutorials for Ada on the Cortex-M. I have tried many times to make this work, but so far I have had no luck. (The author posts here so I will add that I have still learnt a lot from the tutorial). This is the only beginner style tutorial that I have found, but I have run into trouble with it.
>  I have been able to get lights blinking on a STM32F4discovery board using the GPL-2018-community release and I am working my way through the code to truely understand it. I've been able to get some external leds flashing so I am having some success along the way. 
>  I don't mind the compiler telling me off, and correcting my mistakes but fighting the toolchain, and even trying to understand the toolchain completely is hard going.
>  I am determined to understand how it all works, and learning to deal with problems of building software and board support packages may simply come with the territory. But some clear documentation that doesn't make assumptions about prior knowledge would also help.
> 
> Mike Blake

I figured that might be what you mean, because it is perennially my obstacle whenever learning new languages.

On one hand, the Ada community & compiler vendors shouldn't just stop at giving advice (e.g., via c.l.a; StackOverflow) and at teaching (e.g., books, Ada Gems).

https://github.com/Microsoft/Windows-iotcore-samples
The Ada community & compiler vendors should take a page from, say, Microsoft's culture to put a generous amount of well-collected/organized examples* for various single-focus use-cases.  What is most excellent about Microsoft's approach to this in particular is that they give the entire solution file (and project file) that is a canned set-up of the entire ecosystem that is guaranteed to work for a specific version of their toolchain.  Ada community & compiler vendors would do well to mimic all that to the Nth degree.

(Alex Gamper's integration of GNAT into Visual Studio should directly benefit from being part of these solution files for Microsoft-OS targets.  License permitting, eventually one could envision a usecase-by-usecase transliteration of each of the numerous C++/CX, C++/WinRT, C# Microsoft-authored samples in GitHub to Ada-WinRT.  Despite people sometimes avoiding Microsoft, Alex Gamper's work is likely to eventually attract & deeply/widely teach Ada in a very accessible way to a entirely untapped new audience.  Much the same could be done for other OSes.)

* Unfortunately, Microsoft uses the word •samples• (instead of the more-correct •examples•), as if a statistician is pulling a few random manufactured goods going by on the assembly line as a quality check.

On the other hand, Ada compiler vendors should be extra diligent in making their toolchain easy to quickly & obviously configure in the top 5 dozen commonplace usecases without consulting the incantations in a semisecret book of magic spells that only a few magicians have.  (Even Microsoft doesn't do a good job at all on this variant:  there is no set of “samples” on GitHub regarding how to tweak their build scripts in dozens of different usecase ways.)

  parent reply	other threads:[~2018-07-14 13:27 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-14  2:36 Ada: A beginners experience blakemichael073
2018-07-14  2:53 ` Dan'l Miller
2018-07-14  3:53   ` blakemichael073
2018-07-14 11:26     ` Brian Drummond
2018-07-14 12:11       ` blakemichael073
2018-07-14 13:27     ` Dan'l Miller [this message]
2018-07-14 14:57     ` Jere
2018-07-16 21:38       ` Maciej Sobczak
2018-07-20 12:00         ` Jere
2018-07-20 21:05           ` Maciej Sobczak
2018-07-21  8:25             ` Simon Wright
2018-07-14  3:36 ` Paul Rubin
2018-07-14  4:08   ` blakemichael073
2018-07-14  6:21     ` Paul Rubin
2018-07-14  8:30       ` Rene
2018-07-14 15:10         ` Paul Rubin
2018-07-14 15:13   ` Jere
2018-07-14 15:42     ` Paul Rubin
2018-07-14 16:01       ` Dmitry A. Kazakov
2018-07-14 19:05         ` Dennis Lee Bieber
2018-07-15  0:31         ` Paul Rubin
2018-07-14 15:55     ` Simon Wright
2018-07-15 22:44     ` Bill Findlay
2018-07-16  1:17       ` Jere
2018-07-16  1:41         ` Paul Rubin
2018-07-16  2:01         ` Bill Findlay
2018-07-16  2:46       ` Dan'l Miller
2018-07-16 15:54         ` Bill Findlay
2018-07-14  8:01 ` Dmitry A. Kazakov
2018-07-14 12:20   ` blakemichael073
2018-07-14 13:15     ` Dmitry A. Kazakov
2018-07-14 14:15       ` blakemichael073
2018-07-14  8:19 ` Jeffrey R. Carter
2018-07-16  9:25 ` fabien.chouteau
2018-07-17  1:18   ` blakemichael073
2018-07-17  1:44     ` Dennis Lee Bieber
2018-07-17 12:59     ` fabien.chouteau
2018-07-20  1:08     ` Philip Munts
2018-07-23  4:04       ` blakemichael073
2018-07-23 13:15         ` Dennis Lee Bieber
2018-07-26 10:20   ` fabien.chouteau
2018-07-16 17:36 ` G. B.
2018-07-16 18:43   ` Simon Wright
2018-07-16 19:08     ` Paul Rubin
replies disabled

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