[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)