Live data from Hacker News

Nim 0.13.0 has been released

nim-lang.org

71–80 of 80 posts

Re: Nim 0.13.0 has been released

#71

Earlier quoted context omitted.

I like everything Andreas did differently from Python, except the unusual normalization rules for variable names. This is crazy: VariableName == variable_name == VaRiAbLe_NaMe

I brought it up recently in the #nim irc channel, trying to get a good explanation. The creator still seemed to think it was a good idea, and I could not convince him otherwise.

There are actually good reasons to reject similar variable names in general. They are a no-go in scripting languages. Fortunately the Nim compiler catches typos.

http://blog.codinghorror.com/the-case-for-case-insensitivity...

Re: Nim 0.13.0 has been released

#72
post #27

Earlier quoted context omitted.

> In general (not all the time, but often), things that look different should be different Case-sensitivity is the opposite though: it's making two things that look the same be different. I could maybe support a rule (or even just a linter) that each variable had to be written in a consistent case throughout the project, but two different variables that differ only in case should definitely be disallowed, IMO. > It w…

> Case-sensitivity is the opposite though: it's making two things that look the same be different. No it isn't. fooBar and foo_bar have the same words in them, but they look very different.

Well, sure, because one is before the "and", and one is after it. Not the difference you meant? There are all kinds of differences, but kids usually learn to mostly ignore casing (in English) for meaning when learning to read, and programming makes them unlearn that rule. There are three exceptions (that I think of offhand): starting a sentence, trademarks and acronyms, and proper nouns. The first two don't usually change the meaning much or at all, and the last is pretty much Python's class/instance rule (except reversed).

Re: Nim 0.13.0 has been released

#73

Earlier quoted context omitted.

> Case-sensitivity is the opposite though: it's making two things that look the same be different. No it isn't. fooBar and foo_bar have the same words in them, but they look very different.

Well, sure, because one is before the "and", and one is after it. Not the difference you meant? There are all kinds of differences, but kids usually learn to mostly ignore casing (in English) for meaning when learning to read, and programming makes them unlearn that rule. There are three exceptions (that I think of offhand): starting a sentence, trademarks and acronyms, and proper nouns. The first two don't usually c…

The thing is, variable names are more akin to proper nouns. They're not words, they're names.

Re: Nim 0.13.0 has been released

#74
post #42

Earlier quoted context omitted.

I've been programming Python for a living for the last 8 years or so. In Python there is a convention for naming classes with `CamelCase` and instances with `snake_case`. I could do that in a case insensitive language, but I can't do this in Nim because it is not only case insensitive, it violates the "principle of least astonishment" by normalizing variable names in a way that makes `FooBar` equivalent to `foo_bar`…

If I understand you correctly, the convention is basically the following, right? class FooBar(): pass foo_bar = FooBar() The equivalent in Nim: type FooBar = object var foo_bar = FooBar() Compiles and runs perfectly fine. How can this be the case? Well, the identifier equality rules in Nim have changed a while back, to make the first letter of every identifier case sensitive. So, FooBar == Foo_Bar == Foobar, but fooB…

You are right. Nim is not case insensitive anymore, it is case sensitive for the first letter. But in my defense, the last time I checked it used to be! Quoting from the wayback machine:

> Nimrod is a style-insensitive language. This means that it is not case-sensitive and even underscores are ignored: type is a reserved word, and so is TYPE or T_Y_P_E. The idea behind this is that this allows programmers to use their own preferred spelling style and libraries written by different programmers cannot use incompatible conventions.

Re: Nim 0.13.0 has been released

#75
post #66
post #65

Earlier quoted context omitted.

Ah, sorry that I assumed it was all Araq's doing. Here's my feedback: I see no way to keep track of threads I've posted in, or threads I am interested in, or get notifications when people reply. That would be the most important thing. Maybe I'm missing something, because right now I read down the list of subjects for threads I'm interested in, and look for whether the most recent responder is different from who I rem…

There is a syntax cheatsheet link under the text entry for forum posts. Since its still not a huge forum, adding notifications would create a lot of overhead and I'm not sure it is that much better than looking for your icon in the threads and using the fact that threads are ordered by most recent posts. At this point it seems unnecessary. If you have ideas for improving it though you can make a PR: https://github.co…

