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=-0.1 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM,PP_MIME_FAKE_ASCII_TEXT autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,3ef3e78eacf6f938 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!news4.google.com!feeder.news-service.com!188.40.43.213.MISMATCH!feeder.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Warren Newsgroups: comp.lang.ada Subject: Re: Alternatives to C: ObjectPascal, Eiffel, Ada or Modula-3? Date: Thu, 25 Mar 2010 13:45:35 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <7a0c7a19-5d83-4cc6-be68-95ebf41533e7@t23g2000yqt.googlegroups.com> <3b3f991b-8fcd-435c-83f6-e1a1a5e8f6ed@a31g2000prd.googlegroups.com> <104cd8d2-d4b4-4e47-9780-30746251da2d@a37g2000prd.googlegroups.com> Injection-Date: Thu, 25 Mar 2010 13:45:35 +0000 (UTC) Injection-Info: feeder.eternal-september.org; logging-data="19556"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19lltGknhnghLH/Ec4F43AxOc+Wx+WtU2I=" User-Agent: Xnews/5.04.25 X-Face: &6@]C2>ZS=NM|HE-^zWuryN#Z/2_.s9E|G&~DRi|sav9{E}XQJb*\_>=a5"q]\%A;5}LKP][1mA{gZ,Q!j Cancel-Lock: sha1:iAjb0tPl1ddQLLgFVUSNIbMQjZk= Xref: g2news2.google.com comp.lang.ada:10734 Date: 2010-03-25T13:45:35+00:00 List-Id: Adam Beneschan expounded in news:104cd8d2-d4b4-4e47-9780-30746251da2d@a37g2000prd.googlegroups.com: > On Mar 24, 1:00�pm, Warren wrote: >> Adam Beneschan expounded >> innews:bf27602c-09c5-45e4-97c1-608bf9729cbb@s2g2 > 000prd.googlegroups.com: > >> >> I smell an interpreter! .. >> So by your definition, my "tokenized basic" isn't interpreted either? >> It saves as an intermediate byte code also. So did GWBASIC IIRC. But >> nobody would say that GWBASIC wasn't interpreted. > > Please read carefully what I wrote earlier: "For that, I'd assume that > the interpreter reads the original source statements, or some sort of > tokenized form that bears a close relation to the original source > statements, while running the program." Apart from efficiencies, what does "close relation to source" have to do with it? You still have another program "interpreting" it to carry out the instructions coded, in the original source. > .. p-code does not bear any > such relation to the Pascal source. I know that the question of "how > close is the byte code to the source" is a fuzzy one. Yep, but except where you have the interpreter in hardware, it is still interpreted. Of course hardware often uses software also (microcode), but usually people draw the line at that boundary. >> Sorry, but if any "execution" requires the help of an interpreter, >> it is "interpreted" at some level(s), even in Java's case. >> >> Now if the O/S could load and hand control over control to the >> loaded code (exec) without involving a separate process, then >> that would be different. Otherwise, I still smell an interpreted >> "language". > > I think your definition of "interpreted language" is too broad to be > meaningful. It's clear cut. If you need another executable to run it, then it's interpreted. Though I will grant that there are a couple of exceptions here also- the cobrun command that Open Cobol uses is a main program stub that dynamically calls a cobol module (as a shared library) to load and execute it. But the same code can be compiled into a stand alone executable -- and neither of these are interpreted. > Suppose I had a Pascal compiler that generated code for a > processor that is no longer manufactured. So I write a program that > emulates that processor. People usually call that "emulation". > That's effectively an interpreter, but does > that make Pascal an interpreted language? No. This is where the word emulator makes a useful distinction. > And what's the difference if the interpreter is for a > processor that no longer exists, or for a processor that never existed > such as the p-machine? Emulated theoretical concept of a machine code is usually just viewed interpreted code. However modern usage has also brought in the idea of a "virtual machine". I think that is more of a marketing concept than a useful term. > To relate it back to the topic of discussion: I think it was you that > claimed that it was meaningless to compare C/C++ results to Java, C#, > or Pascal (variants) because the latter were "largely interpreted > languages". I didn't say it was meaningless- just that there is no surprise in that (aside prehaps from truly compiled Pascal). > .. In short, Pascal, as a *language*, is a > traditional compiled language and there is absolutely no basis for > putting it into the "interpreted language" category, period. I'll disagree about the p-code implementation, but would otherwise generally agree. > The fact > that one popular implementation of this language used a virtual > machine and an interpreter for that machine is irrelevant. > -- Adam It's not irrelevant, unless you _qualify_ what you're talking about. Otherwise some poor saps with a different background in Pascal may come away with different and incorrect conclusions. The fact that it was _popular_ means you have to deal with it when making statements about the language's performance. Warren