18 comments

[ 3.3 ms ] story [ 12.5 ms ] thread
This was my very non-scientific way of trying to decide between Nim & Zig as a new systems language to experiment with. The plan was to choose the one trending the most.

I added Rust and Dart as established comparisons. I also added the keyword "array" to filter out and non programming language searches. I tried the alternative filter word "string" and obtained similar results.

Extending the time window to 5 years still didn't show either one to be trending over the other.

Curiously, I did try Stack Overflow's trend page but zig and nim tags were missing.

There's no obvious winner (IMHO).

> I added Rust and Dart as established comparisons.

Google trends normalizes the results to the highest value so if you want to compare Nim and Zig, it's clearer to query for only those two languages.

Of course, if you delete the Rust and Dart terms you'll see there's still no trend winner between Zig or Nim.
Dart does not have arrays, it has lists. Try replacing "Dart array" with "Dart list" instead.
Arrays are also somewhat unusual in Rust (because they are fixed-length, unlike vector "Vec").

Why not use "function" or "loop" or something universal as the keyword?

For new experimenters of languages, "array" is the perfect word to use. It's a very common word that everyone learns whenever they start with C or Java. All the people looking to try things will use that term first before learning the proper terms.

Someone who never used rust will search for "rust array". Someone who did will search for "rust vec". You're trying to figure out trends for people who have never used the language.

> You're trying to figure out trends for people who have never used the language.

But you're not filtering out experienced users in the other languages, where "array" is a common term for all levels. So that argument doesn't hold either, unless you included other keywords like "what is" or "how do I" or "what's the equivalent to" to target learners no yet accustomed to the terminology.

This just gives you results for people who know that dart has lists, therefore, not people currently learning and experimenting the language.
Just an FYI, while Nim has arrays (which are fixed-size) it's far more common to use sequences (dynamically-sized arrays).
I can't say I personally (or even professionally) need a systems language of the non-GC variety. The development speed vs execution speed differences don't pay off. At the same time, I'm very interested in how these lower level languages are becoming more and more generally usable. Rust seems to be leading at the moment and I find Zig very promising. My long-term bet would be for Jai or extracting "Within C++, there is a much smaller and cleaner language struggling to get out".
Jai looks interesting although it seems most information seems to be within several YouTube videos.
The 16% of the zig array trends are probably from my attempts to learn the language...
You would better do a tutorial, read a bit the forums and decide which language and community you prefer
I would suggest adding a bunch of them as such:

zig array + zig variable + zig for loop + zig programming language

Also be careful with the break in the data in 2022.