armory3d / armory

3D Engine with Blender Integration
https://armory3d.org/engine
zlib License
3.07k stars 315 forks source link

proposal → Nim lang support #1201

Closed chiboreache closed 5 years ago

chiboreache commented 5 years ago

It just a top programming language, which is takes best from python and rust, and others languages.

So with it, armory will become like Godot, but better ;-)

https://nim-lang.org/

nanjizal commented 5 years ago

chiboreche

I think if you ported the haxe code to Nim created a pull request and then actively supported it then it would be quite cool.

But reality is that Haxe is already a very good adaptable language that compiles to many targets and is already a non mainstream language - so adding support for Nim without dedicated developer is actually going to dilute the project, and take more of Lubos and others time away from adding cool 3d features.

As a long time Haxe user I am well aware that some of these non-mainstream lanugages offer many bonuses over mainstream languages, being community driven ( rather than corporation driven ) and being agile to respond to modern needs. But it would not be in the best interest of Armory3D short term, longer term if you worked on such support I am sure people would try to help were possible in forums etc..

Currently Armory3D relies very heavily on Kha toolkit ( cross platform toolkit with haxe or c++ front end and mulitple language mostly c or js backend ) so actually the first step in any support for Nim would likely be to add Nim support to Kha, then porting Iron then Armory3D. The amount of work would be fairly large and with Haxe being such a great language is it really easier for you to just explore Haxe instead?

Best

Justin

chiboreache commented 5 years ago

wow, thanks for the such answer mate

just explore Haxe instead?

Wish I could, but I'm an absolute ; hater, that's why I use pug, stylus, coffee and python of course. The last one changed my mind, so I gladly dived into a new world of programming.

Furthermore as we can see on the charts, many of them like me, people want to have fun, not struggling hard with ugly, full of boilerplate crap, things.

So it simply investment to the nearest future. btw Nim is two-way-compiled into C|C++|JS so you can choose even better rock steady framework ;)

As for me, I just an artist, with some web-dev skills, which is founded Nim right now, and I'm very excited, so I can finally have fun with system stuff ^_^

and it would be even more awesome to have opportunity to make some low stuff with the best 3D editing software and game engine ;-)

nanjizal commented 5 years ago

I was self taught flash creator and I paint. I think many people using Haxe are creative not just code. Once you get past the ';' you will find Haxe is very powerful language and quite easy to get started. Armory3d is likely not the easiest place to practice your graphical haxe since anything 3d when you get into code tends to be bit more tricky, I mean some of Armory3D will be easy but as you explore more the learning curve will quite quickly get steep.
But 2D general Kha is very easy to start. Lewis does some great tutorials that anyone could follow, I think it's probably worth going through them and then have another look at using haxe in Armory3d. Haxe is actually very low on boiler plate, sometimes the grammar could be changed to be less characters but you can easily avoid much of the bloat of many more enterprise languages. https://www.youtube.com/watch?v=5Uxht76ODtQ

chiboreache commented 5 years ago

It's not just an one useless symbol (since everyone uses indentation anyway) it's overall approach and mindset behind, it's simple different peoples, that making product, resonating with me, a lot.

learning curve will quite quickly get steep

pfff, say where not? heh

I'm not afraid of difficulties, I just want them to be in a comfort environment without any visual noise, that why I tend to visual programming

but my goal is parametric mesh generation, and Armory3d nodes lacking of any kind of that functionality

so sad, but Godot with Python bindings is looks more suited for me

Thanks for the answer again, I will be still to looking forward to the development of your project, because combining - the best innovative 3d software with the game engine — is a awesome killer feature!

image

luboslenco commented 5 years ago

Sorry, keeping it a little constrained language-wise for now to keep focus. Will eventually put more resources into additional language support via webassembly.

nanjizal commented 5 years ago

I think this guy is planning to do nim to haxe as well, so maybe that's also an option in the future. https://github.com/RapidFingers/Craxe