From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,21960280f1d61e84 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Newsgroups: comp.lang.ada Subject: Re: How come Ada isn't more popular? References: <1169531612.200010.153120@38g2000cwa.googlegroups.com> <20070123211651.c0d43695.tero.koskinen@iki.fi> <87zm89tpk7.fsf@ludovic-brenta.org> <4q4pqgmdwo.fsf@hod.lan.m-e-leypold.de> From: Markus E Leypold Organization: N/A Date: Thu, 25 Jan 2007 10:40:32 +0100 Message-ID: User-Agent: Some cool user agent (SCUG) Cancel-Lock: sha1:F8xLCAVxvSGp1WRRloqb42rQQJI= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii NNTP-Posting-Host: 88.72.249.33 X-Trace: news.arcor-ip.de 1169717755 88.72.249.33 (25 Jan 2007 10:35:55 +0200) X-Complaints-To: abuse@arcor-ip.de Path: g2news2.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!130.59.10.21.MISMATCH!kanaga.switch.ch!switch.ch!news-fra1.dfn.de!newsfeed.arcor-ip.de!news.arcor-ip.de!not-for-mail Xref: g2news2.google.com comp.lang.ada:8570 Date: 2007-01-25T10:40:32+01:00 List-Id: Maciej Sobczak writes: > Markus E Leypold wrote: > >>> both languages are easily "bindable". You can even have C API for Ada >>> implementation - pragma Export is just as useful as pragma Import!. >>> In other words, you don't need to use C for implementation part even >>> if you want to have C API for reasons of useability. This is exacly >>> what the open-source guys don't seem to get right. >> So Ada = Closed Source = Good and C = Open Source = Bad or something >> like this? I don't understand it. > > Of course not. There is a significant amount of extremely good open > source software around, and I also suppose that some crappy Ada code > exists as well (it's harder to find it, but for the sake of argument I > can write some ;-) ). Well. I remember having read some of it. :-). The language does not guarantee good design. > My point is that the majority of open source world seems to get stuck > with C as a main development language for reasons which I don't really > understand. I understand the use of C on the interface level I share your not-understanding. My understanding of the reason for this situation was always that it has something todo with (a) premature optimization and (b) the lowest common denominator: A C library can be bound to different language APIs, but a, say Python library cannot. I doubt a Ada library could. Apropos Python: There are a lot of languages that are rather popular in OSS development apart from C. KDE is bound to Qt so cannot leave C. GNOME AFAI understand will slowly shift to Mono as application run time and thus will have more and mor C# code (that also shows what the OSS guys percieve as their main problem: Pointers and memory management, both of which have not been really solved in Ada to an extent desirable for application programming (as opposed to embedded)). > (everything can bind to C, so it's the "least common denominator" for Ooops. I didn't read so far. We agree :-). > interfacing), but internally many projects would greatly benefit from > using just about anything else. Developers reject this idea on the > grounds that C is *the* progamming language for open source, end of More likely, its "the available compiler". > story. I think that GNU luminaries (Stallman in particular) add to > this mindset by publishing web pages promoting C as the language of > choice and the crowd follows. I don't think so. Nobody really has a problem to contradict RMS :-). >> Apart from that, me seems it would be a bit difficult to have a C API >> to some Ada library, since Ada requires quite a lot of runtime support >> for tasking, so certainly doesn't interact to well C-code which also >> use signals, longjmp etc. > > Your argument can be applied in the other direction as well. How about > binding Ada to C libraries that use non-Ada runtime internally? It's Yes, this is a problem. Therefore the usual approach is, to avoid this or at least to make the runtime separable and exchangeable. > enough if the C library uses POSIX threads and its interaction with > tasking in Ada is already outside of what AARM specifies. Exactly. But you can writ Code in C which just does something with things on the stack, doesn't fiddle with threads or signals and thus interacts minimally with the host runtime. That's the reason why C is so popular for libraries: You can. > Binding (in any direction) requires some assuptions about the two > environments. There is way to escape them. Regards -- Markus