What programming language is most suited for Entity Component System (ECS) development? And are languages like straight C or functional languages better suited to ECS than an OOP language like C++, C#, or JavaScript, ActionScript 3?

share|improve this question
Perhaps this question should be more about composition vs inheritance, than which language? – Erik Jan 20 at 1:39
1  
And since this is general programming, a better place would be @ SO. – psycketom Jan 20 at 1:56
4  
-1 Since there's no single way to implement an ECS, there's no single "most suited" programming language for one. This question will only solicit opinion and debate. – Byte56 Jan 20 at 4:22
1  

closed as not constructive by Byte56, Tetrad Jan 20 at 6:01

As it currently stands, this question is not a good fit for our Q&A; format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.

1 Answer

I have created component systems in C#, Java and actionscript. While it was possible in every language, I found java and C# a lot cleaner thanks to generics. Actionscript required a lot of casting to desired component types when using getComponent functions.

Another point is that actionscript uses a display list, making it hard to split functionality into components. But this is no issue when using a custom blit or stage3 engine.

share|improve this answer
What is a "custom blit or stage3 engine"? – Tokyo Dan Jan 20 at 8:18
blitting is software rendering where you draw bitmaps on a main bitmap canvas. Stage3D is flash's 3D renderer. The point was that the display list (anything that uses addChild) doesn't allow you to seperate components because all the rendering logic is closed source. You would not be able to seperate transformdata from graphic data for example, that is handled by flash's underlying system. – omgnoseat Jan 20 at 22:16
So going a bit further I guess for ECS style coding, Unity3D would be a better choice than Flash as Unity3D uses C# whereas Flash uses ActionScript 3. Would you agree? – Tokyo Dan Jan 21 at 4:34
Yes. The unity engine actually is component based itself. – omgnoseat Jan 21 at 17:03

Not the answer you're looking for? Browse other questions tagged or ask your own question.