I’ve been researching programming languages to find a good, high level language that compiles to a single binary that is preferably pretty small. After tons of research, I landed on Nim and used it to make a quick txt parser for a project I’m doing.

Nim seems absolutely fantastic. Despite being sold as a systems programming language, it feels like Python without any of its drawbacks (it’s fast, statically typed, etc.) - and the text parser I made is only a 50kb binary!

Has anyone here tried Nim? What’s your experience with it? Are there any hidden downsides aside from being kinda unpopular?


Bonus: I want to give a shoutout to how easy it is to open a text file and parse it line-by-line in this language. Look at how simple and elegant this syntax is:

import os

if paramCount() == 0:
  quit("No file given as argument", 1)

let filepath = paramStr(1)

if not fileExists(filepath):
  quit("File not found: " & filepath, 1)

for line in lines(filepath):
  echo line
  • bitcrafter@programming.dev
    link
    fedilink
    arrow-up
    7
    arrow-down
    4
    ·
    2 days ago

    I spend a huge amount of time working with Python and regularly do things like refactoring and do not run into all of this pain that supposedly exists, and never have. I think that you should stop speaking on behalf of “everyone”.

        • atzanteol@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          1
          ·
          edit-2
          2 days ago

          The best argument I’ve heard for whitespace blocking is “it’s not that bad when you get your text editor configured”. That’s an excuse, not a reason.

          • hikaru755@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            1 day ago

            Idk know what editor you’re using, but it worked perfectly fine out of the box with IntelliJ. Nothing compared to the hassle of setting up a proper Eslint setup for typescript, honestly.

            And I’m not trying to defend python here, I don’t touch that language except under duress, and I do prefer C-style code blocks as well. But this is kind of a pointless argument.

          • bitcrafter@programming.dev
            link
            fedilink
            arrow-up
            2
            arrow-down
            4
            ·
            2 days ago

            A text editor that indents a block when you press “tab” is not hard to find and takes all of 30 seconds to set up.