TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: What system programming language do you use and why?

11 pointsby MichaelAzaover 11 years ago
I&#x27;ve been reading up on C lately and noticed a lot of languages that position themselves as &quot;C replacements&quot;.<p>Off the top of my head, those would be C++, D, Rust and Go.<p>Any others I&#x27;ve missed? Which do you use? Why?

8 comments

memracomover 11 years ago
Python. A lot of the things that need to be done in a systems programming language, outside of kernel modules and device drivers, can be done easier in Python. And the part that needs a raw barebones language can be done in C and integrated using Python&#x27;s ctypes library. As for distributed software, the UNIX process model still works and multiple Python processes can thumb their noses at the GIL and get real work done just by leveraging signals, pipes, fork, etc. And perhaps some ZeroMQ as well because some new things are really good. GOroutines are just yet another implementation of the actor model that Erlang popularized, and Erlang used the UNIX process model as its core, although they did extend it and switch to using green threads which are more lightweight than even Linux native threads.
walshemjover 11 years ago
Well it depends the various OS&#x27; tend to different languages for systems programming. PR1MOS used FORTRAN and PL1&#x2F;G as a system programming language PICs will use PIC machine code?<p>Which systems are you interested in? You do understand what is meant by &quot;systems&quot; programming as opposed to general programming using a particular system?<p>And all systems programing will usually have some Assembler usage.<p>Ps for the younger readers PR1MOS is descended from the ur hackers OS ITS
评论 #6534077 未加载
thwestover 11 years ago
We use both C and C++. C for our kernel module, and 8051 code. C++ is preferred for network messages (zeromq + protobuf), configuration (from ui or file), and mostly for the heavy math that produces our output. We use value semantics almost exclusively, and heavy on the generic implementations of our math because we support 1-bit, u8, u16, float and double precision outputs. Yet we still can provide template specializations to utilize low level processor intrinsics for SIMD optimization.
tokenroveover 11 years ago
I like ATS a lot (<a href="http://www.ats-lang.org/" rel="nofollow">http:&#x2F;&#x2F;www.ats-lang.org&#x2F;</a>). It&#x27;s unfortunate it doesn&#x27;t have much of a community.
评论 #6534972 未加载
ishbitsover 11 years ago
Depends what you are doing but Python or Perl can make great systems programming languages.<p>Of course if you are doing Linux kernel hacking, you&#x27;ll need C. Go and D are probably also modern examples of what could be used for systems programming as well.
lmmover 11 years ago
None, because I&#x27;m not writing an OS, and my time is worth more than the computer&#x27;s.
评论 #6533810 未加载
FurrBallover 11 years ago
I use C++. For user applications, not &quot;systems&quot;.<p>-Momentum. I am already familiar with it.<p>-RAII and smart pointers<p>-Generics<p>-Best supported for cross-platform mobile phone use.
helloworldnjover 11 years ago
C# for backend mainly c++ for fast response &#x2F; near realtime needs js on the front and java mixes in somewhere lol