| ▲ | nallerooth 4 days ago |
| 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. https://nim-lang.org/ |
|
| ▲ | 1980phipsi 4 days ago | parent | next [-] |
| The D language home page has something similar with a drop down with code examples https://dlang.org/ |
| |
| ▲ | Alifatisk 4 days ago | parent [-] | | I was about to mention Dlangs website aswell, very well designed and clearly presents the language | | |
| ▲ | vova_hn 4 days ago | parent [-] | | 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. [0] https://dlang.org/areas-of-d-usage.html | | |
| ▲ | Alifatisk 4 days ago | parent | next [-] | | 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. | |
| ▲ | 1980phipsi 2 days ago | parent | prev [-] | | If you don't file an issue, then no one will know to fix it. Took me literally three minutes to create a PR using the "Improve this page" button. https://github.com/dlang/dlang.org/pull/4277 |
|
|
|
|
| ▲ | voidUpdate 4 days ago | parent | prev | next [-] |
| 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 |
| |
| ▲ | johnisgood 4 days ago | parent [-] | | Yeah I think Nim's website is well-made. You can see the features / pros of the language, with many different (and IMO cool) examples. |
|
|
| ▲ | mvieira38 4 days ago | parent | prev | next [-] |
| It still looks great with Javascript off, 3rd party frames disabled and no remote fonts, too, for us privacy nuts |
|
| ▲ | whalesalad 4 days ago | parent | prev [-] |
| Nim feels like the perfect language to me. Keep meaning to give it a shot for something. |
| |
| ▲ | maleldil 4 days ago | parent | next [-] | | 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. | | |
| ▲ | archargelod 4 days ago | parent | next [-] | | 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] [1] - https://github.com/yugr/python-hate [2] - https://github.com/nim-lang/Nim/wiki/Nim-for-Python-Programm... | | |
| ▲ | maleldil 3 days ago | parent [-] | | 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? | | |
| ▲ | archargelod 3 days ago | parent | next [-] | | This is solved by tooling. LSP will get you to symbol definition in a single key press. That's a lot faster then looking it up manually. In my experience, it's even faster to git clone, open a project in neovim and navigate with LSP than browsing code with some online interface. | |
| ▲ | archargelod 3 days ago | parent | prev [-] | | > 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). |
|
| |
| ▲ | shiomiru 4 days ago | parent | prev [-] | | 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...) | | |
| ▲ | maleldil 3 days ago | parent [-] | | 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. | | |
| ▲ | shiomiru 3 days ago | parent [-] | | 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. |
|
|
| |
| ▲ | bargainbin 4 days ago | parent | prev [-] | | Highly recommend you give it a go! Good community, great libraries and the language itself is just bonkers performant without even trying. |
|