the world. THAT is the kind

It's become common for Python courses to use Jupyter for their coding exercises... But they have one big problem. Let's back up. What are notebooks great for? A couple of things. But primarily, a notebook is an interface. It's a way to drive or control software - not by clicking buttons, or typing into text boxes. But by writing sets of Python statements. And it's GREAT at this. Magnificent. You write code that imports Pandas or Keras or PyTorch or Matplotlib or whatever... Then you use these libs to get what you need. Breaking your code into different cells, relying on its built-in visualization tools, and so on. Great for fields like data science, where an exploration phase is rarely optional. Once you've gone Jupyter, you can't live without 'er. It also turns out: Jupyter rawks for people learning to code. The immediate feedback of what works, what doesn't... The slick interface... The ease of visualization... The layout of different cells... For someone learning hello world - and a good way past that - it's great. But: The notebook interface puts a real ceiling of complexity on what you can create. Would you develop a library like Pandas or Tensorflow itself in a notebook? Of course not. The fact is, most important software is developed OUTSIDE of a notebook. In regular programs, that are in version control, and have thorough unit tests. Once upon a time, there was no such thing as a DataFrame. Someone INVENTED it. And while was not first invented in Python, eventually the creators of Pandas created a Python class called "DataFrame". That you import into a cell of your notebook, and can use to do remarkable things. And the crucial part: That DataFrame class, and in fact all of Pandas, was NOT created inside a notebook. It was created using the standard software development practices outside the notebook environment. And now, millions of people use it around the world. THAT is the kind of software I want you to write. To EXCEL at writing. To be prolific and powerful at writing. Because it's those "building blocks" that lessor programmers than yourself will be importing into their Jupyter notebooks. Building on what you wrote, and maybe doing great things with it... But never being able to create those foundations on their own. Is this elitist? To speak about you being in a different league from other, "lessor" developers? To have this higher ambition for your career, for your life? If it is... so be it. Because learning the skills of the top 1% Python developers is a goal worth reaching for. If you already know the basics of programming in Python... Writing simple scripts using functions, dictionaries, and lists... And you are ready to learn the most important "next level" tools, tricks and powerful strategies used every day by the world's top 1% Pythonistas... The Powerful Python Newsletter is just for you. Like reader Charles Hayden puts it: "I have seen a lot of books, articles, and newsletters over the years and yours is one of the best. Not just what you say about Python, but how to go about learning."

Comments

Popular posts from this blog

set of functions and capabilities

lot more search engine friendly