3 ms·
It seems implausible that you don't know the difference between an international standard and a specification document written (of all places) in a wiki, which
by blub 6y ago
It seems implausible that you don't know the difference between an international standard and a specification document written (of all places) in a wiki, which means you're being purposefully obtuse and don't really have any counter-arguments.
If one wants to use a tool in a life-critical system, a system that might be in use for decades they're going to reach for one of the said "serious languages": C, C++, Ada, etc. That list's very short and it includes neither Brainfuck nor Rust for that matter.
- Xylakant 6y agoOk, I picked brainfuck as an - obviously extreme - example of how a language can tick both those boxes and still be not a serious language. I can pick a number of examples of languages that have no international standard and a single implementation and are used in systems that might be in use for decades. Let's take go. A single implementation, it does have a spec, but I'm not aware of an ISO standard. ADA, while having an ISO standard, isn't exactly blessed with many implementations either. Java, while having multiple implementations, is not an ISO standard. The point is: neither of those two datapoints is a particularly useful metric on how "serious" a programming language is and much less even a useful metric on how well it is suited to any given task. Even how mainstream programming languages are is not a useful signal for that. Javascript is very much mainstream, but I hope no one ever will want to program a cars ECU in a JS dialect. Specialized applications are almost by definition the realm of specialized languages.
- int_19h 6y agoIt doesn't include JavaScript, either - and yet it's one of the most popular and successful PLs today. Very few people write code for a "life-critical system".
- jschwartzi 6y agoThey have, in the past, reached for LISP and various other languages. What matters for life-critical systems isn't the presence or absence of a formal specification. It's more important to foster a culture of design verification and validation of tooling. You can use Brainfuck in a medical device provided you can create the right organizational architecture to ensure the quality of your Brainfuck code. It's more about creating a rational engineering organization and having a process of searching for problems and solving them proactively rather than waiting for your customers to test your code. Of course most rational engineering organizations wouldn't choose Brainfuck because it's harder to write code that other people can evaluate. But it's not automatically out of the question if you have a good reason for its use.