One thing. Why aren't there any high-level languages capable of low-lovel programming? I understand that pointers and such are a difficult concept. But why hasn't anybody made a systems programming language like python (I.e. a high-level syntax)

Division of labor: the O/S provides support services that could fatally cluttter an application. However, you can mmap() your own files and have direct access to VM. This is especially nice in UFS where you can have gaps in the file data without pages of disk, supporting sparse arrays.

You're missing the point of python, imo. Your question is equivalent to "why can't I go to space in a jumbo jet?"

In theory, you can import a C or c++ module that will handle your memory management into your python script. I'm not entirely sure how that would work, but I'm sure it could be done.

Python was designed to remove the complexity of coding, and pointers were one of the first things to go. However, this does not mean python cannot communicate with hardware or any of the other things that you can accomplish with C or c++. It just needs to be done within the rules of the language.

This isn't about python. I was just using an example. The question was mainly about why there aren't any high-level languages that can do low-level things.

There are high-level languages that can do low-level things. C++ is the main one.

Part of the problem is that many people label a language as being low-level when it allows low-level things to be done with it (direct memory accesses, memory casts, kernel-space programming, etc..). That is basically a way to exclude any such language from their category of "high-level" languages.

If you define the "high-level" language category in an inclusive manner (as opposed to an exclusive manner) by specifying the kinds of high-level abstractions that the language should provide to be considered as high-level. Then, languages like C++ certainly qualify to that category. There are many other languages in the list of system programming languages that would fit this kind of definition of high-level languages, like D, Go, Ada, and Rust.

And remember, "high-level" and "low-level" are relative terms. C used to be classified as high-level, back when people used assembler or assembler-like languages. And C++ only started to be called "low-level" when some people decreed that pointers were evil, even though C++ supports all the main high-level programming paradigms that exist.

This article has been dead for over six months. Start a new discussion instead.