Re:Nim Programming Language v0.15.0 released
by qwertyuiop924 on Saturday October 01, 2016 @05:21PM
(#12619940)
As I said last time this argument came up, you can write INTERCAL in any language. And ultimately, and language that tries to make it hard to write bad code (ada, Java, Pascal, etc.) merely walls off one option. There are always other ways to write code badly (frequently, by making it overly baroque. My rule of thumb as to make the code as simple as you can get away with, avoid doing anything obviously stupid, and fix anything that goes wrong. I'm not in industry yet, so I can get away with it).
Re:Nim Programming Language v0.15.0 released
by dom96 on Saturday October 01, 2016 @12:33PM
(#12618570)
> Nimble file naming [0]. It must end in '.nimble', and must have at least character in front of that suffix, but the prefix doesn't actually matter.
It does now. The new NimScript .nimble format[1] uses this prefix to determine the name of the package.
1 - https://github.com/nim-lang/nimble#the-new-nimscript-format
> For instance?
Nimble file naming [0]. It must end in '.nimble', and must have at least character in front of that suffix, but the prefix doesn't actually matter.
I'm not convinced on the maintainability argument. Many, many projects have a coding style guide. LISPs require one too. Once you have one, maintaining the code becomes as difficult as any other language. I've encountered unmaintainable Python code [1], and insanely well documented Scheme code [2]. I'm not sure the language has much to do with it, apart from supporting a wide range of paradigms and patterns.
I'm not sure black-boxing through use of a sophisticated framework is any better than the way you work in more flexible languages.
Here's my take:
* Nim is great. The use of the 'auto' keyword let me be productive using it.
* Scheme is great. It lets me do insane things, and the compiler will optimise it to work, and well. (Rather than breaking three similar function into pieces, I can make one function that generates all three functions using their commonalities).
* Java is the smart kid at college who always answers questions in the form of a thesis. He isn't wrong, but you don't really remember what he was saying.
[0] https://github.com/nim-lang/nimble/issues/166
[1] Hence why things like this exist: http://docs.python-guide.org/en/latest/writing/structure/
[2] http://cvs.savannah.gnu.org/viewvc/slib/slib/alist.scm?revis...