Sujet : Re: Top 10 most common hard skills listed on resumes...
De : thiago.adams (at) *nospam* gmail.com (Thiago Adams)
Groupes : comp.lang.cDate : 28. Aug 2024, 12:09:27
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <van0h7$3eqvr$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
User-Agent : Mozilla Thunderbird
On 28/08/2024 01:59, Bonita Montero wrote:
Am 28.08.2024 um 01:44 schrieb Lawrence D'Oliveiro:
On the contrary, the Linux kernel is full of abstractions: the device
layer, the network layer, the filesystem layer, the security layer ...
C's abstraction are very low level.
There is often confusion between abstraction and the syntax used to achieve abstraction. Since there isn't a specific term for this, I'll refer to it as "syntax for abstraction."
In C, we have everything we need: "data" and "functions."
For example, we can create an abstraction for a Matrix. Ultimately, the Matrix abstraction is represented by struct and the operations on it are functions:
struct matrix a = {};
struct matrix b = {};
...
struct matrix c = matrix_mult(&a, &b);
What C lacks is the ability to interfere with the basic constructs of the language, such as operator overloading. Personally, I prefer this approach.