04-08-2011, 06:24 PM
(This post was last modified: 04-08-2011, 06:27 PM by nosisab Ken Keleh.)
Besides, applications like emulators need languages to be as fast as possible above being easy to program. Most languages, including C and variants, include libraries and functionality to parallelize processes and create multithreads, as most OS provides semaphore systems to help controlling them... the great problem with pipelined systems like PS2 being it makes it hard to parallelize the flow, not than the option is missing in the used language.
It is almost intuitive the perception that a human oriented language tend to generate complex (and slow) code. Although no modern language goes that far, one example may help paint a caricature of this issue: To add two variables or a combination of constants/variables/raw numbers, COBOL made it a "complex" function... like using intermediate storages and temp variables, sometimes calling an external procedure to do it... ADD VAR1 TO VAR2 GIVING VAR1... becomes a stupidly complex assembler code chunk.
Was tragicomic to look into a COBOL generated assembler (an intermediate step in its compilation).
It is almost intuitive the perception that a human oriented language tend to generate complex (and slow) code. Although no modern language goes that far, one example may help paint a caricature of this issue: To add two variables or a combination of constants/variables/raw numbers, COBOL made it a "complex" function... like using intermediate storages and temp variables, sometimes calling an external procedure to do it... ADD VAR1 TO VAR2 GIVING VAR1... becomes a stupidly complex assembler code chunk.
Was tragicomic to look into a COBOL generated assembler (an intermediate step in its compilation).
Imagination is where we are truly real