from Hacker News

Ask HN: What do you want to see in a systems programming language?

by rpnx on 11/15/23, 8:36 PM with 22 comments

I am working on a new systems programming language, similar to C++ with syntax that somewhat resembles Go or LLVM in some ways. While it isnt quite ready (at least a month away from alpha release), I am curious what features are the most desired in a systems programming language. I'd like to get inspiration for new language features. Pain points with C++, Rust, C, Zig etc.. What you like, don't like, etc.
  • by simonblack on 11/15/23, 9:37 PM

    A quick and easy way to add peripherals.

    That's more than just device-drivers, you have to work out a consistent interface between the 'system' and all of the peripherals, rather than looking at the individual interactions of the system with individual peripherals.

    In a way, you need something like the UNIX concept of 'everything is a file'. (Only more so.)

    My hobby is writing emulators for real machines from the past. Most of my effort is in emulating the peripherals interactions with the CPU and RAM.

    I have recently been looking at minicomputers of the 1970s. They seem to have had the concept of the peripheral doing all the work, with the 'system' merely 'asking a limited number of code questions' and the system 'getting a limited number of answers' from the peripherals.

  • by billconan on 11/15/23, 8:43 PM

    I want documentation, especially block diagram be the first class citizen of a programming language, such that parsing the code will generate project visualizations that can help me understand the big picture.
  • by mikewarot on 11/16/23, 10:47 AM

    A same way to handle strings, or return a complex structure without having to preallocate a buffer to write into, etc.

    Clear semantics for dealing with threads and multiple cores.

    Static type checking

  • by efferifick on 11/17/23, 1:15 PM

    I will be in the minority here, but:

    Native integration with Datalog.

    Many times, I find myself working on a program and I realize that what I need is a database. But having a database, even sqlite3 or Berkely DB, would be an overkill. If I could just express my data and the relationships between them, then I would be able to query what I need in an efficient way.

  • by AlectronikLabs on 11/19/23, 2:02 AM

    I would love to see a systems programming language with classes which were usable on bare metal, like with c++ and unlike e.g. D or free pascal where a runtime is required.

    Any homepage of your project @OP to check for the alpha?

  • by tomcam on 11/16/23, 10:32 PM

    A debugger
  • by b20000 on 11/16/23, 3:42 AM

    i never heard the term “systems programming language” before. is that a FAANG invention?