Although this does not fit the current series of javascript, typescript and web development paths, I still want to talk about, it because I recently learned about it.
For a long time, I thought, that functional programming was called functional programming, because it does not allow object-oriented programming.
I missed, that object-oriented languages are written in functional programming languages. Therefore there has to be a possibility.
And well it's quite easy to implement the most basic object-oriented features within very basic steps.
Structs
Structs are used to group certain correlating variables. A struct is our class, without encapsulation and functions on the objects.
Let's look at a simple user class. Written in Typescript
like this.
class User {
public username: string;
public admin: boolean;
public sayName() {
return "Hello " + this.username;
}
}
The same can be built in C.
struct User {
char username[32];
int admin;
}
void say_name(User *user) {
printf("Hello %s", user->username);
}
Conclusion
The whole point of this mini-post is to show you, that C just because it is a functional programming language, does not mean, that there are just primitives and you are doing maths all the time.
I did this to show you my latest learnings about it as I was quite amazed.