Nim 2.0 – Thoughts

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • py2many

    Transpiler of Python to many other languages

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Edith

    Discontinued Electronic Design in Swithft

  • This sounds cool, I would be very interested if you had any public code. It’s _very_ early days but I’m working on a similar project in Swift: https://github.com/circt/Edith

  • cligen

    Nim library to infer/generate command-line-interfaces / option / argument parsing; Docs at

  • First, I like that you said "multicores" and not "multithreads". Default-sharing of all memory is overrated. Sometimes it is useful/necessary, but people reach for threads too readily, IMO.

    For multiprocessing (like Python's module of that name), you can roll your own little system in probably 100 lines of code or use something like this [1] with an example program [2]. For me, that toy program runs 1.5-2x faster than ripgrep on the same (admittedly limited) problem on Linux. { I suspect this perf diff is due to mmap IO being faster than syscall IO due to SIMD register use as discussed here [3], but this deserves deeper investigation than I have time for right now. It may constitute further argumentative support for not leaping to threads even if the programming language "makes them 'easy'", though. }

    As for threads/parallelism with shared memory in Nim..Honestly, there is probably too much to recap. Weave [4] would be a good place to start reading, though, or searching the Nim Forum.

      [1] https://github.com/c-blake/cligen/blob/master/cligen/procpool.nim

  • weave

    A state-of-the-art multithreading runtime: message-passing based, fast, scalable, ultra-low overhead (by mratsim)

  • [4] https://github.com/mratsim/weave

  • httpbeast

    A highly performant, multi-threaded HTTP 1.1 server written in Nim.

  • GuildenStern

    Modular multithreading HTTP/1.1 + WebSocket server framework

  • lobster

    The Lobster Programming Language

  • If you want a statically typed language with Python-alike syntax but Nim is too "noisy" for you, then Lobster (http://strlen.com/lobster/) is likely spot-on.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Maybe Everything Is a Coroutine

    3 projects | news.ycombinator.com | 14 Feb 2024
  • Rouille, a Rust web micro-framework

    1 project | news.ycombinator.com | 29 Dec 2023
  • Would you consider Rails as stable nowadays ?

    2 projects | /r/rails | 8 Dec 2023
  • sero - self hosted surge.sh analog

    2 projects | /r/SideProject | 4 Nov 2023
  • Configuration Driven API Integration Development

    1 project | /r/node | 27 Sep 2023