comp.lang.ada
 help / color / mirror / Atom feed
From: Dennis Lee Bieber <wlfraed@ix.netcom.com>
Subject: Re: Ada advocacy
Date: Mon, 17 Jun 2013 21:28:33 -0400
Date: 2013-06-17T21:28:33-04:00	[thread overview]
Message-ID: <vhcvr8d4kq6ribdqeeb0b857ei5aa5luiv@4ax.com> (raw)
In-Reply-To: 12ee9bc5-3bdf-4ac0-b805-5f10b3859ff4@googlegroups.com

On Mon, 17 Jun 2013 17:14:59 -0700 (PDT), Leo Brewin
<leo.brewin@internode.on.net> declaimed the following:

>Greetings,
>
>I have just been reading some of the older posts in this discussion and came across the following objections to Ada (see quoted text below). Does anybody have any opinion on this? Is it correct? Is the original poster confusing the difference between a programming language and an operating system?
>
>Cheers,
>Leo
>
>On Wednesday, March 21, 2012 7:59:23 PM UTC+11, an...@att.net wrote:
>> A reasons why people do not support Ada.
>> 
>> Microsoft has been using multi-threads since Windows 1.0 (DOS GUI addon)
>> which was shipped in early 1985 and with OS/2 1.0 a hardware based 
>> intrinsic multitasking OS in 1987. So, when Microsoft went into the 
>> schools, people learned that Windows was a multi-threading operating 
>> system. And now every Microsoft language and OS platforms support parallel.
>> 
>> But, Ada has always been "Concurrent" aka DOS or batch like programming. 
>> Aka no multi-threads or parallel design.  Even in Ada 2012 (not adopted 
>> yet), the parallel is not fully there only some simple multiple CPU 
>> design structures. 
>> 
>> Now, today, no software customer want to use a language unless that language 
>> fully support multi-threading and parallel designs. So, until the ARG fully 
>> embraces a true multi-threads parallel design, Ada will stay a limited usage
>> language.

	M$ Windows 1 to WfW3.11 had no preemption, it was totally cooperative
-- the program had to be coded to give up the CPU and let some other task
take control. Just one step above co-routines.

	"Concurrent" covers many capabilities -- even a single core processor
using preemptive task switching is considered "concurrent" (The term
simplifies to: the tasks each think they have the full processor; they
don't know about other tasks that are taking time with them; true
concurrent/parallel execution is only something fairly recent -- even the
old Cray systems only had parallel arithmetic but didn't run parallel
independent programs, every arithmetic system did the same operation in
sync, just accessing different data). The Amiga had a multi-priority
preemptive OS much before Windows (Windows 95 and Windows NT were the first
/preemptive/ systems from M$). But I'm not surprised that /schools/ could
be bamboozled by M$ -- understanding the intricacies of preemptive tasking
is not something high schools would cognizant of; that's CS major level.

	In a preemptive system, programs do NOT have to be written to give up
the CPU to another. The OS will stop one program and run another based upon
clock interrupts. Early Windows wouldn't -- if you did a 
	while (1)
		continue;
that program would eat the entire computer time and no other task would
ever get the CPU.

	Ada was basically the first LANGUAGE that defined multi-tasking IN THE
LANGUAGE itself. Before it, one had to use OS specific system calls to
create tasks -- if such a call was even available, in contrast to creating
processes at the command line level.

	C/C++ do NOT "embrace" "multi-thread parallel design". They rely on
external libraries of system services to create threads. The Ada /runtime/
may use those same system services, but they are hidden from the programmer
(unless one is trying to do a minimal runtime for a bare board). The
programmer only has to know how Ada defines a task, not how the OS creates
them.

	Actually, unless doing Ada on a bare board, it pretty much HAS to use
the same OS features as any other language is using. That is, Ada tasks
have to become OS threads/processes. If the task swapping was being done by
the Ada runtime without using the OS, than the first task that blocks on,
say, IO [which is handled by the OS] would block ALL tasks in the program
-- since the OS doesn't know about them it can't give them CPU time.

	What I find amazing is the concept of "Real-Time Java" <G>
