Nim programming language finally hit 1.0
Chris
wendlec at tcd.ie
Wed Oct 9 14:00:46 UTC 2019
On Wednesday, 9 October 2019 at 13:52:18 UTC, IGotD- wrote:
> One Achilles heel of Nim is that it compiles via C or C++. This
> means in a debugging environment you will be watching the
> environment of the intermediate language. There workarounds for
> this described here.
>
> https://nim-lang.org/blog/2017/10/02/documenting-profiling-and-debugging-nim-code.html#using-gdb-lldb
>
> However, this doesn't solve everything. Also all the variable
> are intermixed with generated symbols, probably with some ugly
> hash added to it. Languages that directly compiles to the
> target like D will give a better debugging environment.
>
> There is a attempt make Nim compile via LLVM instead.
>
> https://github.com/arnetheduck/nlvm
>
> not sure if it is in any productive state yet. Also Nim seems
> to allow C to intermix and all sorts of built in C features
> that will not work when going via LLVM. Trying to merge Nim
> with C features is a bad decision in my opinion.
There are some things I'm not happy with either. But I think, as
has been mentioned before, the purpose of Nim is to be a "native
Python", i.e. it produces fast native stand alone binaries and
you don't need Cython or an interpreter (Nim does that in one
go). So the route via C/C++ seems acceptable from Nim's point of
view. As I have no real world experience with Nim, I don't know
how often you'll actually need to go low-level when debugging.
More information about the Digitalmars-d
mailing list