Cisco DevNet Assoc – Select Topics – Scripting vs. Programming

If you are like us, you were thrilled that the long-awaited Network Programmability and Automation Fundamentals text finally dropped from Cisco Press. We have been working through this massive text (hey what did you expect from a Jeff Doyle project!) and we are very impressed so far.

Topic after topic speaks directly to the Cisco DevNet Associate certification training here at Lammle.com and we wanted to showcase one of those topics today. It is a very common point of confusion for newcomers to the subject matter – what is the difference between a scripting language and a programming language? Let’s tackle that in this post, one of a series of posts regarding select key topics from the unmatched Cisco DevNet Associate training here at Lammle.com (this training is currently under development and will complete soon).

The first main difference between these two is that programming languages must be compiled from their code into machine code, while scripting languages do not need to be compiled and are instead interpreted by the system. Another key difference that emerges from this is the fact that machine code resulting from programming languages on a system will run much faster.

Scripting languages, therefore, can be viewed as a subset of programming languages. Scripting languages have their place to assist with automation of systems. This automation often takes the form of completing tasks for the system or for a user of the system. Examples of scripting languages include JavaScript, Perl, and Python.

Programming languages include C, C++, and Java. Programmers write in human readable code (called pseudocode) and then this is converted by the compiler into machine code. Of course, we use programming languages to create glorious, full featured applications and services, that interestingly, can often call upon scripting languages for additional functionality.

A great example of this would be a complex application written in the programming language of Java that relies upon the scripting language of JavaScript for processing input from the front end of the application.

As developers design their solutions, they typically (or should) examine the various requirements of the system and then determine which requirements are best suited for machine code versus scripting languages. While machine code is faster, it might be too resource intensive for some tasks that are easily carried out through scripting languages.

We hope this helps you with this interesting challenge for newcomers to the worlds of programmability and automation.

Leave a Reply

Your email address will not be published. Required fields are marked *