I Made a Lot of Mistakes...
I have been programming computers in order to algorithmically compose music since 1979 or 1980, that's 46 years. And I am still doing it....
During this period, I made a lot of mistakes that have ended up costing me a great deal of wasted time and effort. I will discuss these here, in the faint hope what I have learned might save somebody else some pain.
However, first I must say, I am not sorry I chose this path. In spite of the wasted time and effort, it has enabled me to make music that I simply would not have been able to make without the software I have written.
So, what were these mistakes, and how could they have been avoided? (I have discussed some of this in my article here on How to Program, and I will be updating that article soon to reflect my experience with artificial intelligence.)
Constantly changing the infrastructure; for example, using first Fortran, then Pascal, then C, then BASIC, then C++, then Python, then Lua, then JavaScript, when using the most capable language (C++) only, and wrapping the C++ library to provide implementations usable in other languages, would have saved me a lot of time. Also, working first on Windows, then on Linux, then on macOS, when moving as soon as possible to macOS would (in hindsight, of course!) have been the wiser move.
Trying to reinvent the wheel; that is, for example, implementing chord space code in Python, JavaScript, and C++, when doing it only in C++ and then wrapping it for Python and JavaScript is the right approach (which I have now adopted).
Too often responding to requests from other users, when I myself am the major user, for example to break up projects into smaller parts, which of course require more time to maintain.