-- 
	Wulfraed                 Dennis Lee Bieber         AF6VN
    wlfraed@ix.netcom.com    HTTP://wlfraed.home.netcom.com/


  parent reply	other threads:[~2013-06-18  1:28 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-20 12:54 Ada advocacy tonyg
2012-03-20 13:54 ` Ludovic Brenta
2012-03-20 14:39 ` Marc C
2012-03-20 15:13   ` Ludovic Brenta
2012-03-20 16:34     ` Yannick Duchêne (Hibou57)
2012-03-20 16:35       ` Yannick Duchêne (Hibou57)
2012-03-20 20:06   ` Shark8
2012-03-20 15:42 ` Georg Bauhaus
2012-03-20 18:31 ` Jeffrey Carter
2012-03-20 21:42 ` anon
2012-03-20 23:05   ` Shark8
2012-03-21  0:32 ` Shark8
2012-03-21  1:58 ` Robert Love
2012-03-21  5:37   ` Per Sandberg
2012-03-25 11:10     ` Peter C. Chapin
2012-03-21  8:59   ` anon
2013-06-17 23:42     ` johannes falcone
2013-06-18  0:09       ` tmoran
2013-06-18  0:14     ` Leo Brewin
2013-06-18  0:59       ` Jeffrey Carter
2013-06-19 19:22         ` johannes falcone
2013-06-19 19:34           ` Jacob Sparre Andersen
2013-06-19 20:16             ` Shark8
2013-06-19 19:36           ` Ludovic Brenta
2013-08-30  7:36             ` johannes falcone
2013-06-18  1:28       ` Dennis Lee Bieber [this message]
2013-06-18  5:55         ` Peter Brooks
2013-06-18 17:15           ` Robert A Duff
2013-06-18 17:43             ` Bill Findlay
2013-06-18 19:22               ` Robert A Duff
2013-06-18 19:30                 ` Bill Findlay
2013-08-27 13:34             ` Yannick Duchêne (Hibou57)
2013-08-27 14:08               ` Bill Findlay
2013-08-27 14:13                 ` Bill Findlay
2013-08-27 21:25               ` J-P. Rosen
2013-08-28  7:45                 ` Dmitry A. Kazakov
2013-08-27 22:42               ` Dennis Lee Bieber
2013-08-28  7:45               ` Maciej Sobczak
2013-08-28  8:58                 ` Georg Bauhaus
2013-08-28  9:42                   ` Dmitry A. Kazakov
2013-08-28 11:42                     ` G.B.
2013-08-28 11:59                       ` Dmitry A. Kazakov
2013-08-28 12:49                         ` G.B.
2013-08-28 14:07                           ` Dmitry A. Kazakov
2013-08-28 15:06                             ` Eryndlia Mavourneen
2013-08-28 17:30                               ` Dmitry A. Kazakov
2013-08-28 16:44                       ` Yannick Duchêne (Hibou57)
2013-08-28 17:25                         ` Dmitry A. Kazakov
2013-08-28 23:33                           ` Dennis Lee Bieber
2013-08-29  7:15                             ` Dmitry A. Kazakov
2013-08-29 14:47                           ` Yannick Duchêne (Hibou57)
2013-08-29 19:15                             ` Dmitry A. Kazakov
2013-08-29 15:28               ` Robert A Duff
2013-08-29 21:43                 ` Jeffrey R. Carter
2013-08-30 23:52                   ` Yannick Duchêne (Hibou57)
2013-08-31  0:05                     ` Jeffrey R. Carter
2013-08-31  1:42                       ` Shark8
2013-08-31  2:57                       ` Shark8
2013-08-31  9:00                         ` Dirk Craeynest
2013-08-31  1:48                   ` Randy Brukardt
2013-09-02  7:13                   ` Egil H H
2013-09-02  8:41                     ` G.B.
2013-09-02 16:37                       ` Egil H H
2013-08-29 15:46               ` Robert A Duff
2013-08-30  4:47                 ` Jeffrey R. Carter
2013-08-30 16:54                   ` Robert A Duff
2013-08-30 17:49                     ` Jeffrey R. Carter
2013-08-30 22:41                       ` Robert A Duff
2013-08-31  0:02                         ` Jeffrey R. Carter
2013-08-31 14:47                           ` Robert A Duff
2013-06-19  7:29           ` nevillednz
2013-08-27 13:39             ` Yannick Duchêne (Hibou57)
2013-09-02 18:45           ` Martin
2013-06-17 23:39   ` johannes falcone
2012-03-21 10:44 ` tonyg
2013-06-18  0:07   ` johannes falcone
2012-03-23 16:13 ` KK6GM
2013-06-13 15:33 ` david
2013-06-13 15:34 ` david
  -- strict thread matches above, loose matches on Subject: below --
2003-08-26 20:33 Ada Advocacy Stephane Richard
2003-08-26 21:20 ` Luke A. Guest
2003-08-26 22:28   ` Stephane Richard
2003-08-26 23:04     ` Luke A. Guest
2003-08-27 16:15       ` Warren W. Gay VE3WWG
2003-08-27 23:06         ` Luke A. Guest
2003-08-28 10:39           ` Preben Randhol
2003-08-26 23:55   ` Chad R. Meiners
2003-08-27  0:44   ` Anisimkov
2003-08-27  8:26     ` Dmitry A. Kazakov
2003-08-27 20:12       ` Wes Groleau
2003-08-27 23:09         ` Luke A. Guest
2003-08-29 16:13           ` Jon S. Anthony
2003-08-29 18:15             ` Luke A. Guest
2003-08-28  8:34         ` Dmitry A. Kazakov
2003-08-27  8:29     ` Luke A. Guest
2003-08-28  5:29       ` Dmitriy Anisimkov
2003-09-01 21:26   ` Dave Thompson
2003-08-27  6:56 ` David Holm
2003-08-27 16:00 ` Rod Chapman
2003-08-29  6:38 ` Adrian Hoe
2003-08-29  9:34   ` Stephane Richard
2003-09-01  5:45     ` Adrian Hoe
replies disabled

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