Usually, there are two types of programming languages; the interpreted language and the compiled language. As a programmer, you have probably interacted with both of the languages. In a job interview regarding programming, the interviewer might ask you to distinguish between the two. We’ve done that for you in detail in this article.
What is an Interpreted Language?
Before delving into the particulars of what the ups and downs of an interpreted language are, it is important you mention what they are. An interpreted programming language is a programming language where an interpreter program executes the programs. On the other hand, the compiled language is first converted to machine code then executed directly by the host CPU. In an interpreted programming language the source code can be executed, and that is done by the interpreter acting as the CPU.
You can show the interviewer that you’ve interacted with both languages and mention your preferred option, or you can keep it simple, objective, and straightforward. However, it’s important to mention that interpretation and compilation are properties of how we implement a programming language and not properties of the language itself.
Pros and Cons of an Interpreted Language
When a programmer wants to change a program developed from an interpreted programming language, he will just open the source code and make the change from there. The executables can be easily tweaked with no long compiling services needed. The process of compiling takes several minutes. Therefore, to a serial programmer, those can turn into hours since they have to tweak their programs as they develop them. In the long run, the program developed by an interpreted programming language grows faster.
Another advantage of these languages is that you can run the program as you code just like in python and ruby. When you open the interpreter, you will be provided with a window like a command prompt in which you can perform calculations to cross check with your program. The interpreted programs tend to be more flexible than the compiled ones. The superior features of interpreted languages include:
• They are platform independent, for instance, the byte code in Java
• They offer dynamic typing as well as dynamic scoping
• Provides an ease of debugging
• They use the evaluator reflectively like in a first order evaluation function
• They provide you with an automatic memory management.
Interpreted programming languages also have their disadvantages. In these languages, the executable isn’t run by the CPU but rather by an interpreter which is in turn run by the CPU. That creates a huge performance overhead hence much slower than the compiled language. A powerful processor would solve this, but performance intensive programs would make it very slow. Another downside to the interpreted programs is the fact that the executables can only be run by an interpreter. It means that it cannot execute the source code without the interpreter. Besides, the performance of interpreted languages is generally slower than the compiled languages.
These are some of the facts you can present during your interview to show your interviewer that you have authority over the field of programming. Share your thoughts on interpreted programs upon reading this piece.