08-29-2017, 09:03 PM
I like python for its simplicity and direct approach: with very little setup you can get results quickly. That's why I'm doing much of the engine samples in python, because it's the least intrusive language. It reminds me of the BASIC in the 8-bit home computer era :-) And it's "de facto" standard in the Raspberry community, where I have a special interest due to its educational value.
For larger projects I prefer C#, its static typing and highly assisted code editors make it very productive and quite error-safe. What a pity you encountered trouble with the SDL bindings.
I don't use C++ at all, in fact I don't like it. For low level systems programming -like tilengine- I use the good old C: fast, efficient, portable, but with all its quirks (buffer overflows, dangling pointers, weak types...). For complex, high level end-user applications I use C#. But C++ sits between them, in the land of nobody, offering the worst of both without any clear advantage. But that's just my opinion...
Java lies in the same abstraction layer than C#, but its much more rigid and verbose. C# is cross-platform too, so I don't see a real reason to choose Java, at least for desktop application development. I wrote the Java binding just for the Android port because it's the main language there. But the Android/Java duo support is a bit in the dust for now, not being maintained.
For larger projects I prefer C#, its static typing and highly assisted code editors make it very productive and quite error-safe. What a pity you encountered trouble with the SDL bindings.
I don't use C++ at all, in fact I don't like it. For low level systems programming -like tilengine- I use the good old C: fast, efficient, portable, but with all its quirks (buffer overflows, dangling pointers, weak types...). For complex, high level end-user applications I use C#. But C++ sits between them, in the land of nobody, offering the worst of both without any clear advantage. But that's just my opinion...
Java lies in the same abstraction layer than C#, but its much more rigid and verbose. C# is cross-platform too, so I don't see a real reason to choose Java, at least for desktop application development. I wrote the Java binding just for the Android port because it's the main language there. But the Android/Java duo support is a bit in the dust for now, not being maintained.