Click here to Skip to main content
16,021,211 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.

 
GeneralVisual Studio 2010 Tab Order Grayed Out All the Time Pin
wdolson40mins ago
wdolson40mins ago 
GeneralYou can't have sh*t in Redmond anymore! Pin
honey the codewitch4hrs 20mins ago
mvahoney the codewitch4hrs 20mins ago 
GeneralRe: You can't have sh*t in Redmond anymore! Pin
David O'Neil3hrs 56mins ago
professionalDavid O'Neil3hrs 56mins ago 
GeneralRe: You can't have sh*t in Redmond anymore! Pin
honey the codewitch3hrs 55mins ago
mvahoney the codewitch3hrs 55mins ago 
GeneralRe: You can't have sh*t in Redmond anymore! Pin
David O'Neil3hrs 29mins ago
professionalDavid O'Neil3hrs 29mins ago 
GeneralRe: You can't have sh*t in Redmond anymore! Pin
Mike Hankey3hrs 38mins ago
mveMike Hankey3hrs 38mins ago 
GeneralRe: You can't have sh*t in Redmond anymore! Pin
honey the codewitch3hrs 38mins ago
mvahoney the codewitch3hrs 38mins ago 
GeneralLearning C# or really .net, confirm for me my suspicions Pin
charlieg6hrs 9mins ago
charlieg6hrs 9mins ago 
GeneralRe: Learning C# or really .net, confirm for me my suspicions Pin
David O'Neil5hrs 59mins ago
professionalDavid O'Neil5hrs 59mins ago 
GeneralRe: Learning C# or really .net, confirm for me my suspicions Pin
charlieg5hrs 50mins ago
charlieg5hrs 50mins ago 
GeneralRe: Learning C# or really .net, confirm for me my suspicions Pin
trønderen5hrs 3mins ago
trønderen5hrs 3mins ago 
A small remark slighly on the side:

I never before heard dotNet IL (Intermediate Language) referred to as "P-code".

The term "P-code" was made famous by the Pascal compiler of 1970 (or thereabouts), generating code for execution on a virtual machine. Writing an interpreter (i.e. the virtual machine) for the Pascal P-code was quite simple; there were interpreters for dozens of machine architectures. The version that became prominent was called P4; it was the 4th version of P-code for the original Pascal compiler.

I even believe that some people replaced the microcode of the LSI-11, the single chip version of the PDP-11 architecture, with alternative microcode to interpret P4 directly without the need for an interpreter - but if my memory is correct, this solution was slower than the interpreter running on the LSI-11 with the original microcode and an interpreter on top Smile | :)

P-code, or "bytecode" in general, is designed to be treated as the instruction set of a virtual machine, executed "as is".
dotNet IL is certainly not meant for execution as is on a virtual machine. I will not say that it is impossible, but it most certainly is pointless and extremely inefficient. IL is not a P-code or bytecode, but "source code" for the jitter - the Just In Time code generator, translating IL into native machine code for whatever CPU the jitter is run on, immediately before execution.

This probably is not at all significant to the OP. Maybe he will later get in touch with dotNet IL. When/if that happens, he should not believe that IL is interpreted the way P-code is.

End remark:

P-code/bytecode interpretation is certainly slower than native code, in some circumstances a lot slower. With C# - and all other dotNet languages - having the jitter generating native code, it had a speed advantage over Java, which used to interpret Java bytecode. You could compile Java to native code from the beginning, or at least very early, but then you got a binary that couldn't execute on any other architecture, and couldn't utilize e.g. optional instructions available on a specific machine. Java byte code could be moved freely around to any machine with an interpreter.

To be able to compete with C# on speed, the JVM (Java Virtual Machine) was extended with the capability of rather than executing the byte code as is, it started out by processing the byte code further, into native code for the current machine. This improved the execution speed significantly. However, Java bytecode wasn't designed for this use, and a lot of useful information for generating efficient machine code has been thrown away (as the machine code already has been generated, although for the virtual machine!) So in the general case, the dotNet jitter is in a much better position to generate optimal code, with much more information available.

After Java began processing its bytecode into native code before starting execution, lots of other bytecode based systems have followed, processing their bytecode to native code before execution.
Religious freedom is the freedom to say that two plus two make five.

GeneralRe: Learning C# or really .net, confirm for me my suspicions Pin
PIEBALDconsult5hrs 55mins ago
mvePIEBALDconsult5hrs 55mins ago 
GeneralRe: Learning C# or really .net, confirm for me my suspicions Pin
Mycroft Holmes5hrs 11mins ago
professionalMycroft Holmes5hrs 11mins ago 
GeneralRe: Learning C# or really .net, confirm for me my suspicions Pin
honey the codewitch4hrs 59mins ago
mvahoney the codewitch4hrs 59mins ago 
GeneralRe: Learning C# or really .net, confirm for me my suspicions Pin
charlieg3hrs 7mins ago
charlieg3hrs 7mins ago 
GeneralRe: Learning C# or really .net, confirm for me my suspicions Pin
honey the codewitch3hrs 4mins ago
mvahoney the codewitch3hrs 4mins ago 
GeneralWhere is... Pin
Richard Andrew x647hrs 6mins ago
professionalRichard Andrew x647hrs 6mins ago 
GeneralRe: Where is... Pin
raddevus6hrs 54mins ago
mvaraddevus6hrs 54mins ago 
GeneralRe: Where is... Pin
Richard Andrew x646hrs 50mins ago
professionalRichard Andrew x646hrs 50mins ago 
GeneralRe: Where is... Pin
raddevus6hrs 44mins ago
mvaraddevus6hrs 44mins ago 
GeneralRe: Where is... Pin
raddevus6hrs 37mins ago
mvaraddevus6hrs 37mins ago 
GeneralRe: Where is... Pin
PIEBALDconsult5hrs 35mins ago
mvePIEBALDconsult5hrs 35mins ago 
GeneralRe: Where is... Pin
Peter_in_27805hrs 16mins ago
professionalPeter_in_27805hrs 16mins ago 
GeneralRe: Where is... Pin
charlieg6hrs 18mins ago
charlieg6hrs 18mins ago 
GeneralRe: Where is... Pin
PIEBALDconsult5hrs 42mins ago
mvePIEBALDconsult5hrs 42mins ago 

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.