I’m not using a Mac, but AFAIK, Grasshopper C# scripts do work on Mac.
C# has been ported to the Mac too.
( Just like the Python implementation currently used in Rhino (and Grasshopper) has been ported to Windows/.NET, but … so to speak in the opposite direction )
There are definitely similarities between C# and Python.
Both use a C-like syntax and are imperative languages. But they work in somewhat different ways when looking at how data types are handled by the programmer.
EDIT
I think I should not call Python’s syntax C-like … maybe C-derived.
The details are often different … sorry.
/ EDIT
In C# variables and their types have to be declared in advance, then you can use them,.
Python is a so called dymanic language. You just start using variables and putting data into them
without declaring anything before.
Python is a classical scripting language: you can very quickly write a simple script without worrying in advance about variables and types. (But it’s flexible enough to let you organize things if you need).
C# is a typed, compiled language. It’s organized from the ground up for programs on any size, even very large and complex ones.
But obviously you can use it for scripting … e.g. Grasshopper
To summarize, I’d say smooth enough, even though not completely straitforward.
… I’ve read somewhere that polyglot people say that learingn the first 5 or 6 languare is harder, but after that the task becomes somewhat easier.
I’d say this also applies to programming languages. The more you learn (at least a little ), the easier you will find learning one more.
I dont’ know about C#, sorry.
For Python you might start from the official tutorial The Python Tutorial — Python 2.7.18 documentation
Dont’ worry too much about the language release. Rhino/Grasshopper currently uses Python 2
( But I read here on the forum that Rhino 8 might be able to use Python 3, don’t kwon about Grasshopper 2 ).
Anyway if you learn Python 2, you will have no problem at all with Python 3, they are very similar, Python 3 just let you do more things.
A book for Python as first language might be this one;
I find it a little too verbose, but that’s just my opinion.
The linked book is for Python 3, but it’s a pretty old Python 3, not much different from Python 2.
Or maybe you might be able to find a Python 2 version of the book …