Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Blender breaks their API. Maya breaking the API is huge news, and generally patched same-day. The APIs are different, with different tradeoffs, but the biggest by far is Maya isn't expected to break your automation pipeline, and that is worth a considerable amount.


This is the major issue (along with the shitty undo system and dependency graph) As someone who develops addons they break the API with every release often entirely unnecessarily (e.g making a bunch of arguments keyword only in a random selection of methods every release and not documenting this fully).

They also break the API accidentally frequently. My favourite is that they have accidentally inverted the direction of rotation of the rotation operator 4 times since 2.8 and randomly removed one of the modes that the UV Smart project operator worked in.

The documentation is also lacking for the API and none existent for the main code base.

Despite this Blender is amazing but I do wish they were more professional. From a developer point of view the two things that would make life vastly better is if they

a) hired a technical writer to produce decent docs

b) stopped breaking the API every 5 minutes and when they did documented it properly (and in advance)


Maya requires to recompile native plugins for each new version though (unless this has changed recently?). The reason is that the Maya devs made the decision (back in the 90's) to use C++ APIs in DLLs for the plugin interface instead of a C API. Not their best decision in hindsight.


That is (was) a problem if it was built with MSVC. Build it with Gcc, and no. MSVC has lately been obliged to stabilize their ABI a bit, and now plugins are more implicitly stable.

So, not such a bad decision. Building with MSVC used to be a bad decision, less so now.


Are GCC-built plugin DLLs compatible with Maya on Windows? When I dabbled with Maya plugin development up until a few years ago, one had to use a specific MSVC version to compile plugin DLLs.


I believe Clang is able to compile compatibly with MSVC. It would be good customer service for Autodesk to release a Gcc-built Maya, but I would not be surprised if they never do.


Recompiling per version is fairly minimal work.

Having to have divergent code paths per version is hell.

Blender has a Python API. Which is arguably one of the easiest languages to keep a stable API in, since you're not dealing with an ABI.

Yet that breaks regularly.

I'm okay if I had to recompile for every version of maya I support. I just don't want to have to have to maintain tons of ifdefs per version




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: