just my 5 cents about the theme itself. I think it would be great to understand 
the audience of Nim. I think the topic is not about languages. It's about 
people who stand behind. People are valued. Fresh blood and young programmers 
who are trying to make new stuff. Why?

Because It's hard to convince people that already earn money and have robust 
working toolsets on other langs to drop it in favor of other lang. So the 
audience is not about programmers that came from Python, Ada, Modula, Whatever. 
The audience is people who are

  1. new to programming
  2. have money/will to shift to new tech ( a much smaller group )
  3. hobbyist and who program for fun in a spare time



I want to point on Rust and Nim sites:

  * Rust



A language empowering everyone to build reliable and efficient software.

Obviously I find Rust description sexy, elegant and I understand the mission of 
the language. And I understand why game dev fellas like this description.

  * Nim



Nim is a statically typed compiled systems programming language. It combines 
successful concepts from mature languages like Python, Ada and Modula.

The first part about typed compiled lang is ok and this is why I came here :)

But I know nothing about Ada or Modula. I even never heard of those languages. 
And I think I don't want to. ( Not because I think they are bad of course )

>From my mentality "we take a,b,c,d from there and do better mixing stuff" is 
>not cool. It's like "drink my custom Pepsi, it took best of Cola". Those who 
>are fine with Cola won't look at custom Pepsi, and those who never tasted Cola 
>can't make a decision on drinking custom Pepsi that advertises flavors they 
>never tried.

The Nim language is cool. Period. It doesn't need to compare itself with other 
languages. It's not a selling point. I want a language that helps me solve real 
problems, not a language that solves the problems of other languages.

What problems I have as a game developer?

The first problem is that system languages are great for writing core but often 
too hard for scripting and writing the game itself. Many reasons from syntax to 
more strict rules of how to write code. Maybe core developers fill confident 
but your teammate might have less experience and just want to script.

That's why we have Lua and so on. That's why Unity is on the C++ side and 
scripting is on C# side and they're a lot of silly "optimizations" about 
caching variables and stuff not to make an extra call on the C++ side. That's 
why Unity makes "subsets of C#" to put everything in one scope. A lot of hard, 
dirty work I think.

The second problem is portability. Pc, Mac, Linux, Consoles, Ios, Androids. It 
would be super nice if you can port your game to every device without rewriting 
the game to another language. As Nim compiles to C/C++/JS I can at least hope 
that I will be able to get on every possible platform.

just few examples of what I find like selling points:

  * Write code once, deploy everywhere - selling point
  * You will do more typing less - selling point
  * The language is expressive and versatile, you can write efficiently core 
stuff and game scripts in the same language and scope ( I don't need to mention 
here C++/Lua, it's obvious ) - my personal game dev selling point.



PS, I 'm 30 years old and came to programming accidentally. I developed games 
in C# with Unity for a decade and never identified myself as a programmer. With 
experience, I realized that I don't need an aircraft carrier to make 2d games. 
The safe options are C/C++. The other 3 options were D, Rust, and Nim. And I've 
started looking at Rust. Why? Everyone said that IT'S THE THING for game dev. 
From every corner. No one said to me to use Rust because it's like C++ but 
better. No. I was advertised that I can write safe code and Rust will solve my 
problems. It took me some time to realize that I don't like Rust language ( 
simple as that ). But it hooked me more than Nim at first. 

Reply via email to