Click here to Skip to main content
15,887,596 members

The Insider News

   

The Insider News is for breaking IT and Software development news. Post your news, your alerts and your inside scoops. This is an IT news-only forum - all off-topic, non-news posts will be removed. If you wish to ask a programming question please post it here.

Get The Daily Insider direct to your mailbox every day. Subscribe now!

 
GeneralRe: Interpreted vs compiled is a false distinction Pin
David O'Neil6-Feb-22 19:28
professionalDavid O'Neil6-Feb-22 19:28 
GeneralRe: Interpreted vs compiled is a false distinction Pin
Kornfeld Eliyahu Peter6-Feb-22 21:17
professionalKornfeld Eliyahu Peter6-Feb-22 21:17 
GeneralRe: Interpreted vs compiled is a false distinction Pin
Marc Clifton7-Feb-22 2:50
mvaMarc Clifton7-Feb-22 2:50 
GeneralRe: Interpreted vs compiled is a false distinction Pin
Marc Clifton7-Feb-22 2:55
mvaMarc Clifton7-Feb-22 2:55 
GeneralRe: Interpreted vs compiled is a false distinction Pin
obermd7-Feb-22 3:26
obermd7-Feb-22 3:26 
GeneralRe: Interpreted vs compiled is a false distinction Pin
trønderen7-Feb-22 4:54
trønderen7-Feb-22 4:54 
GeneralRe: Interpreted vs compiled is a false distinction Pin
Marc Clifton7-Feb-22 7:59
mvaMarc Clifton7-Feb-22 7:59 
GeneralRe: Interpreted vs compiled is a false distinction Pin
trønderen7-Feb-22 5:33
trønderen7-Feb-22 5:33 
Any interpreter that before execution makes a complete syntactical analysis of the source code, as well as all the semantic analysis that can reasonably be performed statically, is indistinguishable from a compiler.

But what's the use then? If you spend all those resources on detecting syntactic and semantic errors in code that is not yet to be executed (and may end up not being executed at all), you will be doing the major part of the work required for generating 'compiled' code. So why not go the full length?

Ten or twenty years ago, people were still arguing in favor of interpretation because 'You don't have to wait for a lengthy compile'. Last time I met this argument, about fifteen years ago, I dug up the log from my last compile, showing up to eight module compilations completing per second. (We used an old style make system that compiled only modules affected by code changes; the number of recompiled modules was usually quite limited.) Later, I have laughed off such arguments.

I'd much rather have a compiler telling me of a problem in, say, an exception or error handling code before the software is shipped to the customer. Even if the execution start is delayed by a whole second (often it is far less, on today's machines), I think it is worth it.

My first statement is not completely correct, though: A modern compiler will often do a lot more, such as code optimization and flow analysis to determine stack requirements. I take this as extra bonus advantages of compilation. Even without it, the complete syntactical check and static semantic analysis can alone justify a delay of a second, or even two seconds if required.

Sure, there are linters and similar tools adapted to interpreted languages. Except for huge, costly static analysis software (in the class of, say, Coverity), they do a much poorer analysis job than a decent compiler, and certainly no code optimization. If you think that the F5 delay in Visual Studio is frustrating, so you rather run lint before execution (not to speak of Coverity!), then you are on the wrong track Smile | :)

A much more essential distinction between languages is the type strictness (and static-ness). To some degree, this correlates to interpreted vs. compiled: On the average, compiled languages have stricter type control, and are able to point out semantic issues at compile time. Few languages designed for interpretation provide the same type control as those designed for compilation. This is just correlation, not causality. So the real issue is kind of type control, regardless of how the code is processed.
NewsMicrosoft says this is the ultimate truth about Windows 11. I still don't get it Pin
Kent Sharkey6-Feb-22 9:46
staffKent Sharkey6-Feb-22 9:46 
GeneralRe: Microsoft says this is the ultimate truth about Windows 11. I still don't get it Pin
David O'Neil6-Feb-22 19:48
professionalDavid O'Neil6-Feb-22 19:48 
NewsBuilding a newbie-friendly codebase Pin
Kent Sharkey6-Feb-22 9:46
staffKent Sharkey6-Feb-22 9:46 
NewsThe invention of Battlezone Pin
Kent Sharkey6-Feb-22 9:01
staffKent Sharkey6-Feb-22 9:01 
NewsIs your code too complicated? Pin
Kent Sharkey6-Feb-22 9:01
staffKent Sharkey6-Feb-22 9:01 
GeneralRe: Is your code too complicated? Pin
trønderen7-Feb-22 5:46
trønderen7-Feb-22 5:46 
GeneralRe: Is your code too complicated? Pin
BillWoodruff8-Feb-22 6:30
professionalBillWoodruff8-Feb-22 6:30 
GeneralRe: Is your code too complicated? Pin
trønderen9-Feb-22 6:28
trønderen9-Feb-22 6:28 
NewsMicrosoft disables MSIX protocol handler abused in Emotet attacks Pin
Kent Sharkey6-Feb-22 9:01
staffKent Sharkey6-Feb-22 9:01 
NewsIntel claims nearly half of its GPU bugs were caused by AMD Pin
Kent Sharkey6-Feb-22 8:46
staffKent Sharkey6-Feb-22 8:46 
GeneralRe: Intel claims nearly half of its GPU bugs were caused by AMD Pin
#realJSOP6-Feb-22 23:24
mve#realJSOP6-Feb-22 23:24 
GeneralRe: Intel claims nearly half of its GPU bugs were caused by AMD Pin
obermd7-Feb-22 3:27
obermd7-Feb-22 3:27 
JokeRe: Intel claims nearly half of its GPU bugs were caused by AMD Pin
trønderen7-Feb-22 5:34
trønderen7-Feb-22 5:34 
NewsMicrosoft to test new experimental Windows 11 features Pin
Kent Sharkey3-Feb-22 10:16
staffKent Sharkey3-Feb-22 10:16 
GeneralRe: Microsoft to test new experimental Windows 11 features Pin
Super Lloyd3-Feb-22 13:42
Super Lloyd3-Feb-22 13:42 
GeneralRe: Microsoft to test new experimental Windows 11 features Pin
Marc Clifton3-Feb-22 15:30
mvaMarc Clifton3-Feb-22 15:30 
NewsSatya Nadella: Microsoft has “permission to build the next Internet” Pin
Kent Sharkey3-Feb-22 8:46
staffKent Sharkey3-Feb-22 8:46 

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.