About

tl; dr: This blog is, as its name implies, yet another blog about Python’s internals. I hope you enjoy this blog and find if useful. If you have any question or comment, don’t hesitate to drop me an email: laurent.poulain@gmail.com

Laurent Poulain


 

When learning a new programming language there are several things one can learn:

  • The general syntax: this is what people focus on the most, but also by far the easiest thing. I once met a C++ “developer” (probably trained in a week to programming) who couldn’t tell me what version of Windows he was running, but who nonetheless was able to code a complete project according to spec. The program however suffered from horrible performance. The morale of the story is that everybody can code. However, writing a program which can scale and is easily maintainable is a whole other business.
  • Special features: features rather unique to the language that allow to perform some tasks more efficiently but that we can live without. In the case of Python, that would be using a list comprehension to perform a map / filter operation on a collection rather than explicitly iterating through its elements and testing them one by one. The difficulty with special features is that it’s easy not to be aware of them as we’re coding like we would on any other language.
  • Libraries / frameworks: popular languages such as Java, .NET, Python, JavaScript or others tend to have a lot of third-party libraries, frameworks, tools and so on – when it is not an extensive standard library to begin with.
  • How things work under the hood. This can come in handy for performance tuning and when we encounter seemingly abnormal behavior. The challenge here is that there are not a lot of documentation about it – just scarce information here and there. This is what this blog is about.

And here are some other blogs on the same topic that I recommend (in alphabetic order):

Leave a comment