โ ๏ธ๐# is the programming language you should learn for a successful career as a computational designer. ๐ก๐ผ๐ ๐ฃ๐๐๐ต๐ผ๐ป.
1. ๐ฅท๐ฝ๐ฉ๐ฒ๐ฟ๐๐ฎ๐๐ถ๐น๐ถ๐๐: Unity3D, Blazor WebAssembly,, Xamarin, WPF, Grasshopper3D/Rhino, Dynamo/Revit - these are just some of the popular platforms that support C#. That's games, web apps, plugins and more - C# can be used directly in a variety of domains across nearly all hardware platforms natively. For a multidisciplinary professional, this versatility is priceless!
2. ๐๐ฅ๐ฒ๐น๐ถ๐ฎ๐ฏ๐ถ๐น๐ถ๐๐: C# is the language used to build most production-ready software - if a software package is to be built for public use, most developers will prefer using C# rather than Python. It's strict syntax and type system enforces safety and prevents errors at compile time. Python is only ever used for in-house prototyping or quick automation solutions. In fact, many software tools today have a lifecycle that looks like this: Internal/first prototype using Python โ Rebuilt for public/reliable use with C# โ Wrapped in a web application for scaling up. eg. Ladybug Tools โ Pollination Cloud
3. ๐ฆพ๐ง๐ฒ๐ฐ๐ต๐ป๐ถ๐ฐ๐ฎ๐น ๐ฐ๐ฎ๐ฝ๐ฎ๐ฏ๐ถ๐น๐ถ๐๐ถ๐ฒ๐: C# is a more verbose and complete low-level language which runs on the cross-platform .NET standard. It compiles and runs objectively faster than Python in most scenarios. Even the most optimized Python libraries leverage C or C++ to achieve better performance. In practice as well, you will start seeing the limitations of using Python for development fairly quickly as the complexity of your application increases.
4. โญ๐๐ฒ๐บ๐ฎ๐ป๐ฑ: Sadly, C# developers are a rare breed. While there are increasingly more job openings that require C# experience, there aren't nearly enough candidates to fulfill the market needs. Moreover, C# developers generally find it much easier to learn and use other programming languages like JavaScript and Rust, which are also high-demand languages.
Of course, this doesn't mean that Python doesn't have it's merits!
๐ซPython is far easier to learn. For a beginner who is new to programming, it offers a quick start especially if your job does not require programming frequently. If you don't intend to specialize in computational design, this may be sufficient for the occasional script or two. It's much more legible and quick to run with; like an actual Python ๐ - minimal, but agile and powerful. But in that analogy, C# is like a dragon! ๐
If short-term accessibility is important to you, stick to Python. But if you want to dive deeper into computational design and tool development as a career specialization, it's never too late to start learning!
๐๐๐ป ๐ณ๐ฎ๐ฐ๐: C# is a newer language than Python - it was first released in 2000, while Python has been available since 1991!