From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 1506 invoked from network); 30 Jan 2022 23:58:31 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 30 Jan 2022 23:58:31 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 314EF9B67C; Mon, 31 Jan 2022 09:58:28 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 1EB2A951B7; Mon, 31 Jan 2022 09:58:00 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="EIshkhw+"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 80416951B7; Mon, 31 Jan 2022 09:57:57 +1000 (AEST) Received: from mail-ua1-f44.google.com (mail-ua1-f44.google.com [209.85.222.44]) by minnie.tuhs.org (Postfix) with ESMTPS id 5449E9518E for ; Mon, 31 Jan 2022 09:57:53 +1000 (AEST) Received: by mail-ua1-f44.google.com with SMTP id m90so10930737uam.2 for ; Sun, 30 Jan 2022 15:57:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Y8Xq616e7fHga7VA/+/Fb6SRYHR7u+tq6t/npJmzgK8=; b=EIshkhw+6EbcpJIoJPxDPrxXti2f1QjhhLE/yioLv6C98kM8XLz/YXDJapsZ95cUl0 d+HmvMpc/fnPc2XoCSh/L4yXSxkw3UEe61LRncliCdDVgSfTj2XjSdflEaMFyvRHJ39P wIbHORw5Nt3h2gbY8vlMeb0rBLX1YIxJEZMu2NgAba73gcmu0FwqUYmhJIiM7aduhqWF LRFZk/gZLwE4/TYeV9aebprFTtZEchmozd1RRLVlHtRR7dparbM5wjdcfUfUocS05yw2 YGaZM/Bjn0qNAuNRdQetm8c0MUywz3inKdymmrMQ2WF1I13fgJC4qzFpngV84Zs7FpYp zrsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Y8Xq616e7fHga7VA/+/Fb6SRYHR7u+tq6t/npJmzgK8=; b=iUNWKxJzYDwCC5heCqVnMXBN146wKu1EbPl5HcJmsI6hSEkaRcyuV59ZJqjzYIbYZ6 qNPYdiJD3+6ykvc97R7W7rqKkMs8V/6GKDA/H2r18SVpO3+ybpSyt+Ky4x4tTe7cQf1s HHwwd7i93ubE4TdVOMBvnpk7VmYJtZreKMNpaxH0Vnb+NA7mdORfGYHm8l4IBDloDyog xnlqFrz0E4VnGH1+vLfJynW/PoCNKHD7k+RUkPVjijVmtQxW8qCsU9hqc3kWq6vXWYYJ ZYlgRmTPQjr6gc46pdLMMcadCE/mvlerwDFqrAtHntsSSHloWDe6pNq3X7rJxGwDHVaB /Mbg== X-Gm-Message-State: AOAM5306eDvGO8hyOrx4tppeFmZy11i5IOAYvwEvlmas3rzITNmIrWKK ViQNKH5Gu/NsIh6hY7jihNu9BoNEibglTi/pc60= X-Google-Smtp-Source: ABdhPJxtVe6KBChIHN8ccNfa3Mn5KJOskvSieM8wKhp3VYTKPy01WvmZ/CqX6qCdEBD1pQZfEzq46I1r1oLubbSFkIw= X-Received: by 2002:ab0:152b:: with SMTP id o40mr6966501uae.90.1643587072385; Sun, 30 Jan 2022 15:57:52 -0800 (PST) MIME-Version: 1.0 References: <0f83f174-eeca-30fb-7b98-77fb0da80f2e@gmail.com> <9E47A62E-3AAD-491E-9164-3DCAD22EC1F7@kdbarto.org> In-Reply-To: From: Dan Stromberg Date: Sun, 30 Jan 2022 15:57:41 -0800 Message-ID: To: Dan Cross Content-Type: multipart/alternative; boundary="0000000000009b66f505d6d56fd5" Subject: Re: [TUHS] Compilation "vs" byte-code interpretation, was Re: Looking back to 1981 - what pascal was popular on what unix? X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: TUHS main list Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --0000000000009b66f505d6d56fd5 Content-Type: text/plain; charset="UTF-8" On Sun, Jan 30, 2022 at 2:52 PM Dan Cross wrote: > On Sun, Jan 30, 2022 at 1:08 PM Dan Stromberg wrote: > >> On Sun, Jan 30, 2022 at 8:58 AM David Barto wrote: >> >>> Yes, the UCSD P-code interpreter was ported to 4.1 BSD on the VAX and it >>> ran natively there. I used it on sdcsvax in my senior year (1980). >>> >> >> Wasn't Java referred to as "compiled" even back before the JIT compiler >> was added? >> > > Yes! > > And then there's the CPython implementation of Python. It too uses a byte >> code interpreter, but it's commonly referred to as "interpreted". But is >> it really? Granted, it has an implicit, cached compilation step, but is it >> less compiled for that? >> > > I think that "interpreted" in this context means the load-and-go nature of > the system and the transience of the bytecode: the text is internally > compiled and then executed, but these steps are often linked and, while one > can coax the Python "interpreter" to emit .pyc and/or .pyo files, usually > one does not: the compiled bytecodes are lost as soon as the program is > done executing. > An interesting response. I'll point out though, being a little picky, that python's "import" statement will look for a .py, compile it, and write the byte code as a .pyc - automatically. Then on subsequent invocations of the program(s) using this module it will compare timestamps on the .py and .pyc and if the .pyc is more recent than the .py, the compilation step will be skipped. Thanks. --0000000000009b66f505d6d56fd5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Sun, Jan 30, 2022 at 2:52 PM Dan Cross= <crossd@gmail.com> wrote:
<= div dir=3D"ltr">On Sun, Jan 30, 2022 at 1:08 PM Dan Stromberg <drsalists@gmail.com&g= t; wrote:
On Sun, Jan 30, 2022 at 8:58 AM David Barto <david@kdbarto.org&g= t; wrote:
Y= es, the UCSD P-code interpreter was ported to 4.1 BSD on the VAX and it ran= natively there. I used it on sdcsvax in my senior year (1980).

Wasn't Java= referred to as "compiled" even back before the JIT compiler was = added?

Yes!

And then there's the CPython implementation of Py= thon.=C2=A0 It too uses a byte code interpreter, but it's commonly refe= rred to as "interpreted".=C2=A0 But is it really?=C2=A0 Granted, = it has an implicit, cached compilation step, but is it less compiled for th= at?

I think that "in= terpreted" in this context means the load-and-go nature of the system = and the transience of the bytecode: the text is internally compiled and the= n executed, but these steps are often linked and, while one can coax the Py= thon "interpreter" to emit .pyc and/or .pyo files, usually one do= es not: the compiled bytecodes are lost as soon as the program is done exec= uting.

An interesting res= ponse.

I'll point out though, being a little p= icky, that python's "import" statement will look for a .py, c= ompile it, and write the byte code as a .pyc - automatically.=C2=A0 Then on= subsequent invocations of the program(s) using this module it will compare= timestamps on the .py and .pyc and if the .pyc is more recent than the .py= , the compilation step will be skipped.

Thanks.

--0000000000009b66f505d6d56fd5--