Interpreted Vs Compiled Languages

This is based on an excerpt from one of my favourite literature on VBScript and in fact, is quite relevant with respect to one of the earlier post – ‘Fundamentals and Concepts‘ posted under VBS tutorials.

Since we know that at some point, every language needs to be converted into machine-readable commands (binary) for the machine to understand and execute it, both the terms ‘compiled‘ and ‘interpreted‘ actually refer to this process only.

Compiled Languages

In the case of ‘compilation‘, the source code is almost ‘re-coded‘ into another language/form (binary) before distribution or deployment for the end-user. Hence after ‘compilation’ the end product of the source code remains no more human-readable but rather becomes only machine-readable and hence may require special tools to unpack or read it.

Moreover during the compilation process generally a good number of checks and verifications are performed which may verify the source code for syntax errors, dependencies (COM objects etc.), methods and properties of called libraries or COM servers, namespaces, and other resources. If everything goes fine, you get a packaged end product (example; ‘.exe’ file). All this happens even before a single line of code is actually executed by the end-user.

Interpreted Languages

However in case of the ‘Interpreted language‘, as is the case with our VBScript, the conversion into machine-readable commands actually does not take place until the ‘runtime’.

Hence the end product of the source code remains as a plain text file with the relevant extension (.vbs in our case). Now when this file is executed, the conversion into machine language takes place on-the-fly. This on-the-fly conversion process is performed by the relevant ‘Scripting Engine‘.Moreover this entire process of ‘Interpretation’ occurs logically in the memory and hence in no way alters your script source code which remains as it is. The syntax and other checks are performed in this case as well but again at ‘runtime’ only while the code is actually getting executed.

Runtime Compilation - Disadvantages

A couple of worth mentioning disadvantages which ‘runtime compilation’ brings along are :

  • Since the system has to exert more effort during runtime the performance is going to be slower in case of runtime compilation. But unless you are thousands of lines of code it should be pretty affordable.
  • Source Code security and protection is again one ‘grey area’ in case of runtime compilation. Since the end product is still a plain text file, it is prone to snooping and accidental changes.
  • Late discovery of bugs and errors is again a disadvantage. There can be a lot of syntax errors, misspelt variable or object names or even logic errors which you would be able to discover early in case of compiled languages but in case of runtime compilation these are not visible until the runtime.
Tushar Sharma
Tushar Sharmahttps://www.automationdojos.com
Hi! This is Tushar, the author of 'Automation Dojos'. A passionate IT professional with a big appetite for learning, I enjoy technical content creation and curation. Hope you are having a good time! Don't forget to subscribe and stay in touch. Wishing you happy learning!

8 COMMENTS

  1. When I originally commented I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I gett four eails
    with the ame comment. Is there any way you can emove people from that service?
    Bless you!

  2. Youu could definitely see your enthusiasm within the work you write.

    The sector hopes for more passionate writers such as yyou wwho
    aren’t afraid to say how they believe. Always follow your heart.

  3. At this time it look like Drupal is the best blogging platfor available right now.

    (from what I’ve read) Is that what you are using on your blog?

  4. Simply want too say your article is as astounding.
    The clarity in your post is just excellent
    and i can assume you’re an expert on this subject. Fine with your permission allow me to grab your RSS feed to keep updated with forthcoming post.

    Thanks a million and please carry on the rewarding work.

  5. Hello! I could have sworn I’ve visited this website before but after going through some of the posts I realized it’s new to
    me. Regardless, I’m certainly happy I stumbled upon it and I’ll be book-marking it
    and checking back frequently!

    Review my webpage :: hd pvr pas cher

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Recent Posts

RELATED POSTS

Does VBScript Supports all COM Objects ?

Well the answer in one line is - No VBScript does not supports all COM Objects or Servers! VBScript works with only a subset of ‘Objects’...

COM Components and Scripting Process

Although this article should not concern you at all as a 'script developer' as long as you are aware of creating a reference to...

Early Bound Vs Late Bound (Binding)

What is Binding Before we dive into 'Early' and 'Late' stuff, let us discover, what the 'Binding' itself means? In simple terms, the 'Binding' refers to...

Â

RECENT 'HOW-TO'

How To Install Oh-My-Posh On Windows PowerShell

Oh-My-Posh is a powerful custom prompt engine for any shell that has the ability to adjust the prompt string with a function or variable. It does not...

SIMILAR ON CODEX

FEATURED PROJECTS

SEPA Bulk File Generator and Validator

ADjo LABS PROJECT: SEPA Bulk File Generator and Validator. Supported File Types PAIN008, PAIN001, PACS003 and PACS008. Tested for supporting PAIN.008.001.001 and PAIN.008.001.002 (version 1&2). The XML...

MORE IN THIS CATEGORY

How To Convert String To Date in Java

Introduction There are often scenarios in programming, where you will need to convert a date in String format to an actual Date object. For example,...

How To Create Maven Project in Eclipse Without Archetype

Maven is a very popular build and dependency management tool. Eclipse is an IDE that helps developers write and run Java code easily. In...

Java Tutorial #6 – Jump Statements

Introduction The break statement is used to stop further execution. It can be used either in a loop or within a switch statement. Break Statement The break...

CHECKOUT TUTORIALS

VBS Part 2 – Fundamentals and Concepts

Having gone through the Introductory part, it is time to look at some crucial fundamentals and concepts. This article is to refresh some of...

Working with JMeter Listeners

- Advertisement -spot_img