Frequently Asked Questions (FAQ)#

Will there be a printed version of the book?#

No, there will be no printed version. The book has existed in some form since late 2015 (in Russian). All this time the book has been changing. I love this opportunity to change the book, write something differently.

Why is there no topic X in the book?#

There are still a huge number of useful topics and it is simply impossible to fit all of them into one book. Of course, each reader has priorities and it seems that this particular module is very necessary for everyone, but there are a lot of such topics/modules. Globally, nothing will change in the book, new topics will not be added.

How does this differ from the regular Python introductory book?#

The main differences are three:

  • The basics part is rather brief

  • Implies a certain domain of knowledge (network-based equipment)

  • All examples are focused on network equipment, as far as possible

Why is this book specifically for network engineers?#

There are several reasons:

  • Network engineers already have experience in IT and some of concepts are familiar to them and it is likely that some programming basics will be familiar to most. This means that it will be much easier to deal with Python

  • Working in CLI and writing scripts is unlikely to frighten them

  • Network engineers have a familiar knowledge domain on which to build examples and tasks

If you tell on abstract examples “about cats and bunnies”, it is one thing. But when you have the ability to use ideas from subject area in examples, things get easier, you get concrete ideas about how to improve a program, a script. And when a person tries to improve it, they start to deal with something new - it’s a very powerful way to move forward.

Why Python?#

The reasons are as follows:

  • In the context of network equipment, Python is often used now

  • Some equipment has Python embedded or has an API that supports Python

  • Python is simple enough to learn (of course, it is relatively, and another language may seem simpler but it is rather to be because of experience with the language than because Python is complex)

  • With Python you will not quickly reach the limits of language capabilities

  • Python can be used not only to write scripts but also to develop applications. Of course, this is not the task of this book but at least you will spend your time on a language that will allow you to go further than simple scripts

  • For example GNS3 is written on Python

And one more point - in the context of book, Python should not be seen as the only correct variant nor as the “correct” language. No, Python is just a tool like a screwdriver and we learn to use it for specific tasks. That is, there is no ideological background here, no “only Python” and no worship especially. It is strange to worship a screwdriver :-) Everything is simple - there is a good and convenient tool that will approach different tasks. He’s not the best language at all and he’s not the only language at all. Start with it and then you can choose something else if you want to - that knowledge will still be there.