Remember how I said this software was an example of Not Invented Here? This means that when you ask for my feedback and then switch the topic to the classic open-source defense of "so fix it yourself", I'm even less likely than usual to comply.

The Nim community's attempt to write a forum from scratch has left them with a deficient forum, and I've explained some reasons why. I took your request for feedback seriously, so you should take my feedback seriously.

Re: Nim 0.13.0 has been released

#77
post #75
post #66

Earlier quoted context omitted.

There is a syntax cheatsheet link under the text entry for forum posts. Since its still not a huge forum, adding notifications would create a lot of overhead and I'm not sure it is that much better than looking for your icon in the threads and using the fact that threads are ordered by most recent posts. At this point it seems unnecessary. If you have ideas for improving it though you can make a PR: https://github.co…

Remember how I said this software was an example of Not Invented Here? This means that when you ask for my feedback and then switch the topic to the classic open-source defense of "so fix it yourself", I'm even less likely than usual to comply. The Nim community's attempt to write a forum from scratch has left them with a deficient forum, and I've explained some reasons why. I took your request for feedback seriously…

I don't represent the other guys who actually built Nim and the forum, I only played with Nim a little bit and am a fan. I feel like the forum is ok. Notifications would be interesting to work on but I have two other projects besides my day job and haven't had time to play with Nim for months. Not sure where all the salt is coming from.

Re: Nim 0.13.0 has been released

#78
post #65
post #60

Earlier quoted context omitted.

As somebody who has written most of the Nim Forum, I'm really sad to hear that. I appreciate good feedback though. What would you say should be improved in the forum to make it less painful to use?

Ah, sorry that I assumed it was all Araq's doing. Here's my feedback: I see no way to keep track of threads I've posted in, or threads I am interested in, or get notifications when people reply. That would be the most important thing. Maybe I'm missing something, because right now I read down the list of subjects for threads I'm interested in, and look for whether the most recent responder is different from who I rem…

Thank you for your feedback!

Notifications are indeed on my to do list. As well as a more accessible RST reference, right when you're replying/creating a new thread. The RST syntax on the forum supports the GitHub-flavored ```lang ... ``` code blocks, and many people don't realise that.

Your other points are also valid.

But now let me give you the Nim communities perspective. Why did we decide to write our own forum? Well, for three reasons:

1. The old forum used phpBB which is horrible. When the Nim forum was initially written, the "nice" forum software didn't exist (Discourse).

2. (Kind of a continuation of 1) popular forum software was always spammed to death by bots, because of the software's popularity those bots were far more prevalent. It was our belief that a custom forum would have a lower chance of getting spam, and we are mostly right about that.

3. We want to test Nim. The amount of bugs that the development of the Nim Forum (as well as Jester which the forum uses) uncovered is phenomenal. The Nim forum is also a showcase of what Nim can do, and I think that's important.

What I find puzzling though, is the fact that many of your points could also be said about Hacker News. Hacker News has no notifications, no friendly GitHub-flavored Markdown syntax and also has awkward little buttons (the upvote/downvote on mobile is irritating). Yet it thrives and you yourself use it.

Re: Nim 0.13.0 has been released

#79
post #60

Earlier quoted context omitted.

As somebody who has written most of the Nim Forum, I'm really sad to hear that. I appreciate good feedback though. What would you say should be improved in the forum to make it less painful to use?

Not the parent, but: I disagree and think it's very good — much better than your average phpBB ugliness. But I would cut down on the pagination. 10 comments per page is insane on even small devices. A 70-comment thread (not long even by HN standards) means 10 page jumps. Those really mess with your ability to follow anything. I've not participated, but if I reply to something, do I then "follow" that thread, so I can…

Thank you for the feedback. Glad to hear that you think it's good :)

Will definitely cut down on the pagination. Reply notifications are still not implemented but are on my todo list.

Re: Nim 0.13.0 has been released

#80
post #57

Earlier quoted context omitted.

Interesting. In the UK, the word Nimrod is recognised (if at all) as a piece of classical music by the British composer Edward Elgar (from his work Enigma Variations) https://www.youtube.com/watch?v=sUgoBb8m1eE

There were also RAF Nimrod planes, IIRC.

Named after the ship Nimrod, that was Shackelton's ship for his 1908 South Pole attempt.

The Hawker Siddley Nimrods replaced the older Avro Shackeltons that were ultimately derivatives of the Lancaster.

Post reply on HN