Learning C# or Python for Grasshopper?

assuming you start programming at age 10, you are 63 year old!

I started programming in 1968 at age 18 at Harvey Mudd College using Fortran (first published 11 years earlier in 1957) on an IBM 1620 computer with a 0.05 MHz CPU clock. I will be 72 in December.

It is remarkable that today’s computer hardware runs 80,000 times faster while today’s popular programming languages (Python, C++, C# are all in the top 10-list) are essentially the same. Certainally they are not 80,000 times better. So it still takes a lot of time to develop new software solutions to interesting problems. Thus you want to use a language that lets you translate your thoughts to code as fast as possible. For me that language is Python by far and away.



Ah memories… I remember triple-checking the card decks before handing them over to the upperclassmen at the counter. Picking up my tractor-fed output the next morning or optimistically, that night. My first language in college was WATFIV and then the university switched the CS program mainly to Pascal for everything but compiler classes.

Things have come a long way.


Hi, of course not I want to branch out to other software’s as well like BIM, Tekla, Houdini, ZBrush to name a few. So there also I will use my coding skills that I learnt in GH.

Well, right now I am a one man show but I am looking to join different organizations and coding is one of the leading job requirements now a days. I have faced 4 rejections cause I didn’t knew coding or haven’t created my own plugin yet, so now “One man show” it is for sometime.

Big boys need solutions, not plugins. Otherwise they outsource the job … and you … well you know what happens sooner or later (plus: Adios Balboni). That said a Concept/BID/etc is 1++M miles away from what we call Final Level of Study + Specs + TD + This + That.

Note: despite what is widely known /accepted/promoted/advertized … nobody cares about Geometry (anyway anyone can do anything [as Concept/BID] these days - just look around you). So focus to the core of the matter, climb the mountain and get the thing of things (all black, WOT, sideways, no ABS, no driving aids of any kind >>> Avē Imperātor, moritūrī tē salūtant ).

Really? What were you applying as?

As a Parametric and a Computational Designer.

That’s true, that’s why I was looking for small to medium scale practices so that I don’t get lost in the corporate world lets say.

I guess so, like everyone is exploring geometries to some or the other way and everyone is also teaching how to create those geometries. So in a way you are right, that nobody cares about Geometry cause its everywhere. True that getting to the core is important. no ABS will be a lot XD

ABS is for Toyota Prius drivers.

Note: If a Computational Designer. could earn 100 dollars per year … the one who knows how to do it (on time and on budget) in real-life - and thus could lead a Team - gets 10000+. So forget this and focus to that.

Moral: vivere pericolosamente


Choosing a language to write code is not easy, and most likely you will have to grasp at least a general proficiency in half a dozen if you are dealing with digital technologies because for every application there will be the most suited language, and then all the ways you can go around it.

When I began I learnt a bunch of web languages because I was doing mostly web stuff, then I began learning C++ and Python. Then I started learning C# just because of Rhino and Grasshopper.

So it depends on what you aim for your code to do. They are both great languages. If you plan to do only scripting inside GH I’d recommend Python, but if you plan to build components then I’d say C# is the only way.

It’s curious how people generally say Python is easier to learn, and I would agree, but for people who are familiar with certain programming paradigms, I find it to be much harder. Long-live the semi-colon and strong typing!

Python has a great community and great libraries and is the de facto standard for some applications. C# has, especially nowadays, a broader scope of application, and also has been steadily improving performance to the point of easily surpassing Java and only marginally losing to C++ in most cases. The level of C# performance is unreachable to Python code and can only come close if you use specific libraries and change your code to accodate them. The C# standard is constantly being updated and the language gets more features all the time.

Finally, I wish we could be discussing a 3rd option here. Rust is probably the “smartest” language out there… Oh well…

1 Like

Here’s a general tip, I can give you that is not an opinion piece about which programming language is the greatest, but rather an empirical truth.
The programming language is a tool that you learn how to use. There might be stronger tools, faster ones to use, harder ones to master, etc., but what it really comes down to in this realm is understanding the basic principles about computational geometry (points, vectors, matrices, transformations, lines, curves, meshes, nurbs, other geometry types, related algorithms, binary trees, raytracing, trigonometry, etc.).
Tools evolve, get better or worse, and sometimes simply out of fashion, but the core principles of trigonometry, maths, or general programming standards stay mostly constant.


Nice, thank you for the insight. Living at the edge :stuck_out_tongue:

Yes, you are completely right. Thank you for the insight, once the core principles are understood correctly then tool can be any, makes sense.

I will definitely keep this in mind. I mean it is so obvious when I read it now but sometimes we forget cause the tools are getting more and more.

Generally I agree, except where geometry is at the core of the design process. Still, as with most other fields, geometry is serving a design intent so it will always be subordinate to it, but solving design problems resorting to special/bespoke geometries may give rise to radically different solutions, with immediate benefits besides the eye candy.

Thank you for the detailed reply. Sorry, never heard of Rust :confused:

Yeah, now since there is a mix response, I am going to try my hands in both python and C# and then choose which I like to code in or use. Hopefully then I will better understand what terms you and everywhere are using here.

I really appreciate your response, I think I am going to come back after a while to read all these comments. Thank you again.

1 Like

No more > The Big Picture (i.e. what bike should you buy?) > Get the attached and find TheTruthOutThere :
In_C_we_trust_V4.gh (1.3 MB)


Wow you actually did this, nice looks super interesting. This was my result hahahaha

1 Like

Well … forget C# > let’s talk serious matters: That Blade (CBR1000RR). Good stuff … but not as good as the original (When Honda was the best (of the best (of the best)))).

1 Like

Hahah this is becoming bike thread.

That’s true, FIREBLASE was super nice. I personally am more of a ZX 10R design, especially the new model. Perfection.