Page 1 of 1
VMD improvements wishlist - Polls
Posted: Thu May 28, 2020 11:09 am
by nekomatic
Hi All,
I've created two polls on the
VM users facebook group to see how other module developes would like to improve their work with VMD.
The first one is about
what toolchain improvements would be nice to have in the VMD, the second one refers to the
languuages or frameworks we would like to write the modules with.
Both polls are open so you should be able to add your own points and let others vote for them.
Note, I do not work for Cherry Audio - I've created those polls only to satisfy my own couriosity and potentially the couriosity of other module developers. I'm obviously counting of the CE team wathching this as well
Re: VMD improvements wishlist - Polls
Posted: Thu May 28, 2020 1:57 pm
by andro
Language is heavily constrained by audio performance not programmer preferences. That really leaves the current well optimized Java or C++ (as per VCV Rack) in my view.
I loathe facebook in all its aspects so I am commenting here.
C++ would instantly give access to the vast resources of DSP code available, and to so much audio processing code and csound generators and even (gasp) VCV Rack module code. In fact, you may get a sudden influx from module developers then able to support both platforms. That would be beneficial.
Re: VMD improvements wishlist - Polls
Posted: Thu May 28, 2020 2:29 pm
by nekomatic
I guess Java was selected due to its popularity and ease of use in a multiplatform environment.
Unfortunately Java - or JVM in general has the problem that the native optimizations happen during the runtime - once optimized code gets re-optimized or sometimes de-optimized many times - that costs a lot of CPU nad results in inconsistent performance. It is also very hard to predict wnen such re-optimizations will happen so CPU load management in a realtime system is pretty much impossible with JVM... note, this is more or less problem with any JIT based platform, however other platforms like i.e. dotnet core give developers access to low level CPU features which drastically reduce the cost of re-optimizations - In dotnet the Just In Time compiler has a lot less work to do. JVM is stil in the stone age from this point of view...
C++ would obviously be best solution but it is hard for beginners. But there are many other native technologies which are a lot more dev friendly and still produce stable performance.
And again, building native modules for Mac usually requires some bits from the XCode which is Mac only - not a blocker but a bit painful to set an OsX toolchain on other platforms - not for beginners...
Rust or Kotlin Native with an online build service could be a way... Enabling native support for C/C++ would pretty much automatically allow those technologies to be used as well.
Lots of ways to do that.. each has good and bad sides...
Re: VMD improvements wishlist - Polls
Posted: Fri May 29, 2020 12:22 am
by andro
I have always been puzzled by this statement that is pervasive and seemingly unquestioned that 'C++ is hard for beginners'. I am probably the exact wrong person to comment as I have been programming all my life and remember the very first day of C++, so my perspective may be skewed by long experience. But I really feel that if people want to work in technical areas they should be prepared to put in the hard yards to learn the tools. It's the same in any field of endeavour. But there's a tendency nowadays for people to want instant gratification and an easy ride without effort. But if you are going to write high performance code at some stage in your career or practice you are going to need a high performance language like C++.
The same thing comes up all the time for Haskell, my favourite language in this universe. It has a reputation as fiercely difficult and impossible for beginners, and this has hampered its growth. And yet it has been taught in beginning programming courses at various universities with great success. It suffers commercially from this unwarranted prejudice about 'difficulty'. C++ is the same.
And just as a footnote, the full current glory of Java in its entirety is now so rich that this language could also be considered hard!
Re: VMD improvements wishlist - Polls
Posted: Fri May 29, 2020 11:18 am
by nekomatic
I will rephrase then - C++ requires a lot more of self-discipline which may put some people off comparing to i.e. Rust, Kotlin Native etc. and obviously Haskell, which scream at the developer about many potential issues on the compile stage
On the other hand there are tools like Max or PureData which can generate C++ code and only some effort would be necessary to wire the code to the target application's API.. So yes, where is the will there is also a way
There are many people out there with the academic experience with math useful in DSP who may not have much experience with programming or may have used something like Python, Jupyter or any other popular 'academic' tools. Either way, they might have not had experience with building production quality software. From the software development point of view they are the beginners so the easiest the techology is which may allow them to apply their knowledge in production, the better.
I agree that some commitment is necessary but if there are solutions out there which may flatten the learning curve then why not to reach for them
Re: VMD improvements wishlist - Polls
Posted: Fri May 29, 2020 12:27 pm
by andro
On this thread, imagine a future where VMD is a plugin for Netbeans and Eclipse. That would sure help and encourage people.
Does not matter what the language is at the moment the editor has to be improved urgently. It's just a student programming exercise, or something. It is rapidly driving me nuts and the impedance of it is an impediment to fluid thought.
I suppose CA has only had a small handful of developers so these issues could be brushed aside, but now as VM is starting to blossom and more people are attracted to the ecosystem I feel the dev environment usability issues need to take a front seat.
[And while we are here this forum desperately has to go to a sensible contemporary platform like Discourse, and I am offering to help set it up.]
If I seem always critical it's because I love VM so much!
[Hello CA!
]
[Do CA management / IT managers read the forums?]
Re: VMD improvements wishlist - Polls
Posted: Fri May 29, 2020 12:41 pm
by nekomatic
You have forgotten about IntelliJ... that did hurt a bit..
the community edition is free for commercial use btw.
In the poll on FB an ability to use an third party IDE for modules development seems to be most voted VMD improvement.