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.
