A few days ago I came across TablaZinc, a tab generator which uses MiniZinc, a constraint modeling language. It really blew my mind because I never thought of using a language outside of the procedural, object-oriented or functional (or even dataflow, in the case of PureData) paradigms to make music software, and maybe some of those paradigms are the "right tool for the job" in many cases.
By using something else than C, C++ or Python you lose the ability to attract contributors, but you may be able to write clearer code, which is in the long run easier to maintain, provided that the front-end probably has to be written in those familiar languages due to the lack of good GUI libraries outside of them.
What do you think about it?
Alternative programming paradigms for music software
Moderators: MattKingUSA, khz
-
- Established Member
- Posts: 1516
- Joined: Sun Jan 27, 2019 2:25 pm
- Location: Italy
- Has thanked: 385 times
- Been thanked: 299 times
Alternative programming paradigms for music software
The community of believers was of one heart and mind, and no one claimed that any of his possessions was his own, but they had everything in common. [Acts 4:32]
Please donate time (even bug reports) or money to libre software
Jam on openSUSE + GeekosDAW!
Please donate time (even bug reports) or money to libre software
Jam on openSUSE + GeekosDAW!
- sadko4u
- Established Member
- Posts: 989
- Joined: Mon Sep 28, 2015 9:03 pm
- Has thanked: 2 times
- Been thanked: 361 times
Re: Alternative programming paradigms for music software
When I hear 'clearer code', I recall 'Lie # 3':Basslint wrote: ↑Wed Mar 11, 2020 12:24 pm By using something else than C, C++ or Python you lose the ability to attract contributors, but you may be able to write clearer code, which is in the long run easier to maintain, provided that the front-end probably has to be written in those familiar languages due to the lack of good GUI libraries outside of them.
What do you think about it?
https://cellperformance.beyond3d.com/ar ... -lies.html
LSP (Linux Studio Plugins) Developer and Maintainer.
Re: Alternative programming paradigms for music software
I think that the use of a particular paradigm with a particular set of capabilities is useful when those capabilities are particularly compelling for the problem at hand. Forcing a paradigm that does not fit the data and the problem is not wise. I am not familiar with the project you mention, but I can imagine that the author found the problem could be solved with optimization, hence using a domain specific language for that must have made a lot of sense. I highly doubt that, for music software (or any other subdomain of software for the matter), you can find one single paradigm that always wins above anything else. As far as DSP is concerned, I find myself switching between imperative and functional all of the time.
So, I guess that my stance is: choose the paradigm that most naturally addresses your problem. And as @sadko4u said, remember that most of the problem is in the data. And yeah, I would say that getting a very good understanding of the problem and the data would be the hardest part, and that makes me slow AF at developing. Once you understand the problem the software writes itself. Almost.
So, I guess that my stance is: choose the paradigm that most naturally addresses your problem. And as @sadko4u said, remember that most of the problem is in the data. And yeah, I would say that getting a very good understanding of the problem and the data would be the hardest part, and that makes me slow AF at developing. Once you understand the problem the software writes itself. Almost.