Path: csiph.com!eternal-september.org!feeder.eternal-september.org!nntp.eternal-september.org!.POSTED!not-for-mail From: John Ames Newsgroups: comp.os.linux.misc Subject: Re: Back To CS Basics. Fuck AI Date: Fri, 16 Oct 2026 13:13:27 -0700 Organization: A place where nothing fits quite right Lines: 49 Message-ID: <20261016131327.00002892@gmail.com> References: <18dee4b6cab427fa$865$2574533$802601b3@news.usenetexpress.com> <87ik32455m.fsf@solcaium.us> <87ecdq41bl.fsf@solcaium.us> <11askn8$33cuk$2@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Injection-Date: Fri, 16 Oct 2026 20:13:32 +0000 (UTC) Injection-Info: dont-email.me; logging-data="3783122"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/gplFzaGz78VbITT7sfQSgezFJnPuZ+PY="; posting-host="9899cba4a6825138051573d003b616a6" Cancel-Lock: sha1:IylP+cIEIp2/Rc/RLriiBDaHFFs= sha256:QN9/9+nSVegE8tdOpDDj1HdbEGFVUQoVztA81ZloOiM= sha1:mYcNdhBwTd4zgx8kKRBC+3RPA9o= sha256:hRAfpndAAG4iaX26SNRnIJg46dKz3ojNs9FUj33Db0o= X-Newsreader: Claws Mail 4.3.0 (GTK 3.24.42; x86_64-w64-mingw32) Xref: csiph.com comp.os.linux.misc:93919 On Fri, 16 Oct 2026 07:45:44 -0000 (UTC) Lawrence D=E2=80=99Oliveiro wrote: > > I'd argue knowing the difference between compiled and interpreted is > > basic CS. =20 >=20 > Knowing that the difference is even less significant than you might > think is even more basic CS. >=20 > After all, where does =E2=80=9Chardware=E2=80=9D end and =E2=80=9Csoftwar= e=E2=80=9D begin? On which > side of the line do you place things like =E2=80=9Cfirmware=E2=80=9D (not= e the name) > and =E2=80=9Cmicrocode=E2=80=9D? The =E2=80=9CP=E2=80=9D in =E2=80=9CPLA= =E2=80=9D stands for =E2=80=9Cprogrammable=E2=80=9D; does > that mean the gate connections are still =E2=80=9Chardware=E2=80=9D, or n= ot? That's an inane thing to say when we're talking about software from the CPU's perspective. "Firmware" is software; the fact that it's stored in non-volatile memory doesn't change that. PLAs being programmable in their own right has no bearing on their use in implementing what is, to the CPU, definitely *not* software. The only term that actually blurs the lines here is microcode; this can indeed be seen as another layer for programmatically directing the operations of hardware, even if it's only used to implement the machine's official instruction set. But then not all CPUs are actually microcoded in the first place. And all of this has precious little to do with the difference between compiled and interpreted languages from an application/OS perspective. Whether a CPU is microcoded or not makes no difference to the fact that its native instruction set is the most elemental group of *available* operations for software running on it. Compiled languages by definition translate their own fundamental language operations into sequences of native instructions (ideally with a compiler that optimizes them at compile time.) Interpreted languages, by the classical definition, do not, and the overhead of running the interpreter along with the actual program causes performance penalties which may be anything from moderate to severe. There are also other strategies - compiling to "pseudocode" operations targeting a virtual-machine architecture that's lower-level than the source language (which has a lower overhead than classical interpreters and is useful for portability) or just-in-time compilation (which is more performant than a pure interpreter, but has a higher memory over- head) - and all of these have their own upsides and downsides. Claiming that the distinction is of minimal significance is, frankly, absurd.