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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,bd45e29f9dafca87 X-Google-Attributes: gid103376,public From: blancolioni@blancolioni.org (Fraser) Subject: Re: bitwise comparators Date: 2000/01/18 Message-ID: <862od2$o7t$1@kimba.whitelion.org>#1/1 X-Deja-AN: 574417033 References: <3880D375.7E363123@hotmail.com> <38836CF2.AB738B8B@hotmail.com> <85vr1s$9qe1@news.cis.okstate.edu> <38838846.2787AD1A@hotmail.com> X-Complaints-To: abuse@pacbell.net X-Trace: nnrp3-w.snfc21.pbi.net 948233852 216.101.252.104 (Tue, 18 Jan 2000 14:17:32 PST) Organization: White Lion NNTP-Posting-Date: Tue, 18 Jan 2000 14:17:32 PST Newsgroups: comp.lang.ada Date: 2000-01-18T00:00:00+00:00 List-Id: paene lacrimavi postquam Alexander Van Hecke scripsit: > I understand what you're saying, and you're right too! > As I already said, Ada is a programming language of a > later generation, and thus has more features ( = things > you could do with previous generation languages, but > were perhaps difficult / erroneous to >program) that > the compiler does for you. Never forget that this almost > always has a direct impact on the speed of your programs > (cfr. Java which resembles C++ (not in every point of > course) but is WAY slower because of all kinds of automatic > checking / copying / testing ...)! Java is slower because of the VM, which most compilers target. This has little to do with the checking that Java has to do, which is not much. The performance impact of run time checks is not as heavy as you might think, because the Ada compiler has access to an awful lot of type information that can be used to remove a bunch of them. Sure, you can use a class to implement a checked array type in C++, but how on earth do you safely optimise these checks away? Safe Ada can be much faster than safe C++. I say "can be" rather than "is" because I'm too scared issue general pronouncements like that, but in my experience the word "is" is appropriate. > However, this does not mean that you can do 'more' with this > language. In principle, no, but in practice a language that allows you to get where you need to be faster and with less errors is a language that allows you to do more. Instead of tracking down array bounds violations, and fiddly pointer references, I can write more code. > I think I should have explained more carefully what I mean by 'powerful' : [ ... ] > I'd say it's the ability of a language to be _able_ to program > everything you want to, _even if the language was not designed > to solve the problem you're trying to solve_! This is not a useful definition, because it includes just about everything! I am "able" to program any particular task with a large number of languages. Where's the distinction? > In this way Prolog is a very powerful language for AI > programs, but it's really poor when it comes to, let's > say, string manipulation. Prolog has great string manipulation. A string is just a list of characters, and handling lists is something Prolog is very good at. > I think that is a good point for C : easy to learn, possibilities > are enormous, used everywhere (OSses, programs, ...), and very extendible. C is not easy to learn. Students have to deal with pointers at a very early stage, and this is unfortunate. IMHO. What do you mean by extensible? > I can't think of anything that can not be written in C. Write me a C program that determines whether another program terminates :) > I must say, I had never heard of Ada except for the context of > embedded systems. Personally, I've used Ada for compilers, natural language understanding, an interactive fiction engine, a medieval computer war game, an editor, an editor extension language, a parser generator, a database system, a large multiplayer game, a chip emulator, and a bunch of other stuff which I can't remember just now. The closest I've come to embedded systems is targeting an Ada compiler to the Commodore 64. cheers, Fraser.