Live data from Hacker News

Nim Advocacy and Promotion Strategies

forum.nim-lang.org

21–30 of 59 posts

Re: Nim Advocacy and Promotion Strategies

#21
post #6

Alright, then show me! For example, the beginner tutorial was linked a while ago ( http://nim-lang.org/tut1.html ) and I wouldn't criticize it at all, because it's well written, but it doesn't show me why I would care about Nim when there are dozens of languages I could choose instead. It looks like Python, with a little more types. Fwiw, I'm also a language geek and my favorite language is Factor. If I wanted to eva…

Nim is like writing C at the speed of Python, and running Python at the speed of C.

If you took Python but made it perform blazingly fast, and made it suitable for the most demanding of embedded and systems programming applications, in addition to game dev, you'd get Nim.

If on the other hand you're satisfied with Python, then keep using it. It was trivial for me to port a Python elliptic curve implementation to Nim. I'd certainly recommend it over Cython, because Nim is simply designed as one complete system built for writing high performance applications with a sane syntax.

Statistics (on an x86_64 Intel Core2Quad Q9300):

    Lang    Time [ms]  Memory [KB]  Compile Time [ms]  Compressed Code [B]
    Nim          1400         1460                893                  486
    C++          1478         2717                774                  728
    D            1518         2388               1614                  669
    Rust         1623         2632               6735                  934
    Java         1874        24428                812                  778
    OCaml        2384         4496                125                  782
    Go           3116         1664                596                  618
    Haskell      3329         5268               3002                 1091
    LuaJit       3857         2368                  -                  519
    Lisp         8219        15876               1043                 1007
    Racket       8503       130284              24793                  741
https://github.com/def-/LPATHBench/blob/master/nim.nim

https://github.com/Araq/Nim/wiki/Nim-for-C-programmers

Re: Nim Advocacy and Promotion Strategies

#22

Maybe update the site design and logo? It looks very 2000's and could be a huge benefit.

An aesthetically nice website is a neutral or a negative signal when it comes to technical subjects, like computer languages. Content first, graphical design is completely secondary.

Just need to represent information about the technical subject clearly.

If the technical merits are there, adopters will come. Technical people are not baffled by $animal . $excrement. Instead, it puts them off.

Edit: I get downvoted a lot, but could someone prove me wrong? What technical concepts (like programming languages) got popular with help of nice graphical design?

Re: Nim Advocacy and Promotion Strategies

#23
post #15
post #9

Earlier quoted context omitted.

I am excited about Nim because it compiles to C that can run on an ARM microcontroller. I believe this was a possibility at some point, but I don't know if this is a priority for Araq. So (personally) I see it as a (potential) "C replacement for embedded systems".

Won't Rust and Go likely get there equally easy?

Nim compiles down to C and can produce code to run directly on bare metal. My understanding is that Go and Rust (to a lesser degree) require a runtime. Perhaps someone with better knowledge of all three languages could chime in.

Re: Nim Advocacy and Promotion Strategies

#24

I find it disturbing that languages are now adopting promotion strategies because not enough people are using them. For fuck's sake, focus on improving the language and this will come organically. This isn't a competition as to who has the most popular language, and the most popular languages are always going to be total shit. Just write good code, marketing departments are the bane of the entire IT sphere, you shoul…

Most of these suggestions are about how to make Nim more immediately useful to people, e.g. by being more focussed, making sure important libraries are well-optimised, etc. I think it's really good that they're asking, "why aren't more people using our language?". That seems like a great step towards improving it.

That's absolutely a laudable goal, it's simply the idea of a marketing department for a language that I find frustrating.

Re: Nim Advocacy and Promotion Strategies

#25
post #8

I am looking for a systems programming language that would work well with battle prooven GUI toolkits such as Qt. Would Nim be a good choice?

Writing Qt-flavored C++ was a lot of fun last I tried it (some five years ago). And now there's QML. Have you tried writing your entire project in Qt? It may be a smoother experience than you think.

I have some experience using C++ with both Qt and wxWidgets, but I am looking for an excuse to learn something new. And a systems language with Python inspired syntax and comparable expressiveness that is suitable for creating GUI apps is something that would definitely make me want to investigate Nim further.

Re: Nim Advocacy and Promotion Strategies

#26
post #25

Earlier quoted context omitted.

Writing Qt-flavored C++ was a lot of fun last I tried it (some five years ago). And now there's QML. Have you tried writing your entire project in Qt? It may be a smoother experience than you think.

I have some experience using C++ with both Qt and wxWidgets, but I am looking for an excuse to learn something new. And a systems language with Python inspired syntax and comparable expressiveness that is suitable for creating GUI apps is something that would definitely make me want to investigate Nim further.

You may be in luck: https://github.com/filcuc/NimQml

Re: Nim Advocacy and Promotion Strategies

#27
post #6

Alright, then show me! For example, the beginner tutorial was linked a while ago ( http://nim-lang.org/tut1.html ) and I wouldn't criticize it at all, because it's well written, but it doesn't show me why I would care about Nim when there are dozens of languages I could choose instead. It looks like Python, with a little more types. Fwiw, I'm also a language geek and my favorite language is Factor. If I wanted to eva…

> Nim: "no idea what to write here" That's a good point. One could try "faster, safer Python" here, but I agree that it should be discussed and made official, so that anyone seeing Nim's homepage would immediately know what it's about.

Main problems people have with Python are:

-very slow

-GIL

-not enough type checking

Nim fixes those while keeping things which attract people to Python in the first place. It should be enough of a selling point.

I write most of my code in C + Python (and sometimes in Python + C). For me Nim ticks all the boxes, even the minor ones (how syntax looks etc.). I can't wait to give it a try once I am done with my current project.

Re: Nim Advocacy and Promotion Strategies

#28
post #15

Earlier quoted context omitted.

Won't Rust and Go likely get there equally easy?

Nim compiles down to C and can produce code to run directly on bare metal. My understanding is that Go and Rust (to a lesser degree) require a runtime. Perhaps someone with better knowledge of all three languages could chime in.

Rust's runtime has been reduced to bounds-checking of array access, IIRC. So to a much lesser degree, and I believe Nim also provides this behavior by default.

Go is garbage collected and has an opinionated ABI and runtime. Completely different beasts.

Re: Nim Advocacy and Promotion Strategies

#29
post #22

Maybe update the site design and logo? It looks very 2000's and could be a huge benefit.

An aesthetically nice website is a neutral or a negative signal when it comes to technical subjects, like computer languages. Content first, graphical design is completely secondary. Just need to represent information about the technical subject clearly. If the technical merits are there, adopters will come. Technical people are not baffled by $animal . $excrement. Instead, it puts them off. Edit: I get downvoted a l…

That kind of thinking will only prevent adoption, not help it.

Aesthetics are important to technical subjects as well. It shows that a lot of time and consideration have gone into every part of the project, not just the technical side. It's also a good sign of community support/interaction. I will agree that content is the most important, but you shouldn't write off aesthetics so easily, especially when you want people to be interested and adopt your technology.

Re: Nim Advocacy and Promotion Strategies

#30

Earlier quoted context omitted.

Most of these suggestions are about how to make Nim more immediately useful to people, e.g. by being more focussed, making sure important libraries are well-optimised, etc. I think it's really good that they're asking, "why aren't more people using our language?". That seems like a great step towards improving it.

That's absolutely a laudable goal, it's simply the idea of a marketing department for a language that I find frustrating.

As reasonable as that is, "if you build it, they will come", is a myth. Say you have an excellent product, and I would absolutely say Nim is excellent. With priority #1 out of the way, you have to speak up for yourself.
Post reply on HN