What Is Systems Programming, Really? (2018)
willcrichton.net
What Is Systems Programming, Really? (2018)
1–10 of 81 posts
Re: What Is Systems Programming, Really? (2018)
#2 > Dynamic programming languages are arguably still far from systems languages,
> since dynamic types and idioms like “ask forgiveness, not permission” are not
> conducive for good code quality.
I find it amusing that, when asked to give a defining characteristic of systems programming, key figures behind C++, Rust, D, and Go gave radically different and unrelated answers: "client applications," "resource-constrained applications," "cloud infrastructure," and "unsafe pointer casts."If anything, a more practical definition is "only C and C++ are systems programming languages, by fiat, because it's an artificial category whose historical roots have long since lost pertinence."
Re: What Is Systems Programming, Really? (2018)
#3Re: What Is Systems Programming, Really? (2018)
#4Re: What Is Systems Programming, Really? (2018)
#5Re: What Is Systems Programming, Really? (2018)
#6The expression is redundant isn't it? Only systems can be programmed. You can't program a cinder block or a cardboard box. I think this is just an early way to say 'software development' and people got caught up on their own mental images of what 'systems' are to them.
Everything programmed are systems but not all systems are programmable
Re: What Is Systems Programming, Really? (2018)
#7In AI, we think of mathematical algorithms, but computers do not understand math. Math is a purely human invention, computers have no idea of math. Nor computers understand Python or C. The only things CPUs are designed to understand are 0s and 1s, quite literally. It's a very long road, and lots of layers of abstractions, from 0s and 1s to Python (or C for that matter). This long road is Systems Programming to me and I find it quite fascinating.
To do Systems Programming, I would think you want direct access to hardware, to the metal itself. C and C++ (some other languages? C#?) provide such an access. Python (or Java) does not provide such unfettered access to the hardware. Having said that, I find author's assertion, that "Dynamic programming languages ... are not conducive for good code quality", both inaccurate and irrelevant to the System Programming assessment.
Re: What Is Systems Programming, Really? (2018)
#8The expression is redundant isn't it? Only systems can be programmed. You can't program a cinder block or a cardboard box. I think this is just an early way to say 'software development' and people got caught up on their own mental images of what 'systems' are to them.
I kinda see what you mean, but systems is an exceptionally vague term. Popular use and even the formal field of Systems Science is hardly more related to computing than any other area of society. Everything programmed are systems but not all systems are programmable
I don't understand the use of but here. This doesn't contrast with what I said.
>Everything programmed are systems
Then 'systems programming' is a redundant turn of phrase. You don't say you're 'food cooking', while there are foods you don't cook.
Re: What Is Systems Programming, Really? (2018)
#9Perhaps from my limited AI-centric point of view, I have a simple definition of Systems Programming: when I hit enter and run Python/C/C++/Java program, what actually happens? In AI, we think of mathematical algorithms, but computers do not understand math. Math is a purely human invention, computers have no idea of math. Nor computers understand Python or C. The only things CPUs are designed to understand are 0s and…