TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: What less-popular systems programming language are you using?

287 点作者 fuzztester2 个月前
Less popular or less commonly used ones.<p>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).<p>I&#x27;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.<p>And of late, I&#x27;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.

107 条评论

yellowapple2 个月前
I&#x27;ve pretty much settled on Zig at this point, if only for how dead-simple it is to cross-compile for other hardware platforms. The process of compiling working code for oddball platforms (in my case the Nintendo 64) was <i>way</i> easier than I expected it to be.<p>The only downside is the stdlib being as fast-moving of a target as it is. Right now I&#x27;ve had to put a pin on getting panic stack traces to work on my N64 code because apparently the upcoming release changes a bunch of stuff around panic&#x2F;stacktrace handling (and it&#x27;s already changed quite a bit over the years even before these new changes).
评论 #43251260 未加载
评论 #43251231 未加载
评论 #43255518 未加载
评论 #43249556 未加载
评论 #43256005 未加载
creakingstairs2 个月前
I&#x27;ve been using Odin [1] for my hobby game development and I&#x27;ve been liking it a lot. Feels like a more ergonomic C.<p>Things I like:<p>- Vendor libraries like Raylib and MicroUI make it easy to get started<p>- I can pass around memory allocators and loggers implicitly using context, or explicitly if I need to.<p>- natively supports vector math and swizzling<p>- error handling with `or_else` and `or_return`<p>Things I don&#x27;t like:<p>- Name spacing is a bit annoying. The convention is to prefix the procedures but I don&#x27;t like how they look. It really isn&#x27;t a big issue.<p>Have a quick read of the overview and if you are still interested, I highly recommand &#x27;Understanding the Odin Programming Language&#x27; book by Karl Zylinski [2]<p>[1] <a href="https:&#x2F;&#x2F;odin-lang.org&#x2F;docs&#x2F;overview&#x2F;" rel="nofollow">https:&#x2F;&#x2F;odin-lang.org&#x2F;docs&#x2F;overview&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;odinbook.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;odinbook.com&#x2F;</a>
评论 #43251328 未加载
chris_armstrong2 个月前
OCaml<p>The compiler is very fast, even over large codebases.<p>Mostly trying to bring AWS tooling to the platform[1], or experimenting with cross-compilation[2] using another less well known systems language, zig.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;chris-armstrong&#x2F;smaws&#x2F;">https:&#x2F;&#x2F;github.com&#x2F;chris-armstrong&#x2F;smaws&#x2F;</a> [2] <a href="https:&#x2F;&#x2F;github.com&#x2F;chris-armstrong&#x2F;opam-cross-lambda">https:&#x2F;&#x2F;github.com&#x2F;chris-armstrong&#x2F;opam-cross-lambda</a>
评论 #43255285 未加载
评论 #43253399 未加载
评论 #43259652 未加载
评论 #43257722 未加载
评论 #43252642 未加载
评论 #43257978 未加载
评论 #43258734 未加载
seanw4442 个月前
My two recommendations are easily Nim and Zig.<p>If you want something that is essentially just a modernized C, go with Zig. The concept of compile-time programming having the same appearance as runtime programming is very cool in my opinion. My only major complaint at the moment is that duck typing is fairly prevalent. Sometimes function arguments are declared `anytype` and you occasionally have to dive down multiple function calls to figure out what&#x27;s going on, though that&#x27;s not too much of a hindrance in practice, in my experience.<p>My personal favorite language is Nim. Efficient, but simple, memory management (drawing from C++&#x2F;Rust). You rarely have to think too hard about it, yet making fast programs is not complicated. You can stick to the stack when you want to. The flexibility at compile-time gives you great power (but it requires great responsibility -- easy to abuse in a bad way). The type system is awesome. The only downside for me is the tooling. The LSP needs much optimization, for example.
评论 #43258627 未加载
评论 #43258149 未加载
评论 #43258724 未加载
评论 #43260418 未加载
kevlar7002 个月前
Loving Ada without using exceptions or inheritance on embedded and desktop. Some love Ada full OOP tagged types. I love Ada procedural style with privacy and abstract data types. I wish Flutter was written in Ada but atleast Dart is better than JavaScript atleast for procedural code without it&#x27;s oop boiler plate. You don&#x27;t actually need OOP for widgets.
评论 #43249494 未加载
评论 #43252217 未加载
评论 #43271080 未加载
评论 #43287511 未加载
评论 #43259372 未加载
mkovach2 个月前
Free Pascal, but I am interested in Ada and will be learning it more this year. I love the readability of the syntax, and on the outside looking in, the community seems good.<p>I have also moved back hard to using TCL as my scripting language. I like it too much, and bouncing between Python, Go, and such for DevOps glue tires me out.<p>For systems, I love using plan9 (9front) to solve problems, which grounds me to C, awk, sed, and the rc shell.
pjmlp2 个月前
That would be mix of D, Object Pascal, Swift, Ada, C#, Java.<p>A few decades ago plenty of Oberon dialects.<p>As language geek, I randomly select languages when doing hobby coding.<p>Regarding Go&#x27;s remark, even if I dislike Go&#x27;s authors decisions, back in my day writing compilers, linkers, firmware, networking stacks, and OS services was considered systems programming.<p>Likewise .NET team has been making wonders catching up to what C# 1.0 should have been for low level code, given its Delphi linage.<p>Java, in the context of being whole Android userspace, including drivers, there is very little systems exposed in the NDK. Vulkan is one of the few things not exposed to Java land, and that is being fixed with WebGPU like API in an upcoming version.
评论 #43253516 未加载
评论 #43251301 未加载
flohofwoe2 个月前
C99 ;) ...compared to &#x27;popular C&#x27; (which is essentially C89 plus some common extensions taken from early C++) C99&#x27;s main improvements (designated initialization and compound literals) haven&#x27;t really caught on yet even among many C programmers, but those features (IMHO) completely revolutionize the language, and especially library API design.<p>Also on a more serious note: I started some projects in Zig and even though most of my future projects will be built on a bedrock of C code, more and more of the top-level layers will happen in Zig.
评论 #43256557 未加载
评论 #43260609 未加载
评论 #43302613 未加载
gw22 个月前
C#. While a popular language, it is criminally overlooked for high-performance programming. Obviously, you can&#x27;t use it for embedded or kernel development. For other use cases though, it can almost reach the performance of C&#x2F;C++&#x2F;Rust when written with proper care.
评论 #43249335 未加载
评论 #43251139 未加载
评论 #43228559 未加载
评论 #43250197 未加载
评论 #43256698 未加载
评论 #43256660 未加载
Froedlich2 个月前
The only true &quot;system programming&quot; I&#x27;ve done was in Microsoft Macro Assembler, a product I grew to hate with a passion.<p>A non-answer, but tangentially relevant:<p>I once fiddled with Forth, but never actually accomplished anything with it.<p>Several OSs are written in Lisp; in some of them the difference between OS and application is a bit vague. At the time none of them were available to me to play with.<p>I discovered Oberon and fell in love. My first real programming language was Pascal, and Oberon is part of the same family. Oberon consisted of a compiler, operating system, user interface, application software, and tools, all self-hosted on Oberon. There was even an Oberon CPU at one time. But Oberon turned out to be just an academic curiosity, and wasn&#x27;t available for any hardware I had access to anyway.
评论 #43253188 未加载
评论 #43256967 未加载
gibsonf12 个月前
We have had a great experience using Common Lisp [1] for our causal space-time systems digital twin [2]<p>[1] <a href="http:&#x2F;&#x2F;sbcl.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;sbcl.org&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;graphmetrix.com&#x2F;trinpod-server" rel="nofollow">https:&#x2F;&#x2F;graphmetrix.com&#x2F;trinpod-server</a>
评论 #43256584 未加载
lopatin2 个月前
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..<p>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.
评论 #43250580 未加载
deevus2 个月前
I am currently contracted 3 days a week writing Zig. I can&#x27;t say much because NDA, but I just love working with Zig almost every day. I think for the right projects, it is such a great choice for mission critical software.<p>You get the added benefit of being able to easily consume C libraries without much fuss. The fuss is in navigating the C APIs of decades old libraries that we all still depend on every day.
评论 #43258597 未加载
评论 #43252337 未加载
评论 #43253151 未加载
sheepscreek2 个月前
F#! I’m in love with the language. It is my defacto pick for most things these days. Very expressive AND strongly typed. Being a part of the .Net ecosystem is also a plus.
评论 #43251828 未加载
评论 #43228614 未加载
giancarlostoro2 个月前
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.<p>Theres also D but finding libraries for whatever I want to work on proves problematic at times as well.
评论 #43225305 未加载
Terr_2 个月前
Using Elixir and Elm at my day job.<p>Coming from a more Python&#x2F;Java&#x2F;PHP&#x2F;JS background, Elixir was a lot easier to pick up and doesn&#x27;t frustrate me as much. Most of the remaining scary bits involve concurrency and process supervision trees.<p>Macros are powerful, but also easy to use in a way that makes everything hard to debug. For those unfamiliar with them, it&#x27;s a bit like a function except any expressions you call it with are not evaluated first, but arrive as metadata that can be used to assemble and run new code.
评论 #43253199 未加载
评论 #43250269 未加载
评论 #43278639 未加载
Rochus2 个月前
My major system programming languages are C and C++, but I did some projects in Oberon (which turned out to be not particularly suited for systems programming), and then created a modified, better suited version of it called Oberon+ (<a href="https:&#x2F;&#x2F;github.com&#x2F;rochus-keller&#x2F;Oberon">https:&#x2F;&#x2F;github.com&#x2F;rochus-keller&#x2F;Oberon</a>), which I e.g. used to create platform-independend versions of different Oberon System generations.<p>But Oberon+ is still too high-level for many system programming tasks. So I&#x27;m designing a new system programming language called Micron (for Micro Oberon, see <a href="https:&#x2F;&#x2F;github.com&#x2F;micron-language&#x2F;specification">https:&#x2F;&#x2F;github.com&#x2F;micron-language&#x2F;specification</a>) which has the full power of C without its disadvantages. You can even use it for the OS boot sequence when there is no stack and no heap, but also for higher-level application development, due to its selectable language levels.
pyjarrett2 个月前
Ada<p>The open source tooling has significantly improved since I started using it in the last five years.
Jtsummers2 个月前
Not presently, but not long ago, Fortran and Ada. I still like Ada better than the alternatives, especially as it&#x27;s changed this past couple decades. I find it hard to miss Fortran, though. I&#x27;d consider it for scientific computing and that&#x27;s about it, which isn&#x27;t my present domain.
评论 #43223554 未加载
评论 #43224020 未加载
atiedebee2 个月前
I recently dabbled in &quot;hare&quot; which was quite a nice experienced.<p>I liked how the language stayed pretty simple compared to other C-replacements. The standard library is also pretty nice. It is however an extremely niche language, but still quite capable
评论 #43256231 未加载
评论 #43251446 未加载
评论 #43252601 未加载
评论 #43260400 未加载
评论 #43252575 未加载
morphle2 个月前
Squeak[1], Cuis. Metacircular Smalltalk VM[2] written in itself. We sometimes call it SqueakNOS for &#x27;Squeak no operating system needed&#x27;.<p>[1] <a href="https:&#x2F;&#x2F;ftp.squeak.org&#x2F;docs&#x2F;OOPSLA.Squeak.html" rel="nofollow">https:&#x2F;&#x2F;ftp.squeak.org&#x2F;docs&#x2F;OOPSLA.Squeak.html</a><p>[2] <a href="https:&#x2F;&#x2F;tinlizzie.org&#x2F;VPRIPapers&#x2F;" rel="nofollow">https:&#x2F;&#x2F;tinlizzie.org&#x2F;VPRIPapers&#x2F;</a>
评论 #43254116 未加载
anta402 个月前
Pascal.<p>Sure these days not many folks write OS kernel in Pascal, but there are some, e.g: <a href="https:&#x2F;&#x2F;github.com&#x2F;torokernel&#x2F;torokernel">https:&#x2F;&#x2F;github.com&#x2F;torokernel&#x2F;torokernel</a><p>I once want to try Forth (perhaps there&#x27;s a Unix clone in Forth?), but seems like most folks using it are embedded&#x2F;hardware devs.
评论 #43235605 未加载
titzer2 个月前
These days I write nearly all my code in Virgil (<a href="https:&#x2F;&#x2F;github.com&#x2F;titzer&#x2F;virgil">https:&#x2F;&#x2F;github.com&#x2F;titzer&#x2F;virgil</a>).<p>It has features like classes, first-class functions, tuples, ADTs, unboxing, and a little data layout language, some unsafe features, like support for generating and integrating new machine code, and can talk directly to kernels.
xigoi2 个月前
Nim, I love its “make simple things simple and complex things possible” philosophy.
评论 #43234021 未加载
评论 #43249058 未加载
评论 #43225015 未加载
rganesan2 个月前
zig is coming along quite nicely. If you&#x27;ve not heard about zig, take a look at <a href="https:&#x2F;&#x2F;ghostty.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ghostty.org&#x2F;</a> (a terminal for Linux&#x2F;Mac and Windows in future), <a href="https:&#x2F;&#x2F;tigerbeetle.com" rel="nofollow">https:&#x2F;&#x2F;tigerbeetle.com</a> (a database for financial accounting) and <a href="http:&#x2F;&#x2F;bun.sh" rel="nofollow">http:&#x2F;&#x2F;bun.sh</a> (a modern, faster alternative to nodejs).
brigandish2 个月前
I’ve replaced Ruby as the “glue” language on my machine with Crystal, being able to plop out a binary and not worry about the myriad things that can go wrong with needing the entire environment to be perfect, including reinstalling gems for every version etc is such a relief. Bundler is just a frustrating sticky plaster over that.<p>I’d like to give Zig and Nim a go, but Go and Elixir are probably next on the list, simply because I have unread books for them staring at me.
评论 #43277302 未加载
ajdude2 个月前
I almost exclusively work in Ada for my hobby projects these days; It&#x27;s great for doing both high level and low level programming.
评论 #43227243 未加载
评论 #43250923 未加载
docandrew2 个月前
Ada for bigger projects, D for quick one-offs and more “scripty” work.
评论 #43236587 未加载
评论 #43259392 未加载
baddate2 个月前
Julia <a href="https:&#x2F;&#x2F;julialang.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;julialang.org&#x2F;</a>
评论 #43251204 未加载
kazinator2 个月前
I don&#x27;t work in Seed7 by Thomas Mertes but it deserves to be better known.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Seed7" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Seed7</a><p>It has a SourceForge page that actually doesn&#x27;t suck and you will not hate landing into, unlike almost anything else SourceForge:<p><a href="https:&#x2F;&#x2F;seed7.sourceforge.net&#x2F;" rel="nofollow">https:&#x2F;&#x2F;seed7.sourceforge.net&#x2F;</a><p>Though there is an old school SourceForge file area with tarballs, the project page also links to a GitHub repo.
netbioserror2 个月前
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&#x27;t necessary unless explicitly invoked for a ref type.<p>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&#x27;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.<p>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.<p>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.
评论 #43249541 未加载
kagevf2 个月前
OK, here&#x27;s a pretty niche blast from the past: the boo programming language. It ran on the CLR (.NET) and had syntax similar to python. I recall using it back around 2006 - 2008 because it offered scripting features for .NET on Windows.<p><a href="https:&#x2F;&#x2F;boo-language.github.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;boo-language.github.io&#x2F;</a> &quot;A scarily powerful language for .Net&quot;. I didn&#x27;t use it for too long before switching to Iron Python.
评论 #43251820 未加载
ptspts2 个月前
I do systems programming in i386 (32-bit) assembly language with NASM.<p>For me it doesn&#x27;t scale beyond a few dozen kilobytes (executable program file size) per program. For others (such as Chris Sawyer) assembly scales much better.
评论 #43252424 未加载
qingcharles2 个月前
If the support was still there I&#x27;d still be using VB.NET.<p>I&#x27;ve coded professionally in a dozen languages, including a lot of time in x86 assembler, C++ etc.<p>Still like VB.NET better than any other. To me, it was the most readable code.
评论 #43278690 未加载
评论 #43249584 未加载
ChrisMarshallNY2 个月前
I think that it depends on the system.<p>Firmware is probably still best done in C (sometimes, C++), mostly because so many SDKs, libraries, and toolkits are done in those languages. Also, there&#x27;s <i>decades</i> of &quot;prior art&quot; in C. Lots of places to look for solutions.<p>I worked on a project, where we tried using a <i>very</i> &quot;less-popular&quot; language for firmware.<p>It didn&#x27;t end well.<p>I&#x27;d say that being a &quot;Systems Programmer&quot; means that you are operating at a fairly &quot;advanced&quot; level, where the benefits of &quot;safer&quot; languages may be less of a factor, and the power of more &quot;dangerous&quot; languages is more attractive.<p>Of course, on HN, suggesting C or C++ is suggesting &quot;less popular&quot; languages...
评论 #43267352 未加载
评论 #43276199 未加载
artemonster2 个月前
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.<p>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?
评论 #43227379 未加载
评论 #43224237 未加载
评论 #43228779 未加载
评论 #43224162 未加载
评论 #43249938 未加载
评论 #43225439 未加载
eadmund2 个月前
Common Lisp. It offers powerful abstractions and high speed. I’m happy with it.
评论 #43268419 未加载
评论 #43252689 未加载
fuzztester2 个月前
commenting after seeing multiple comments here, after about a day.<p>first of all, thanks, guys, to all who replied. that&#x27;s a wealth of info to follow up on.<p>referring to the comments seen so far:<p>I considered mentioning (Free) Pascal, but thought of not doing it, because I thought it is nowadays too niche, even though it is one of my early programming language loves (forgetting that the title of my post says &quot;less popular languages&quot; :)<p>and I also didn&#x27;t think of Ada at all, somehow, although have been interested in it, too, lately, and have been checking out websites and blogs about it, and also have been searching hn.algolia.com for posts about it.<p>so it was cool to see multiple mentions of Ada here, by people who like and use it.
评论 #43249202 未加载
atemerev2 个月前
D and Crystal always fascinate me. And if Go is a system language, Erlang and Common Lisp are even more so.
评论 #43249960 未加载
评论 #43249988 未加载
purpleidea2 个月前
Using the `mcl` DSL language in <a href="https:&#x2F;&#x2F;github.com&#x2F;purpleidea&#x2F;mgmt&#x2F;">https:&#x2F;&#x2F;github.com&#x2F;purpleidea&#x2F;mgmt&#x2F;</a><p>It&#x27;s awesome. But I&#x27;m biased because I designed it.<p>You can&#x27;t build anything, but you can build many things much more easily. Particularly distributed systems.
namshe2 个月前
I will put in a plug for Mercury: <a href="https:&#x2F;&#x2F;mercurylang.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mercurylang.org&#x2F;</a>
评论 #43252000 未加载
评论 #43251540 未加载
creshal2 个月前
I like nim so far, but I have to admit I haven&#x27;t done all that much with it yet.
评论 #43251390 未加载
harry_ord2 个月前
Perl is kinda less popular now. I use that at work. Used to write perl6&#x2F;raku in my previous job, I loved the grammars made a nice way to try and Wirte an nginx configuration manager.
评论 #43251668 未加载
unquietwiki2 个月前
As the founder of r&#x2F;altprog on Reddit (been following random languages for 12 years now), my favorite &quot;alt&quot; language is Nim. It feels like Python &amp; Javascript had a baby that was C++. Wish it had lambda operators like C# and JS, but it does have the cool feature of defining your own language constructs.<p>Also, shoutouts to Zig, Crystal, and Ballerina: those are other interesting ones off the top of my head, that folks should look into.
anonymoushn2 个月前
I&#x27;ve been using Zig for nearly 4 years now. A lot of changes in that period were not great, but I haven&#x27;t really wanted to use anything else.
评论 #43251331 未加载
评论 #43251253 未加载
em-bee2 个月前
i don&#x27;t know if pike counts as a systems language, but i consider it an alternative to C, if only because it has good C integration so that you can easily include a module written in C. pikes syntax is also very close to C, which may be appealing to some (ironically that&#x27;s an aspect i don&#x27;t really care about myself)<p>if the question of go being a systems language is controversial, then pike is even more so. i would situate pike somewhere between python and go. pikes major drawback is that it doesn&#x27;t produce standalone executables.<p>the real question i&#x27;d like to ask is, what actually is a systems language?
mrweasel2 个月前
I&#x27;m not very good at using it, but every now and then try to do a small project in Chicken Scheme. Mostly I&#x27;m unsuccessful, but I enjoy the language a lot and have a great time using it.
hansvm2 个月前
I&#x27;ve been using Zig for years, and for the last year I&#x27;ve been using it at work. I&#x27;ve coded professionally in all the usual languages, but Zig does what I want much more easily.
keyle2 个月前
Have a look at hare. It&#x27;s got some interesting bits [1]<p>Also C3<p>[1] <a href="https:&#x2F;&#x2F;harelang.org" rel="nofollow">https:&#x2F;&#x2F;harelang.org</a><p>[2] <a href="https:&#x2F;&#x2F;c3-lang.org" rel="nofollow">https:&#x2F;&#x2F;c3-lang.org</a>
评论 #43255749 未加载
worthless-trash2 个月前
Fuzztester here is asking about system languages. I see a lot of people suggesting things I&#x27;d consider non systems languages.
评论 #43258756 未加载
whitehexagon2 个月前
I&#x27;m looking forward to getting back to Zig soon, especially now that there is support for Asahi linux.<p>I like that for low level SoC stuff, there is now the packed struct, which makes register representation very nice to deal with, especially with the definable int types, although I&#x27;m often torn between a u1, bool and sometimes even a enum(u1) for certain flags. I tend to let the SoC documentation (naming convention) drive that decision.<p>Otherwise there is a lot of nice and simply designed language stuff in Zig that also takes me back to my C &#x2F; asm days. My least fav. part is maybe multi-line string literals that look like comments. I prefer the kotlin approach there.<p>I&#x27;d like to find a non walled-garden Zig community if there are other Zig fans here, ie just a forum. Or tips on editor to use? since I am tired of electrons being burned needlessly, and almost feel like I need to VM these modern dev tools.
评论 #43258580 未加载
评论 #43260248 未加载
nuudlman2 个月前
Take a look at Pony <a href="https:&#x2F;&#x2F;www.ponylang.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.ponylang.io&#x2F;</a>
评论 #43250208 未加载
评论 #43235090 未加载
mirekrusin2 个月前
MoonBit [0]<p>It&#x27;s still being developed but on man the language is good.<p>You read its documentation and pretty much every-single-thing is right decision (from my PoV).<p>Beautiful language if you like OCaml, Rust. Primary target is wasm, but compiles to native as well.<p>[0] <a href="https:&#x2F;&#x2F;www.moonbitlang.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.moonbitlang.com&#x2F;</a>
dismalaf2 个月前
Odin. It&#x27;s just too easy and fun.
评论 #43228103 未加载
dlivingston2 个月前
Does anyone remember BlitzBasic &#x2F; BlitzPlus &#x2F; Blitz3D? They were my first programming languages. I loved how dead simple it was to spin up a DirectX-based 3D game or a GUI application. There was something very nice about a simple, performant, batteries-included programming environment.
评论 #43273382 未加载
Nales2 个月前
I am using Haxe which compiles to other languages (C++, JavaScript, PHP...). This is a nice language when you want to create a web application or a even a CLI.<p>If you have played video games by Shiro Games (Evoland, Dune Spice Wars) or Motion Twin (Dead Cells) or even Paper Please!, then you had been exposed to this language.
markldevine2 个月前
Raku, for scripting jobs. It is a huge language, done right imo. It has more &quot;flow&quot; phenomenon than any other language I&#x27;ve encountered (like playing a great video game).<p>Not write-only like its ancestor. So many language criticisms solved. A true pleasure.<p>Still in its function-first development phase but apparently near the end. AST rewrite is still underway, then the team will address performance.
auntienomen2 个月前
Cython. Writes like Python, runs like C. Strangely underappreciated.
评论 #43252624 未加载
bragur2 个月前
I’ve been using ReScript and ReasonML (derived from OCAML, originating from Jordan Walke) for the better part of 7 years now professionally instead of TypeScript&#x2F;JavaScript and couldn’t be happier. Blissfully enjoying a fully sound type system with stronger type inference vs. TypeScript and without all the complex type jugglin, null hell and an insane compiler with good errors, enormous speed and output of optimized JS code. It does indeed have a learning curve (these days far less steep than it used to be) but the benefits are just so many in my eyes. At the same time TypeScript has come a long way but it still struggles in comparison and I never feel as safe when writing TypeScript.<p>One downside is, of course, far less adoption and libs usually will have to have ReScript bindings written for them but that&#x27;s fairly straight-forward and not something I have to do very often.
whateveracct2 个月前
Haskell + copilot (from Nasa) and&#x2F;or MicroHs when targeting embedded (like RPi Pico)
评论 #43253625 未加载
评论 #43250937 未加载
tonis22 个月前
Trying to make a game with <a href="https:&#x2F;&#x2F;c3-lang.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;c3-lang.org&#x2F;</a>, quite happy so far.
ghfhghg2 个月前
F# and Haxe. Love both of those languages
henning2 个月前
I&#x27;ve written a non-trivial (5K SLOC) app in Zig and it&#x27;s very nice.
DASD2 个月前
Chicken Scheme for personal projects.
rubymamis2 个月前
I’m considering Mojo.
评论 #43253646 未加载
评论 #43250612 未加载
mxvanzant2 个月前
Lately I&#x27;ve been using: <a href="https:&#x2F;&#x2F;janet-lang.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;janet-lang.org&#x2F;</a> It&#x27;s not a systems programming language, but it can be embedded in C.<p><a href="https:&#x2F;&#x2F;jank-lang.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;jank-lang.org&#x2F;</a> looks interesting to me --I have not tried it yet. I&#x27;m not sure if this language could qualify as a systems programming language. What do you think?
Surac2 个月前
Forth. Old but very versatile. wrote the runtime myself years ago in portabel c.
jdougan2 个月前
D language (Dlang). It is especially good if you are porting from C as the semantics are the same enough to rum a lot of code via copy and paste, or if not it will fail to compile.
myko2 个月前
I&#x27;m converting an old C codebase to Swift, though given Swift&#x27;s non-support for mix-language targets I&#x27;m considering switching to Zig.<p>Unfortunately the Zig compiler crashes when building my project and I haven&#x27;t looked into debugging the compiler to find out why. There&#x27;s a lot of gnarly code in this project (based on dikumud from ~1989?) with many inexperienced hands touching it over the decades.
bitwize2 个月前
Ada and Scheme.
nodramallama2 个月前
I’ve been using Odin and really enjoying it lately. In my free time I’ve been using it for gamedev and for some Python interop at work
noelwelsh2 个月前
I&#x27;ve been writing some Scala Native recently. See <a href="https:&#x2F;&#x2F;github.com&#x2F;creativescala&#x2F;terminus&#x2F;">https:&#x2F;&#x2F;github.com&#x2F;creativescala&#x2F;terminus&#x2F;</a>. It&#x27;s a high-level language but you can still reach down and grub about in memory if necessary. I&#x27;m having fun.
jlengrand2 个月前
I still absolutely love my Elm. Never a programming language has made me as confident and joyful when writing code &lt;3.
评论 #43251542 未加载
julianeon2 个月前
An interesting takeaway from this is that it looks like Rust has really fallen off, in terms of popularity. There was a time when it would&#x27;ve topped these lists (and yes I know you mentioned it - I mean people would&#x27;ve mentioned it anyway). It seems like Nim has claimed 100% of its mindshare.
评论 #43258594 未加载
评论 #43258629 未加载
评论 #43258657 未加载
HHalvi2 个月前
Lua: Picked it up when I was dabbling in building Games relying on Love2D which uses Lua as the underlying language.<p>CoffeeScript: Felt in love with CS as I wanted to rapid protypes with (now defunct) Framer Classic.<p>Smalltalk&#x2F;Squeak&#x2F;Vala are something I have wanted to dabble with for a while but haven&#x27;t gotten around to.
slevis2 个月前
I am using Ada atm. Not a &quot;modern&quot; language but I believe it might have a great future :)
standeven2 个月前
The IEC 61131-3 languages, though 95% of my work is Structured Text. Anyone need a PLC programmed?
deepsquirrelnet2 个月前
Does Cython count? I’ve been trying to learn more advanced usage. It’s pretty small and reasonably familiar.<p>I also have messed around with nim a little bit. I like it, I’m just not sure it’s worth putting a lot of effort into.
评论 #43256079 未加载
dfawcus2 个月前
Playing with D, while reading up on Odin and the various Cyclone papers.
srik2 个月前
Elm. Gonna hold on to it for as long as possible because it’s fantastic for personal projects - drama free, functional, simple, typed and comes with batteries and great errors and tooling.
cjj_swe2 个月前
It hasn&#x27;t been released yet, but I&#x27;m very excited for Carbon :)
Peteragain2 个月前
I&#x27;ve used c and java, and have recently been thinking about go. It&#x27;s interesting that the comments here only mention go in the negative. Can someone give me the back story about go?
评论 #43251712 未加载
评论 #43251896 未加载
rixed2 个月前
I personally mix languages, using higher level languages for the structural work and calling C for the code or data structures that require it.<p>So a good FFI to C has always been an important requirement for me.
johnisgood2 个月前
Ada and Odin that I would consider less popular, rarely Forth.
评论 #43252345 未加载
creer2 个月前
Perl 6 &#x2F; Raku. The swiss army chainsaw (Perl) raised to the power of the swiss army chainsaw. For its expressiveness in spite of some learning curve.
评论 #43277442 未加载
delduca2 个月前
Lua in my 2D engine <a href="https:&#x2F;&#x2F;github.com&#x2F;willtobyte&#x2F;carimbo">https:&#x2F;&#x2F;github.com&#x2F;willtobyte&#x2F;carimbo</a>
zerr2 个月前
Haxe and Dart (without Flutter) are quite nice.
Rounin2 个月前
D. It&#x27;s quite C-like, but more concise, has a richer standard library, garbage collection, threading, etc. etc.
matej-almasi2 个月前
Ada (safety critical stuff) in work. Not a great fan, but it has its passionate defenders.
egberts12 个月前
Cobol, Vimscript&#x2F;VimL and Ada
glonq2 个月前
I had a college prof who in his real job wrote -all the things- in Modula-2.
moechofe2 个月前
Rebol
pyuser5832 个月前
Fortran. Had to use it for some obscure projects a while back.<p>It’s still kicking.
meta-level2 个月前
Micropython of course
评论 #43256509 未加载
yamapikarya2 个月前
visual basic. i learned a lot from this language because i&#x27;m able to create a system from scratch without import a library.
therealfiona2 个月前
My team hates when I write POSIT shell.
gallier22 个月前
D such a fantastic language.
Pompidou2 个月前
J
评论 #43255214 未加载
frizlab2 个月前
Swift
ztetranz2 个月前
I&#x27;ve been learning Elixir just for fun. I wish I was using it in my day job.
评论 #43253277 未加载
sim7c002 个月前
what do you understand as &#x27;systems programming&#x27;?<p>there are people making operating systems for AMD64 in Pascal etc.... so there&#x27;s plenty of choices, odd and even ones.<p>some examples of different interpretations of &#x27;systems programming&#x27;.<p>low level systems code - like interacting with devices directly on bare metal. (mmio&#x2F;io etc.)<p>kernel code - like writing a new subsystem in linux, which uses other drivers.<p>high-level systems - like game engines, automation frameworks, other high performance oriented systems-with-lot-of-subsystems?<p>These different domains, on different targets, might have more or less plausible options for you to try.
billwear2 个月前
(kebab-use-elisp)
uwagar2 个月前
tcl
评论 #43261417 未加载
cisrockandroll2 个月前
RPG
评论 #43258808 未加载
greenheadedduck2 个月前
Python.
评论 #43250507 未加载
neonsunset2 个月前
C#, to match the performance of reference implementations in C and Rust, and completely crush the performance of those in Go :)
评论 #43249146 未加载
评论 #43234879 未加载
inetknght2 个月前
&gt; <i>Less popular</i><p>Bash.<p>&gt; <i>I used C for both application programming and systems programming</i><p>Gross. Learn C++, it&#x27;s better than C in every way! shotsfired.jpg<p>&gt; <i>I&#x27;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.</i><p>Use C++ then. Or if you&#x27;re a hater and&#x2F;or don&#x27;t know how to keep footguns pointed away from your legs, use Rust.<p>&gt; <i>less commonly used ones</i><p>but tbqh why not Xojo?