And that essentially leads to my answer to this thread. Don’t complain about a language.
If a language has strengths or weaknesses, or inherit flaws, it’s definitely worth pointing them out. It helps new learners choose what’s best for them. It’s especially important given all the false information published about coding (to promote books, online courses, etc…).
You either like it, or coding is nothing for you.
Kind of… I made really fast progress in AutoLISP. Floundered in C#. And now I’m making fairly fast progress in Python.
I’m actually convinced that I would have faired better in C++ compared to C#. Lots of the advantages in C# confuse me. I remember spending days trying to figure out what a delegate was, only to realize it was something I’ve been using in AutoLISP for ages. I don’t know what it is but C# documentation and tutorials just don’t jive well with me.
The C# language and their approach to developing it has some inherent flaws (in my opinion but of course but from my perspective they seem objective). They keep adding more and more ways to write the same code, like trying to abbreviate lambda statements like 200 different ways. Suddenly you have hour+ long tutorials to teach something you could learn in Python in 1 minute. I especially don’t get the attempts to abbreviate code given the existence of intellisense and Auto-completion.
What really killed me with C# was the GUI’s, and like above, not willing to leave well-enough alone. They borked WPF pretty bad when they updated it and it was broken in a few ways (broken packages are devastating for beginners). It’s amazing that the drag-and-drop features of WinForms have never been matched with newer GUIs. Either they were that far ahead of their time or something else… They (Microsoft?) overhype some of their packages. Or at least the people promoting them do. When you compare the hype to people’s real opinions it’s quite different. Like Maui for example. But why I’m interested in Maui when my main focus should be Rhino Development is a great question
.
Java is even worse (apparently) so C# has successfully established itself as a real competitive alternative. It has a few very popular packages but they aren’t really something a Rhino plugin developer would ever need.
Given that Rhino 8 has a built-in Python editor I think that for beginners especially that really weights in Python’s favor. One key reason I was so successful with AutoLISP is that I can rapidly load and edit code and debug way fast. A better programmer, whether a natural or just more experienced, might not need that. But it’s a huge help for me, especially when I’m coding after a long day at work and not at 100%.
I’m finding Python documentation to be way better so far. But the shear number of users dictates that will be the case. It took me a few years to gather the ‘best’ resources for C#; by ‘best’ I mean resources that were suitable for my learning level. Some books I bought were good but way over my head. Some were inherently flawed and basically went straight towards the recycle bin. Python has its share of duds, already bought two, but I’ve basically already sourced everything I need to learn. I just need to learn now. But at least I don’t have to worry about learning from bad resources.