Hi there! If you landed here looking for a command line task manager, this probably isn’t for you. Check out Task Warrior for a serious implementation of that idea. If you’re interested in the differences between various programming languages, read on.
This page started with the idea of writing a simple program in lots of different languages. This is not a new idea; some Googling reveals many such projects. But much of the value in such a project is to actually write the code in different languages and the learning that results. So to hell with all the other similar projects. There are many like it, but this one is mine.
Many such projects do something too simplistic, like “Hello world!” or FizzBuzz. I wanted something that might actually be useful, something complex enough that it will test important features of the language, but not something so complex that would require rewriting tons of code for each version.
I’ve landed on a console to-do list manager. It will support the following interactions:
$ todo add This is a new list item 1. This is a new list item $ todo a This is another list item 1. This is a new list item 2. This is another list item $ todo 1. This is a new list item 2. This is another list item $ todo edit 1 Edited first item 1. Edited first item 2. This is another list item $ todo complete 1 1. This is another list item $ todo history 04/20/2020 04:20 pm: Edited first item $ todo recycle 1 completed item(s) recycled
As you can see, it is a console command that keeps a to-do list. It supports adding, listing, editing, and completing tasks, as well as listing and recycling completed tasks. Basic CRUD with persistence. Items will be stored in a text file or whatever else is convenient in a given language. It’s a fairly trivial program, but one that I suspect will use a pretty good range of language features without being too complicated.