Click here to Skip to main content
15,914,795 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: VB haters, look away Pin
Kenworth713-Aug-17 22:47
professionalKenworth713-Aug-17 22:47 
GeneralRe: VB haters, look away Pin
kalberts4-Aug-17 0:17
kalberts4-Aug-17 0:17 
GeneralRe: VB haters, look away Pin
Kenworth714-Aug-17 11:00
professionalKenworth714-Aug-17 11:00 
GeneralRe: VB haters, look away Pin
kalberts6-Aug-17 20:32
kalberts6-Aug-17 20:32 
GeneralRe: VB haters, look away Pin
Kenworth716-Aug-17 21:08
professionalKenworth716-Aug-17 21:08 
GeneralRe: VB haters, look away Pin
kalberts6-Aug-17 22:05
kalberts6-Aug-17 22:05 
GeneralRe: VB haters, look away Pin
Kenworth717-Aug-17 0:21
professionalKenworth717-Aug-17 0:21 
GeneralRe: VB haters, look away Pin
kalberts7-Aug-17 1:30
kalberts7-Aug-17 1:30 
If I have a VAX executable file, containing VAX instructions, I need an interpreter for those codes. There never was a CPU that interpreted VAX instructions in pure silicon; every VAX on the market ran an interpreter, implemented in microcode.

If I have a JVM executable file, containing Java bytecodes, I need an interpreter for those codes. There never was a CPU that interpreted Java bytecodes in pure silicon. But there was a CPU interpreting Pascal P4 bytecodes running an interpreter implemented in microcode. There is no reason why you couldn't do exactly the same for Java bytecodes.

So I'll agree with you under the condition that we agree that both VAX instructions, and IAPX 386 instructions, IBM 360 instructions, Java bytecodes and Pascal P4 bytecodes are all in the same group. Neither of them are natively executed by silicon, but require an interpreter implemented at a lower level.

The distinction between instructions being directly implemented in silicon and those being interpreted by some code at a lower level may be essential with regart to speed and physical size of the silicon die. For the user, for the programmer and for the system architecure as seen at the programm interface the difference is marginal.

A far more essential question is whether you need to do any preprocessing to a file before you submit it for execution. For a Java bytecode (or Pascal P4) file, you need not do any further processing: The interpreter, whether written in microcode or as, say, conventional PDP-11 machine code, can start churning bytecodes right away, one by one.

With CIL, you can NOT feed the tuples to an interpreter one by one and have it interpret it as you go. Actually, I have tried to do so - not with CIL, but with a very similar intermediate code coming out from the front end compiler for the CHILL language. At the outset, it looked like doable - after all, each tuple indiates an operation and some operands and stuff, sort of like an instruction. But the deeper you dig into it, the more you find that is yet-to-be-determined. Stuff that is dependent on the context, but that context must be built up from information in other parts of the DAG structure. Lots of things you cannot do without traversing major parts of the graph to do a single operation ... unless you do a preprocessing before you start doing any execution at all. THAT is an essential difference. You MUST do a preprocessing before you can start any execution, and that preprocessing will reshape the code into something else that can be interpreted one by by one, like traditional binary VAX instructions.

Sure, there is a lot of preparations to be done to set up, say, a Windows process before it can execute the first instruction of the user program, but that is OS business, not CPU business. The Windows process setup does not restructure the instructions, the way CIL is transformed into a different format. All the machine instructions in the application code are perfectly valid as machine instructions even without the OS preparations.

If you have a PDP-11 with the microcode to interpret Pascal bytecodes, you are in the same situation: Every single one of the bytecodes are valid and can be executed one by one as they stand, without being restructured in any way, and fully defined by themselves, witout having to analyze any large context.

You may still believe that even if my group failed to make a direct interpreter for that intermediate code from the CHILL compiler, it could be done, if we had been clever enough. It turned out that the language and compiler designers said that if we had been clever enough we wouldn't have started the project at all. The intermediate code was never meant for interpretation. No intermediate code is. But bytecode is.

Feel free to implement a direct interpreter for CIL! Report back when you have completed your work.
GeneralRe: VB haters, look away Pin
jschell3-Aug-17 5:59
jschell3-Aug-17 5:59 
GeneralRe: VB haters, look away Pin
kalberts3-Aug-17 21:49
kalberts3-Aug-17 21:49 
GeneralRe: VB haters, look away Pin
jschell8-Aug-17 13:20
jschell8-Aug-17 13:20 
GeneralRe: VB haters, look away Pin
Member 108155734-Aug-17 2:55
Member 108155734-Aug-17 2:55 
GeneralRe: VB haters, look away Pin
User 101325464-Aug-17 4:21
User 101325464-Aug-17 4:21 
GeneralRe: VB haters, look away Pin
PIEBALDconsult2-Aug-17 4:55
mvePIEBALDconsult2-Aug-17 4:55 
GeneralRe: VB haters, look away Pin
User 101325462-Aug-17 4:58
User 101325462-Aug-17 4:58 
GeneralRe: VB haters, look away Pin
CodeWraith2-Aug-17 5:03
CodeWraith2-Aug-17 5:03 
GeneralRe: VB haters, look away Pin
jschell3-Aug-17 6:03
jschell3-Aug-17 6:03 
GeneralRe: VB haters, look away Pin
Peter Wone4-Aug-17 2:14
Peter Wone4-Aug-17 2:14 
GeneralRe: VB haters, look away Pin
Jeremy Falcon2-Aug-17 6:31
professionalJeremy Falcon2-Aug-17 6:31 
GeneralRe: VB haters, look away Pin
ZurdoDev2-Aug-17 4:56
professionalZurdoDev2-Aug-17 4:56 
GeneralRe: VB haters, look away Pin
Slacker0072-Aug-17 5:00
professionalSlacker0072-Aug-17 5:00 
GeneralRe: VB haters, look away Pin
atverweij2-Aug-17 23:03
atverweij2-Aug-17 23:03 
GeneralRe: VB haters, look away Pin
kalberts3-Aug-17 0:20
kalberts3-Aug-17 0:20 
GeneralRe: VB haters, look away Pin
MKJCP3-Aug-17 1:35
MKJCP3-Aug-17 1:35 
GeneralRe: VB haters, look away Pin
kalberts3-Aug-17 1:50
kalberts3-Aug-17 1:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.