Posts

Showing posts from January, 2024

Fundamentally Wrong

Image
The Problem An article  has been shared with me by several friends and also by some critics, and some people who are both, describing how TDD is fundamentally wrong, and doing test-after-development is better. To be fair, the process described here is fundamentally wrong: The problems with step #1 would indeed lead to the wasteful problems described below it. The recommendation here would certainly be better than the process described above: TDD Is Fundamentally Wrong is Fundamentally Wrong Now, the problem with this article is more fundamental than the problem being described. TDD does not mean " Write all the tests then all the code " It has never meant that. That is not TDD. That is some other misbegotten travesty that has no name. This is the fifth or sixth time I've heard anyone describe TDD as writing all the tests first. In all cases except one, it has been described by people who self-describe as being anti-TDD, and who write articles decrying the foolishness tha...

Python Listicle!

People often ask me (directly, or just generally posting to some social site) how they can learn Python quickly.   Learning Python is one of those things where one can begin quite easily and quickly, but there is some depth to the language that one will want to understand and use once one gets past the most elementary early uses.  If you are learning from tutorials, you might want to follow along in a REPL. You can try running Python locally (see ipython and/or  bpython ), as a Jupyter notebook, or in  Repl.it  if you want to keep your local machine Python-free for the time being). You will probably want to install an IDE, though. There are many   Python IDEs and Editors  in the world, but  PyCharm is the king of them all. Nothing else even comes close. So, here are some great places to start: Learn X In Y Minutes  is great for experienced developers who are unfamiliar with the syntax and idioms of Python. It's all learn-by-example a...