| Sure. As you guys seem to plan to do, I also started with some Matlab based work from my PhD years and felt that would be the quickest and easiest way forward. I also made the bet that the Octave app GUI functionality (uixx functions) would become good enough to use for commercial apps, which as great as base Octave is, it in my opinion hasn't. So as I make a fully client side app I am now dependent on users also purchasing or already having Matlab too. As for Python, it is also a bet and compromise with the following specific criteria: - Fast and easy to develop in (as I as a bootstrapped solo-dev have to do everything by myself) - Reasonably simple to translate to from Matlab code - Good and easy to use client side GUI functionality - Easy for other users to use (as I want as many users a possible to use the functionality and potentially be able to write extensions themselves) - 3D Visualization libraries (VTK, ParaView) with this in mind my choices were: 1) Python 2) Julia 3) (Object) Pascal 4) Web stack (Javascript + webassembly) I almost initially chose (Lazarus free) Pascal due to its IDE, fast compilation, and easy deployment but eventually I found the fixed pixel based GUI placement not ideal (although there are probably workarounds for that). Although using a web stack would be ideal from a user and sales perspective (with no installation), my impression of web programming is "messy" and I'm afraid that for CAE simulation apps this approach would freeze the computers completely (Electron!). Although I initially thought Julia would be ideal as the syntax was very close to Matlab, it seems to become more and more complex as it matures and my impression is that there still isn't a good way to deliver (pre-)compiled client side apps which is my requirement. So all in all I felt that Python probably the best compromise. It is still a bet, but with the "Matlab engine" you can call Matlab in the background so port bit by bit. In your case though with a (web) server-client app you might fare better with Matlab/Octave. Tech-stack aside, I've found the hardest part is the non-techy bits, especially sales, marketing etc. which I still haven't figured out. Best of luck! |