Yes, it helps with the implementation of an algorithm… maybe.
The danger is all the extra features make it so complicated to use that programmers never truly master the language. I see that as an issue with C++.
I dispute that. C is a small language by modern standards so it is easy to master.
I hope you are right there.
The hostility comes from people like me who do not see the benefits.
There is also nim. It is like C without the supposedly bug-prone bits.
If Zig is really not going to add features, then it may be a worth trying for system programming where you want code to be understandable into the future.
One thing that astounds me is the amount of code ‘maintenance’ systems seem to need. I would have thought it was possible to program something once, debug it, then freeze it.
One of the points I was trying to make by bringing up alternatives is that there should hopefully be enough alternative programs out there that you can find one that does what you want in the language you want and you aren’t stuck with what the operating system ships by default. Personally, I prefer programs that I can build myself and modify and audit the code. So I don’t want programs in several programming languages on my system. I’d need to switch gears to debug each and need different compilers and interpreters to build each. I’d like to just concentrate on a simple set of tools and utilities that I can feel familiar and comfortable enough with that I can modify or fix them if an issue arises.
I think that is how I feel too.
I have enough trouble with R and C without branching out into other languages.
I do still enjoy a certain amount of low level programming, but I have never really come to grips with high level languages.
Perhaps that is a reflection of my past.. I spent most of my working life programming in Fortran , which is reallly closely aligned to the way computers work. I think I need to feel , when I write some code in a higher level language , that I understand what it will do at assembler language level.
I understand pointers, because I understand indirect addressing, but I dont understand complex things like inheritance and polymorphism. Some of the concepts in Rust are beyond my type of understanding.
In a lot of cases, including sudo, I simplify my life by choosing not to use a utility.
There is a minimal set that I can get by with, and that means I can work in any Linix or BSD without issues.
I understand the need for languages which are not compiled to machine code. They allow the user to not worry what’s happening under the hood… at a cost (varies per language).
What I don’t understand is that, apparently these days, students don’t get taught assembly language anymore at university (can anyone confirm?). To understand in what your program gets turned by the compiler and how the CPU deals with it is such a massive advantage. While C is close to assembly, it’s not assembly, and still hides stuff for the programmer (which is good, because even the smallest mistakes in assembly can be footnukes, but for the purposes of learning perhaps not so good).
Do you mean interpreted languages versus compiled. ?
Yes, they are easy to work with.
R is a mix… its code is interpreted but functions come precompiled.
I endorse that.
In my days at University, assembler was not taught … you had to seek it out and learn for yourself.