> ...but it does look like Mozilla's product management has maintained its laser-like aim at its own feet.
Sadly, this feels very true. I used to donate money to Firefox back in the day, but since Mozilla seems to focus on anything but making Firefox a good -browser- - those days feel very distant.
I think Nim has a good homepage, with some bullet points explaining what the language is all about coupled with several code examples. I'm not saying Nim is better, but I visited the page the other day and thought it was neat.
I remember the first time I visited the DLang website. I clicked “What is D used for?” [0] and scrolled to the very first section, “1. Industry.” The opening example was “1. Games,” so naturally I went to read more…and found the first link, “AAA game,” was dead. It led straight to an error page on Xbox.
That was years ago. After reading your comment, I decided to check again. The same “AAA game” link is still first, and it’s still broken.
You can’t really call that “a good presentation of a language” when the very first real-world example links to nowhere—and nobody’s bothered to fix it for years.
I guess you're referring to the official link to quantumbreak.com. No one has probably noticed or pointed it out yet, I do not know where to raise it since I am not a member of the fourm. But the next sentence links to the presentation about the Game (Quantumbreak) and it's integration with Dlang.
You are not wrong, that should be fixed but no information about it is lost, I feel like you're a bit too harsh here.
Yeah, that's exactly the thing I'd hope to see on anything trying to sell me on using a new language. Tell me about what it does, and show me how it does it
The way it handles imports is weird. Default to importing everything from the module without qualification? I know you can choose to qualify everything, but that seems to go against the language's conventions.
Using fully qualified imports is a Python tradition.
Python doesn't have a notion of public/private symbols (no, "__" prefix does absolutely nothing). It also doesn't have a good type system, so it can't have function overloading.
This is why you're required to qualify almost all imports in Python, to avoid name clashes.
Nim doesn't have this problem and also "fixes" a lot of other shortcomings[1] of Python.[2]
It's not only a Python thing. Many modern languages require this as well. Go, Gleam, Rust, etc.
When you're reading Nim code and you see a symbol you don't know, how can you tell where it comes from? In Rust, it's either qualified or you have to explicitly import it. What do you do in Nim?
> Many modern languages require this as well. Go, Gleam, Rust
All the languages you listed do not support function overloading. Qualified imports and namespaces exist to avoid name clashes first, dependency tracking is just a bonus (and a chore).
Nim's import rules are part of its generalization of OOP's obj.foo()
syntax. That is, in Nim, you don't have to put "foo" in a specific
class, just set the first parameter of "foo" to the type of "obj",
and this only works if you don't have to qualify "foo" (similarly to OOP
languages...)
I don't see how Nim's import is necessary for that to happen. You can allow the user to specify items to import without the qualifier (like Python's `from lib import foo`), and the universal function call syntax would work, too.
That is allowed, with the exact same syntax as Python. But then you still lose the qualification so I don't see any benefits, it's just more boilerplate to constantly adjust, git conflicts to fight with, etc.
That's the piece of information I miss in a lot of those stories. What happened X years later? We all love reading about strange projects, but it's not until someone sits down and writes a blog post about some old, custom system that you get the important insights (X was good, Y didn't work because reasons and nobody ever understood Z).
> Composer is the de facto package manager for PHP. I’ve never seen anyone try to compete with it.
According to common PHP culture, there's no need - since it's already good enough. Instead of re-inventing something you can just move on and get your own sh*t done. :)
Sadly, this feels very true. I used to donate money to Firefox back in the day, but since Mozilla seems to focus on anything but making Firefox a good -browser- - those days feel very distant.