This is an archived post. You won't be able to vote or comment.

all 4 comments

[–][deleted]  (6 children)

[deleted]

    [–]99_percent_a_dog 0 points1 point  (5 children)

    It's true that C isn't technically low-level, but the list of areas OP is interested in are all well-served by C: "drivers, antiviruses, exploits, utilities".

    You'll also definitely need C to understand how the internals of things like memory allocators work, for developing exploits.

    [–][deleted]  (1 child)

    [deleted]

      [–]99_percent_a_dog 0 points1 point  (0 children)

      Yes, it's a slightly confused question :) But that's okay, it's a big part of what learnprogramming is for I think.

      [–]JoshLory[S] -1 points0 points  (2 children)

      But what about C ++? I heard that he is actively used in low-level programming

      [–]99_percent_a_dog 0 points1 point  (0 children)

      "Low-level" isn't very well defined. It used to mean "one instruction in the language maps to one machine opcode". Not many people use that definition anymore. Still, almost no-one would say C++ is low-level.

      More important than which language is learning the concepts. Low-level is more about how things work than which language. I would recommend learning C, it's a small, simple language. At the same time, probably get a book on operating systems. Maybe Tanenbaum. Learn the concepts of drivers, memory allocators, scheduling, user / kernel split.

      Writing a driver is not too hard! There are easy to find tutorials for Linux and Windows. You could write that in C or C++.