====== Python ====== The language of the snake! Known to be, according to the [[https://www.tiobe.com/tiobe-index/|TIOBE Index]], the most popular programming language at least in 2023, used by countless beginner and senior developers throughout the world to create hello world applications and super complex, highly accurate, mind-blowing machine learning and artificial intelligence models, all of this with its horrible whitespace-based syntax and awful looking docblocks. Even though it has a lot going for it and against it, it is the most popular language, and knowing/using it gives us a great advantage in terms of collaboration and code reuse. Given its size, it's to be expected that they might already have a library for that application that you need to build, or if you thought of something novel and want to build a library for it, most likely if you publish it you are guaranteed get many downloads and maybe even some contributions. ===== Project Structure ===== One of the most important aspects of any language is its project structure. If you are building simple one-of scripts hacked together quickly just to perform a task none of this is needed, but as soon as you want to build something that might get used by others or that you might want to publish later in a package manager you need to use the language's proper structure for that. Here are some resources on the topic: * [[https://docs.python-guide.org/writing/structure/|Structuring Your Project]] * [[https://medium.com/mlearning-ai/a-practical-guide-to-python-project-structure-and-packaging-90c7f7a04f95|Guide to Python Project Structure and Packaging]] * [[https://realpython.com/python-application-layouts/|Python Application Layouts: A Reference]]