4 ms·
That's an unfair judgement toward the C development community as a whole. There are legitimate use cases for C. If you're writing low-level, bare-metal program
by pmilot 9y ago
That's an unfair judgement toward the C development community as a whole.
There are legitimate use cases for C. If you're writing low-level, bare-metal programs then there is no other portable programming language that offers better semantics. C programmers often laud that language because they can easily reason what the output of the compiler will be. That is an extremely important and rare property for a portable programming language.
But hey, don't listen to me, listen to an actual experienced C programmer: https://youtu.be/MShbP3OpASA?t=20m45s https://youtu.be/MShbP3OpASA?t=20m45s
- naasking 9y ago> C programmers often laud that language because they can easily reason what the output of the compiler will be. They certainly do, and in doing so, conveniently forget all the instances of their compilers surprisingly deleting invalid code as optimization because it inadvertently depended upon undefined behaviour.
- sametmax 9y agoWould rust fit the bill though ? It's not as mature, and don't support as many platforms yet, but it is considered now as a serious safer alternative, with as much bare metal capabilities.
- geocar 9y agoNo. Because it's not as mature, and doesn't support as many platforms. Those things are very important to me, and there is no steel thread for them. I imagine that in twenty years, it could be worth talking about rust as an alternative, but rust is only two years "stable", and it's unclear what the language, the tooling and the libraries are going to look like in that time. Meanwhile, I have software I wrote 20 years ago in C that still runs, correctly, and on the Internet, generating income, and a big part of the reason why is that C was already more than twenty years old at that point.
- mamcx 9y ago> I imagine that in twenty years... But WHY in 20? With this thinking NEVER WILL BE IMPROVED THE SITUATION! And I don't mean you, I mean the whole industry. Obviously stability and compatibility is important, but is not this almost like the COBOL problem? Nobody try to move out from COBOL because "maybe in the far future a solution will emerge" and the the future get here, and we are decades LATE? And RUST is not the only viable alternative. Ada, Pascal, Oberon, Modula (to name the family of languages I know more, but is likely some lisp and others exist too) where already there (decades ago) without break too much from the C mindset (and go crazy with monads and stuff like that). So, because look like without {} a system language have not chance in hell, take oberon and put the C syntax? And them we are not waiting 20 years in the future for it. But this will fail, for the same reasons that renuevable energy will fail against carbon: The community will not accept the costs in the short-term, not matter how much things could improve later... P.D: And what if a "rust-alike" lang but trans-piling to C, like with Nim? Or even better: C2 (C with improvements and eliminating as much baggage as possible) trans-piling to C. Eventually this will allow to bootstrap and still keep a way to old code bases...
- adrianN 9y agoThe key-word is "portable". C is running on momentum in the embedded world because for many chips you only have a crappy "kinda C, but not standard C" compiler the vendor provides. Ada for example is a nicer language than C, suitable for embedded work, but not as popular and hence less supported. So is Pascal, and some more modern languages that get mentioned often enough on HN that some readers find it disagreeable.
- mamcx 9y ago> There are legitimate use cases for C* * Or C-like langs... Of course something must be use to fill the niche C have. But is clear that exist a huge resistance to fill it with something better, to the point that anything is almost dismissed and the only "valid" answer is continue with C (or C++, or Unix, or Old-School Terminals). Probably you have see https://www.destroyallsoftware.com/talks/a-whole-new-world https://www.destroyallsoftware.com/talks/a-whole-new-world Is not hard to imagine that better/improved tools must have arise in all this decades. In contrast, we (as community) are stuck in more or less the same things and maybe even devolving in some areas.