Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Nimrod 0.9.2 released (nimrod-code.org)
39 points by p0nce on May 21, 2013 | hide | past | favorite | 14 comments


An apparently decent language with a soft real-time GC. Interesting. Macros, type system and sane syntax are nice bonuses.


This would look to me most useful as a sort of C++ replacement, for systems programming.

It has a nice big Standard Libary[1], and seems to have good tools for using compiled libaries, and generally interop with C++[2], which would be important if you wanted to use if for that.

We have a large C++ codebase, and I'd sometimes like to use a higher level language like this to knit it together. But I'm not convinced this is better than the alternatives.

[1]http://nimrod-code.org/lib.html [2]http://nimrod-code.org/nimrodc.html#importcpp-pragma


I've had the Nimrod homepage sitting on my favorites toolbar for months; a previous HN post had me interested in giving it a spin. Does anyone have suggestions on approaching development in a work-in-progress language? Do most people build toys or try to contribute a useful library right off the bat?


Perhaps I can give you some useful nimrod-specific advice as I myself have created many Nimrod projects[1][2][3]. The best thing to do is to keep up to date on what's happening in the Nimrod world, breaking changes are rare but when they do happen they are announced in the changelog on the Nimrod website and in the Nimrod repo on github, IRC is also a good way to stay up to date. I started my contributions to Nimrod by basically writing and improving the standard library as well as creating random fun toy projects. I've also seen other people learning the language by contributing to all sorts of Nimrod projects on github, mainly my Aporia repo which includes a todo list and is generally pretty easy to modify as it's still quite small.

[1] https://github.com/nimrod-code/Aporia [2] https://github.com/nimrod-code/nimbuild [3] https://github.com/dom96/jester


This seems naïve: "A character is not an Unicode character but a single byte."

Disappointing from a developer who presumably types several ü characters each day.


http://nimrod-code.org/manual.html#character-type

In particular:

> The TRune type is used for Unicode characters, it can represent any Unicode character. TRune is declared in the unicode module.


Ok, lets see: UTF-16 strings encourage bugs with surrogates. Note that most C# and Java code is notoriously broken wrt those and yet I never hear anybody complain about it.

UTF-32 strings roughly take up 4x more memory than UTF-8 strings and yet hardly solve anything: The proper toUpper("ß") used to be "SS" in German (nowadays there is an upper cased 'ß'). Other languages have other rules; i18n is hard, get used to it.

IMO Nimrod's UTF-8 strings at least make the programming errors easier to spot instead of the "mostly working but fails for edge cases" style that UTF-16 or UTF-32 encourage.


The ü character is hex81 in extended ASCII and hexFC in Latin-1 (ISO8859-1). Both very common 1 byte fixed encodings.

Unicode support is provided in the standard library.


Compiled, no runtime, static typed and Python-like syntax - this is pretty much my wish list for a new language.


It's actually more of a Pascal like syntax (imho). It took me quite a while to get used to some of the more interesting bits...

Most surprising things I've found so far are allocation by reference (new(your_variable)) and a "return variable" (result).


A possible way out of Java 6 language level stagnation on Android.


If you really want to beat Java language stagnation on Android, I would suggest Kotlin. You can create a Kotlin-based Android project with zero effort using IntelliJ (and, presumably, the new Android Studio).

http://kotlin.jetbrains.org/


Yes, that has occurred me today, now that Google is migrating to InteliJ.

Currently I am actually also looking into C++ (I do like it to certain extent) as it also allows me to target other platforms.


I'm pretty excited about the type inference and the simple syntax for doing normal things.

I really like the package management of npm and Node and the amount of packages (~30000).

So this may just annoy you, but is anyone planning to make a way to run Node.js modules, or a way to convert Node.js code?

Or is there at least a package manager like npm planned?

edit Oh I see there is a JS back end.

How does the performance of a nimrod dict-like type compare with V8's object properties?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: