3 ms·
The more I learn about new and less new languages (Zig, Jai, C#) the more I like C and its true simplicity. The language has a few irritating historical artefa
by stephc_int13 4y ago
The more I learn about new and less new languages (Zig, Jai, C#) the more I like C and its true simplicity.
The language has a few irritating historical artefacts and the stdlib API is completely outdated and full of bad design, but there it is still versatile enough for my needs.
- matheusmoreira 4y ago> the stdlib API is completely outdated and full of bad design It is also completely unnecessary on Linux. I switched to freestanding C and discovered it was a much better language. Made programming fun again. All I needed was one system call function and some entry point code. It's gotten to the point that it bothers me that gcc could potentially generate calls to mem* functions even in freestanding mode.
- JonChesterfield 4y agollvm does that too. It's really tempting to assume there's a libc available for the target architecture. On the list of things to clean up that hasn't hit top of stack for anyone.
- warmwaffles 4y agoThe simplicity is a blessing and curse. I enjoy writing C and sticking to a hard discipline of writing unit tests for all functions where possible. Abusing `assert/1` in debug mode. But concurrency is a hard thing to build. Identifying critical sections, making sure they have mutex locks where necessary. I want to love Rust but it's hard for me to get used to the syntax. I've started using it and failed multiple times because it's terse. Inevitably I will try again and hope it pans out.
- adamrezich 4y agoI like C89 for its simplicity too but after using the Jai beta for over a year I have a hard time seeing myself ever going back.
- stephc_int13 4y agoI'll probably give Jai a go when it is released, but I am a bit afraid the idiosyncrasies are already creeping up.
- adamrezich 4y agoany particular examples?