> I don't believe the language itself is to blame, as it's not a bit
> harder or more difficult to learn than any other language.
>
There are two main reasons to learn a language by your own decision:
a) It's a mainstream language (or at least everybody is talking about
it)
b) it has a special feature (the language itself or the framework)
A common answer to beginners in this group is "Before trying
multitasking you should learn the basis of the language, types, scope,
limited types, etc". It is a wise piece of advise, but it also should
give us a clue of what catches beginners's eyes: Multitasking.
Sometimes I think that a lot of beginners browse the index of any Ada
tutorial like this:
"types..., if..., loops... function... I/O,... packages, ...tasks...
tasks? protected objects? what's this? wow It is great. Their
concepts are really clear, much clearer than signals up and down,
threads etc. Let's try to do X... let's see what is the syntax of a
'for'."
Ada lacks of a a good IDE (please, don't mention GPS), libraries and
tools. Besides Gnat, any Ada compiler is expensive, really expensive,
including Gnat pro, compiling with gnat is slow (no matter it does
more things that other languages). Most of features are found in other
languages as well more or less. But multitasking... Ada brights on
multitasking.
If you want to advocate Ada, show how wonderful it is for
multitasking, don't talk about long-term maintenance, safety, less
bugs, software engineery or things like that. Multitasking is the
word.
Unfortunately, there are not a lot of simple software that needs
multitasking, and not many people has the skills for programing
multitasking. So if no one talks about Ada, there is no compelling
reason for learning it.


|