Recs.
Updated
Todo.txt is one of the most basic todo lists that can be found. It is much like a text editor, except it syncs across devices.
SpecsUpdate
Pros
Pro Editable from any text editor without needing any proprietary software
Because todo.txt is just a todo standard with various compatible apps to edit it, you can update it from any device as long as it can edit text and you can access your todo.txt file
It's convenient to be able to access your todo list quickly via your programming environment so you don't have to switch contexts, and to have a separate todo.txt file per project.
Pro Wide range of interface apps
The community has developed a wide range of apps that interface with the basic file structure. These apps vary in how much they accomplish, how much hand-holding they do, their level of glitz, etc. They range from plugins for an editing app like vim to stand-alone, platform-specific GUI's. So YMMV depending on what you use. (todopy is particularly nice, a Python program that has a "console" mode which provides a keyboard-driven GUI.)
Pro It's free
It runs on MacOS, Android, and Python (in the Mac's Unix CLI) -- all for free.
Cons
Con No support for reoccurring tasks
Tasks have dates corresponding to creation and completion, but there is no explicit support for due dates or for tasks that reoccur.
Con Nested tasks not supported
Many todo tasks for developers end up having sub tasks that need to be performed for a parent task to be completed, but the todo.txt format does not have any nesting.
Con Android app not updated since 2013
The app only seems to support Dropbox. It would be nice to see support for different and newer file storage services.