Hi,
This is a question for the core developers. I had a talk with steve baer a couple of years ago and I remember him being enthousiastic about rhinocommon in particular and dotnet in general.
I took this as futureproofing rhino, a multiplatform future. Osx was on the rise and work was being done to get rhino mac ready.
Now a couple of years later I think it is safe to say that rhino mac has been a struggle and it feels like developing with dotnet has not helped in that regard. Like, at all.
Now, I regularly have dicussions with microsoft fanbois about dotnet and I do a fair bit of c# myself in grasshopper and unity. I can see the appeal of more readable code, but fundamentally al the friction points are still there, f.i. include hell and build spaghetti to name but two. Especially building and linking is very opaque now.
The reason I bring this up is because dotnet feels more and more of a lock-in and I worry about the path microsoft is taking, windows 10S being the latest shenanigan.
My question to the devs is this: did dotnet pay off ? I don’t mean did it work, but is developing with dotnet a path into the future? Or should one take serious steps in being multiplatform like f.i. blender has done ? I bring this up bc when I develop an app I notice a great demand for multiple platforms. Mac and win being a main concern, but mobile and web coming in as close seconds. I have used lightweight libs like oryol and raylib with great ease, a pleasure compared to f.i. qt.
So, again, dotnet/rhinocommon: “OMGbestDecisionEVErrr! Msvc 4eva!” or “meh, seemed like a good idea at the time” ?
We don’t plan on distributing through either platform’s app store. I’m not sure how this has anything to do with choice of a programming language.
Dotnet had a promise when microsoft introduced it, Java done right and the performance of c/c++ without the hassle. Elegance was a word I saw a lot too.
But surely I cannot be the only one here questioning microsofts motives ?
In a broader sense I have learned to be very apprehensive about investing my time, energy and knowledge in systems that can leverage that knowledge against me. Case in point, our friends autodesk and adobe. The subscription model does not allow me to exercise my own knowledge or access my own stuff unless I pay a fee. That is obscene. And now I see microsoft making similar moves, I worry.
I was wondering where the payoff of dotnet was, or if there is an out of the microsoft ecosystem.
Or, how likely is it to still use dotnet in 2038, when c# is as old as c++ is now ?
No indeed, quite a lot has been written in the early .NET days about the apparent disconnect between the touted cross-platformness and Microsoft’s behaviour which seemed to discourage the development of .NET ports to other OSs. However eventually Mono got off the ground in a successful way and right now the .NET project is actually open source. This has come as somewhat of a surprise to most (including me), but a pleasant one.
Subscription based software is probably the single most hated type of licensing available today. Nobody who is not obviously lying for marketing purposes is disputing that. It is also being adopted at an alarming rate and we’re just going to have to hope that the obvious effort to normalise this horror is weaker than the disgust it inspires.
However licensing has nothing to do with .NET as a programming platform. Or at least I fail to see the connection.
Have you seen the amount of plug-ins available for Grasshopper? How many of those do you think would have been written if C++ was the only available language? Developing in C# is vastly simpler than C++. Good IDEs and compilers are available for free, the same binaries can be executed on multiple operating systems (provided they do not rely on something which is specific to one of them), there is a huge amount of highly readable information on writing C# code, and with the open sourcing of .NET it has become less part of the Microsoft ecosystem.
I’m sure I don’t know what’s going to happen in 2038.