The Motley Fool Discussion Boards

Previous Page

Computers, Phones & Internet / Help with this STUPID computer!


Subject:  Re: Yet another Java flaw Date:  10/4/2012  11:33 AM
Author:  tketola Number:  182059 of 197748

Hey Steven,,, you said:

No, I didn't. It seems you concatenated part of my posting with part of someone else's posting.

Getting back to the compiled vs intepreted thing: There is no such thing as a BASIC VM. Java bytecode and Pascal P-code are machine code instructions. (Think of them as machine language for a CPU that exists only in software.) If you write a program in Pascal, and compile it to P-code, your compiled code will run on any p-machine on top of any architecture/OS.

The entire thread was about the problems in today's implementations of Java, and its flaws and weaknesses, as to how and why it can be Hacked and Exploited.

Then you bring in your convoluted comparison statements about, Pascal, Basic, DEC PDP 11-/70, IBM PC, Apple II, Commodore 64 and the Atari 800, that is ancient history, and have nothing to do with the subject at hand.

The only argument that I had with your Convoluted Statements, was about, what is Compiler or Assembler generated Machine Readable/Executable code vs Interpretive Code generation, and I didn't mix up anything, I quoted you statement verbatim from Post # 182058.

The fact is that, regardless of how Java Compilation or JVM/JIT is generated to Bytecode or any other intermediate code, and then subsequently executed on any machine, it's still being Interpreted at Run-Time, unless, it was Pre-Compiled again, on the specific Target Machine.

The exception to this is, that on some Machines, if so Customized, the Bytecode generated can be directly Executable as Machine Code, skipping the Bytecode to Machine Code Interpretive Code-Generation step, and even that is being done by some Interpretive Microcode, in some cases.

Also, as JeanDavid mentioned:

Actually, the whole issue of whether something is compiled, interpreted, emulated, etc., is pretty funny. Some IBM/360 computers had a very different hardware instruction set from that presented to the programmers. The machine was microprogrammed present the System/360 architecture to the programmers. On some models, you could use a different microprogram and the box would appear to be an IBM 7094.

Yes, even some Machine-Code Instructions, are being interpreted, in the Machine's Microcode, mainly for Machine-Instruction/Op-Codes that involve complex operations, such as Decimal Arithmetic, Floating-Point Arithmetic, complex Move/Compare Instructions, etc.

BTW JeanDavid, I once wrote the Decimal(String) Multiply and Decimal (String) Divide Microcode routines. Also, as a Team-Member, I wrote 2 Passes for an Assembler, and part of a ANSI/COBOL Compiler. Yes, that was long time ago!!! Incidentally, the actual Development was done on an IBM/360/Assembler, the target Machine/Hardware was a Memorex Multi/Processor-CPU, still in development, at the time when we wrote the software. Conceptually, it was sort of like, what came first, the Chicken or the Egg,,,,,, LOL...

Think about it,,, you write an Assembler and a Compiler, using a IBM/360 Assembler, that then generates the Target Machines Executable Code, that is then Loaded into the Target Machine, and used to Assemble the Target Machine's Native Assembly Source Code.

Not an exactly an easy concept, to wrap you Brain around.!!!

Copyright 1996-2018 trademark and the "Fool" logo is a trademark of The Motley Fool, Inc. Contact Us