[HN Gopher] Ask HN: What less-popular systems programming langua...
       ___________________________________________________________________
        
       Ask HN: What less-popular systems programming language are you
       using?
        
       Less popular or less commonly used ones.  By that, I mean, not
       including the usual suspects, such as C, C++, Rust and Go (I know
       the controversy about the last one being a systems programming
       language or not).  I'm asking this because I used C for both
       application programming and systems programming, early in my
       career, before I moved to using other languages such as Java and
       Python.  And of late, I've been wanting to get back to doing some
       systems programming, but preferably in a more modern language (than
       C) which is meant for that.
        
       Author : fuzztester
       Score  : 16 points
       Date   : 2025-03-01 20:11 UTC (2 hours ago)
        
       | Jtsummers wrote:
       | Not presently, but not long ago, Fortran and Ada. I still like
       | Ada better than the alternatives, especially as it's changed this
       | past couple decades. I find it hard to miss Fortran, though. I'd
       | consider it for scientific computing and that's about it, which
       | isn't my present domain.
        
         | fuzztester wrote:
         | Interesting, thanks.
         | 
         | Did you ever check out Eiffel for systems programming work?
         | 
         | I had been checking it out some years ago, and apart from the
         | general points about it, one use of it that I found interesting
         | was in an article about using it for creating HP printer
         | drivers. The author had mentioned some concrete benefits that
         | they found from using it for that purpose.
         | 
         | Edit: I searched for that article, and found it:
         | 
         | Eiffel for embedded systems at Hewlett-Packard:
         | 
         | https://archive.eiffel.com/eiffel/projects/hp/creel.html
        
           | Jtsummers wrote:
           | I learned it once long ago, but never used it for anything
           | other than that learning experience. I did like its concepts,
           | though the language itself didn't quite stick with me.
        
         | quanto wrote:
         | How would Fortran be used other than numerics/scientific
         | computing?
        
           | Jtsummers wrote:
           | This was in an embedded systems context, I came on later but
           | it was what most of the core system was written in. It's been
           | used in a lot of avionics systems over the years.
        
           | fuzztester wrote:
           | not a direct answer to your question, but the use in the
           | domain you mentioned itself, is huge.
           | 
           | from the Wikipedia article about Fortran, under the Science
           | and Engineering section:
           | 
           | https://en.m.wikipedia.org/wiki/Fortran
           | 
           | Although a 1968 journal article by the authors of BASIC
           | already described FORTRAN as "old-fashioned",[58] programs
           | have been written in Fortran for many decades and there is a
           | vast body of Fortran software in daily use throughout the
           | scientific and engineering communities.[59] Jay Pasachoff
           | wrote in 1984 that "physics and astronomy students simply
           | have to learn FORTRAN. So much exists in FORTRAN that it
           | seems unlikely that scientists will change to Pascal,
           | Modula-2, or whatever."[60] In 1993, Cecil E. Leith called
           | FORTRAN the "mother tongue of scientific computing", adding
           | that its replacement by any other possible language "may
           | remain a forlorn hope".[61]
           | 
           | It is the primary language for some of the most intensive
           | super-computing tasks, such as in astronomy, climate
           | modeling, computational chemistry, computational economics,
           | computational fluid dynamics, computational physics, data
           | analysis,[62] hydrological modeling, numerical linear algebra
           | and numerical libraries (LAPACK, IMSL and NAG), optimization,
           | satellite simulation, structural engineering, and weather
           | prediction.[63] Many of the floating-point benchmarks to
           | gauge the performance of new computer processors, such as the
           | floating-point components of the SPEC benchmarks (e.g.,
           | CFP2006, CFP2017) are written in Fortran. Math algorithms are
           | well documented in Numerical Recipes.
        
       | pyjarrett wrote:
       | Ada
       | 
       | The open source tooling has significantly improved since I
       | started using it in the last five years.
        
       | artemonster wrote:
       | Tried trying zig, but was baffled by all the allocator dance you
       | need to do and asking nicely to access a list (catching potential
       | exceptions?) Tried odin, but the tooling is very raw. Tried rust,
       | didnt want to try to please borrow checker that distracts me from
       | my thoughts.
       | 
       | Idk, if someone just reinvents clean C without the nonsense
       | garbage with some modules and package manager this will be a huge
       | win. Let me access my null pointers, let me leak memory, just get
       | the hell out of my way and let me program and hold my hand only
       | where I want it to be held - sane types that give me refactoring,
       | code completion and code understanding, modules with imports. Let
       | compiler give sane error messages instead of this cryptic c++
       | garbage. Is this too much to ask?
        
         | feelamee wrote:
         | looks like zig is exactly what you want. Difference only in
         | std. C prefer global allocator, while zig ask it explicitly.
         | 
         | So, if only there is std with implicit allocators?
        
         | flowerthoughts wrote:
         | I also had a brief look at Zig for writing a WASM module, but
         | settled for Rust. I had no real gripes with the language, but
         | the spartan documentation made making progress into a slog.
         | 
         | I wouldn't mind a "better C" that could use an LLM for static
         | code analysis while I was coding. I.e. be more strict about
         | typing, perhaps. Get out of my way, but please inform me if I
         | need more coffee.
        
       | giancarlostoro wrote:
       | Every now and then Freepascal with Lazarus but the same bug being
       | in the IDE for ten years plus kind of annoys me. If I save a new
       | project and I move any files around it does weird stuff, or if I
       | rename a module.
       | 
       | Theres also D but finding libraries for whatever I want to work
       | on proves problematic at times as well.
        
       | rubymamis wrote:
       | I'm considering Mojo.
        
       | xigoi wrote:
       | Nim, I love its "make simple things simple and complex things
       | possible" philosophy.
        
       | lopatin wrote:
       | I started using Idris a few years ago because the idea is
       | fascinating. Such as state machines in your type system, the size
       | of a list being defined in the static type system, even if the
       | list size changes over time (pretty mind blowing), etc..
       | 
       | But ultimately I realized that I'm not writing the type of
       | software which requires such strict verification. If I was
       | writing an internet protocol or something like that, I may reach
       | for it again.
        
       | netbioserror wrote:
       | Nim. Fantastic choice for modern headless software. Simple
       | obvious type system, preference for immutability and referential
       | transparency. Dynamic collections are by default managed by
       | hidden unique pointers on the stack. So the default RC isn't
       | necessary unless explicitly invoked for a ref type.
       | 
       | Currently solo managing a 30k line data analysis application I
       | built for my company. Easily fits in my head given the obvious
       | pyramidal functional-like structure. Maybe two lines of memory
       | semantics anywhere in the entire thing, and only one module
       | that's OO with a constrained scope. Lots of static data files
       | (style sheets, fonts) slurped up as const strings at compile
       | time. Incredible performance. Invoked by our PHP server backend,
       | so instead of doing parallel or async in the analysis, the server
       | gets that through batch invocation.
       | 
       | Working stupid well for our product, plus I can easily compile
       | binaries that run on ARM and RISC-V chips for our embedded team
       | just by invoking the proper gcc backend.
       | 
       | Replaced an ailing and deliberately obfuscated 20 year old jumble
       | of C and PHP designed to extort an IP settlement from my company.
       | Did it in a year.
        
       | atemerev wrote:
       | D and Crystal always fascinate me. And if Go is a system
       | language, Erlang and Common Lisp are even more so.
        
       | nuudlman wrote:
       | Take a look at Pony https://www.ponylang.io/
        
       ___________________________________________________________________
       (page generated 2025-03-01 23:01 UTC)