Path: csiph.com!news.swapon.de!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Jeff Higgins Newsgroups: comp.lang.java.programmer Subject: Re: questions re Javascript Date: Fri, 25 Sep 2015 14:03:55 -0400 Organization: A noiseless patient Spider Lines: 72 Message-ID: References: <83722e36-4afe-4077-b936-229450613698@googlegroups.com> <47d69c57-6ce4-4f35-9e14-a348a3fbf1f7@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Fri, 25 Sep 2015 18:03:46 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="a78aad8b483612fbf45d18e918df0cca"; logging-data="9077"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/N6bv2sm4asU3qrCxu2fIqrkqKOCtSeGE=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.8.0 In-Reply-To: Cancel-Lock: sha1:FpoLhBCccOD9teWhMd9sj/gR8Fg= Xref: csiph.com comp.lang.java.programmer:32703 On 09/25/2015 01:00 PM, Martin Gregorie wrote: > On Fri, 25 Sep 2015 12:30:22 +0100, Eternal Hope wrote: > >> On 25/09/2015 12:17, Martin Gregorie wrote: >>> On Thu, 24 Sep 2015 20:55:59 -0400, Jerry Stuckle wrote: >>> >>>> Again - let's see you build the hardware. Then maybe we can discuss >>>> it. >>>> >>> Its already been done. https://en.wikipedia.org/wiki/Java_processor >>> >>> Or, just find a Jazelle chip or Javelin device and use that. Parallax >>> sold the Javelin. Physically they were very similar to their BS2 STAMP. >>> However, they did that quite a while back, so it will be Java 1 or 2 at >>> the most. >>> >>> There's an interesting discussion in this reference: http:// >>> www.jopdesign.com/doc/jhal.pdf I just skimmed it, but it looks as >>> though they've had at least one HW implementation running. >>> >>> In any case, what does seeing a hardware implementation have to do with >>> a thread about clarifying natural language definitions and their >>> associated semantics? >> >> Splutter !!! >> >> You bought it up in the first place Martin. and you haven't yet answered >> the quastion about how your byte code gets translated into binary >> numbers ... how does that happen ? >> > How do you work that out? I did explicitly NOT make a distinction between > bytecode compilers and machine code compilers: indeed GCJ can generate > both. Pretty much at the start of all this, I said two things: > > 1) that you can define a high-level 'compiled language' as one where > a program, usually known as a 'compiler', must be used to translate > the human readable source code into something more computer friendly > before it can be run and that an interpreted language does not have > an explicit compilation step. > > 2) that compilers or assemblers that can directly generate executable > code without the aid of a linker are rare in my experience and that I > knew three cases (6800 assemblers, PL/9 and Elliott 503 Algol) of > compiled languages that don't use a linker in the sense of a > post-processor for compiler output. > > I should have included Java in this list since it too lacks an > explicit linkage stage that must be completed before attempting to > run the compiled code: my mistake. I suppose any system that can run > relocatable binary code can let the runtime loader handle fixing up > inter-module links. The JVM's loader does this and IIRC so > do the loaders used by IBM's OS/400 and ICL's VME/B > > I have always heard the phrase 'interpreted languages' used to describe > the case where source code is apparently executed directly without any > explicit compilation stage. Examples are Perl, awk and command-line > interpreters, e.g. bash or command.exe > > There are a dozen or so products described by their suppliers as C interpreters. Does this mean that C is an interpreted language? That these products are not really C language products? That somehow behind the scenes these products are really C language compilers masquerading as C interpreters? Something else? Does it make sense to declare a language as only either a compiled language or an interpreted language? Are there any programming languages that one strictly cannot compile or interpret? Somehow it makes more sense to me to say that a particular programming language is usually compiled to some form of native machine language, or is more usually interpreted by some virtual machine running on a native machine. I'm by far no C expert but I do seem to recall a C standard somehow referring to a virtual machine.