I’ve been thinking about creating this thread for a little while. We have an incredible amount of C# vs. JavaScript threads going on whenever someone asks which is “the best programming language for Unity” (use the search to find those if you look for some heated discussions ). But I think what would be really helpful for people new to Unity would be an actual list of people’s experiences with the different languages they’re actively using.
For some people, Boo will be best, for some people C# will be best, and for some people JavaScript will be best (in alphabetical order). So instead of trying to find “the best” language, this should help everyone get a basic understanding of the differences between those languages to make an educated decision for themselves.
To best serve that purpose it would be nice if we could avoid discussions and instead just share the personal background - and experiences with the languages we actually use: Where are you coming from (programmer / new to programming, which languages have you used before using Unity etc.), which languages are you working with in Unity, what do you enjoy about using these languages in Unity, what do you find annoying?
Tips and tricks are also very welcome when they go beyond what’s already in the documentation and Wiki:
Unity Documentation:
Writing Scripts in C#
Script compilation (Advanced) [about script compilation order, very relevant if you mix different languages in one project]
Unify Community Wiki:
Common Scripting Pitfalls
JavaScript Quirks
Beginner’s Scripting Guide (a few tips in JavaScript)
Beginner’s Programming Tutorial for C# (and an older version for C#/JavaScript)
I think that one relevant aspect to this is also how much know-how is available for each language on the forums - that’s why I’ve added the poll. For some people, this will not play a role - but for others it may be important to know and currently we only have guesses. Note that this explicitely is about “how many active forum members use language X” - not about how many people use language X in general.
Actually, I wanted to post this into “Scripting” as it’s directly related to scripting - but I can’t create polls in Scripting so I posted to “Gossip” instead. Could someone move this, maybe?
EDIT: Unfortunately I didn’t think of putting the results into the thread every once in a while so that trends become obvious. But there’s wayback … so let’s check out the Web history:http://web.archive.org/web/*/http://forum.unity3d.com/threads/18507-Boo-C-and-JavaScript-in-Unity-Experiences-and-Opinions
The first capture in the archive was Oct 1st, 2010 - about 1 1/2 years after the poll originally was started. Here’s the results from back then (299 voters):
Boo only | 4.35% |
---|---|
C# only | 31.10% |
JavaScript only | 31.77% |
Boo C# | 2.68% |
Boo JavaScript | 0.33% |
JavaScript C# | 28.76% |
Boo, C# and JavaScript | 1.00% |
So let’s move one year into the future - sample from Oct 11th, 2011 (453 voters):
Boo only | 3.53% |
---|---|
C# only | 33.55% |
JavaScript only | 30.24% |
Boo C# | 2.21% |
Boo JavaScript | 0.44% |
JavaScript C# | 28.70% |
Boo, C# and JavaScript | 1.32% |
There’s a trend becoming obvious here: JavaScript is losing, C# is winning
Another year into the future - sample from August 31st, 2012 (so it’s not a full year - but that’s the data I have), 583 voters:
Boo only | 3.26% |
---|---|
C# only | 37.39% |
JavaScript only | 28.99% |
Boo C# | 2.06% |
Boo JavaScript | 0.51% |
JavaScript C# | 26.59% |
Boo, C# and JavaScript | 1.20% |
So … that trend obviously continues. We also see that Boo is going down a bit - but people using Boo with JavaScript is going up a little bit.
So let’s move almost another year into the future - July 18th, 2013, 763 voters:
Boo only | 3.28% |
---|---|
C# only | 40.10% |
JavaScript only | 27.92% |
Boo C# | 1.97% |
Boo JavaScript | 0.52% |
JavaScript C# | 25.29% |
Boo, C# and JavaScript | 0.92% |
So … C# is now used significantly more than JavaScript and the trend is that the difference will become more significant over time … Boo has stalled around 3.28%