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.
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.
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.