Engineers from La Salle-URL share the latest news and projects in the field of network solutions in telematic engineering.

27 May 2021 | Posted by userDataCenter

Programming for telematics

Introduction

Many posts have talked about hardware issues, and even some other issue more related to virtualization or software, but we believe that it is very important to note that there are many programming languages today, and that each one is good. in certain aspects. Thus, in this post some of the most used programming languages today will be discussed and an informed opinion will be offered on which of these are the best for a telematics engineer as a general rule.

 

Bash

In many cases, a telematics engineer will be working in Linux environments, either to administer the device or to use it to automate processes. Thus, Bash is a language that comes with all Unix-based systems. It is an excellent scripting language for automating tasks. The bash scripts allow you to create very powerful tools by just learning a few commands.

Bash is great if you need to automate things, but don't want to learn a full programming language. However, its syntax is much more complex than other languages with higher levels of abstraction, such as Python.

 

Perl

Perl used to be a favorite of network and systems engineers in the past. This is a powerful language that allows you to write scripts to automate tasks similar (and with similar syntax) to Bash.

Thus, a knowledge of Perl can be very useful for a telematics engineer for two reasons. The first is that, although you may not use it in your day-to-day life, scripts programmed in Perl can be found on many current systems, since since it was used a lot before, the old system administrators may have used it for some chores. The second reason is that it can be very useful to know the language to be able to automate processes in the future in case of not wanting / being able to do it with Bash or other higher level languages.

 

TCL

TCL is a programming language used in less than 0.1% of all Internet websites. So, one would wonder what is the point of learning this language. For a telematics engineer (and more one who has completed CCNA and even CCNP), there may be the possibility of working at CISCO. In that case it can be very useful to have knowledge of TCL, as CISCO has incorporated TCL and uses it to program and automate changes to their equipment in bulk. In fact, CISCO provides extensive configuration guides documenting the management process of its products through TCL.

 

Python

Python is a general purpose language. This means that it is not designed for a specific field. So it is a general language that is used for many different things. This includes, but is not limited to, network automation, frontend development, testing, backend development, scripting, exploits, cybersecurity, etc.

One of the main characteristics of Python is that it is a perfect language for beginners, since it is very easy to read (and write). That's a plus for telematics engineers who, unlike software engineers, tend to be less familiar with programming in general, and having easy-to-read syntax can save them time and headaches.

Also, Python is gradually becoming the default language for SDN in the industry.

 

Go

Go is a language developed by Google that was created to be intuitive enough that new Google engineers could learn it relatively quickly.

Go is a strongly typed language, which makes it very different from Python, although it has a very similar syntax to Python and is very readable. This makes it similar to languages like C ++. In fact, Go boasts readable syntax (like Python) but very efficient (like C ++), offering the best features of both languages.

Go is especially powerful when it comes to creating network software. It's a great language for developing distributed systems, APIs, and other web-related software.

 

Roles of each language

Each of the languages that have been exposed above is better for some functions or others and, based on this, makes a language more suitable for certain positions. Thus, these are the positions where the aforementioned languages are most often used:

  • Bash:
    • Linux and macOS-based system administrators.
    • Automation and application development.
  • Perl:
    • Unix and Linux administrators.
    • Database administrators.
    • Web administrators.
    • Developers.
  • TCL:
    • Software engineer.
    • Developer.
    • Automation developer.
    • Systems integration.
    • Prototype / hardware architect.
  • Python:
    • Security auditors.
    • Security administrators.
    • Web developers.
    • DevOps teams.
    • Automation developers.
  • Go:
    • System administrators.
    • DevOps teams.
    • Software engineers.
    • Data center engineers.

 

Authors

Joan Farràs

Ferran Montoliu

Share