🌐
Quora
quora.com › What-is-a-robust-language-and-why-is-C-called-a-robust-language
What is a robust language and why is C called a robust language? - Quora
It's efficiently deal with errors during execution and errorness input of program.When arise a exception than deal with this. In simple word, program not crash during execution and possibility less come errors because early checking ...
🌐
Quora
quora.com › Why-is-C-known-as-the-robust-language
Why is C known as the robust language? - Quora
Answer (1 of 4): Because, over the years, it’s survived the disdain of everyone who hasn’t used it, and not a few who have. Because it’s versatile enough to be used for just about any computing task you can think of, with varying levels of difficulty, but never impossibility.
Discussions

What is the programming language used to build secure and reliable software
For security, not really. For reliability, yes. By "reliable", I mean avoiding bugs and fatal errors. Some languages lend themselves better towards reliable code. Why don't we always use them? No free lunch, there are usually tradeoffs. C/C++ is fast, but since you manage your own memory, it's easy to write memory access bugs or accidentally copy data or leak memory. By contrast, managed languages like C# or Java handle all that for you, but with the performance hit of garbage collection. Anything that values performance is going to be in C/C++ (games, kernel) because it's worth the extra risk. Dynamically typed languages like python are fast to write in, but it's easy to introduce type errors that aren't caught until runtime. Statically typed languages like C++ will catch all these for you at compile time. For this reason it's rare to see a large system that requires high availability to be written in python. I've been learning Rust which is explicitly designed to be as safe as a managed language but with the performance of a native language. It also has a lot of first class concurrency safety features. I've been very impressed by it so far. It performs all kinds of checks at compile time. This does mean there is extra work for the developer when writing the code, but it's minimal compared to the gains you get. It's so good that there is a call in the Linux development community to use Rust to develop new modules. It's also the most loved language on Stack Overflow every year. More on reddit.com
🌐 r/AskComputerScience
17
3
November 3, 2021
If you could only learn 4 programming languages, what would they be?
On July 1st, a change to Reddit's API pricing will come into effect. Several developers of commercial third-party apps have announced that this change will compel them to shut down their apps. At least one accessibility-focused non-commercial third party app will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: Limiting your involvement with Reddit, or Temporarily refraining from using Reddit Cancelling your subscription of Reddit Premium as a way to voice your protest. I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns. More on reddit.com
🌐 r/learnprogramming
209
78
January 22, 2024
property of a computer system to cope with faults in input or execution
Robustness (computer science) - Wikipedia
In computer science, robustness is the ability of a computer system to cope with errors during execution and cope with erroneous input. Robustness can encompass many areas of computer science, such as … Wikipedia
🌐
Wikipedia
en.wikipedia.org › wiki › Robustness_(computer_science)
Robustness (computer science) - Wikipedia
2 weeks ago - Robust programming is a style of programming that focuses on handling unexpected termination and unexpected actions. It requires code to handle these terminations and actions gracefully by displaying accurate and unambiguous error messages.
🌐
SourceForge
freetype.sourceforge.net › david › reliable-c.html
Robust Design Techniques for C Programs
This paper presents several techniques used to design robust C programs and libraries · Introduction I. Robust Design Techniques 1. Exceptional Conditions 2. Being extremely paranoid 3. Implementing transactions 4. Structured Exception Handling (SEH) 5. Cleanup Stack Exception Handling (CSEH) II.
🌐
tekslatetutor
tekslate.com › home page › blog › c language
Characteristics of C Language (2023)
It produces efficient programs. It can be compiled on a variety of computers. It is a robust language with a rich set of built-in functions and operators that can be used to write any complex program.
🌐
Ucdavis
nob.cs.ucdavis.edu › bishop › secprog › robust.html
Robust Programming - nob.cs.ucdavis.edu!
Robust programming, also called bomb-proof programming, is a style of programming that prevents abnormal termination or unexpected actions. Basically, it requires code to handle bad (invalid or absurd) inputs in a reasonable way.
Top answer
1 of 10
39

what is the point of checking a third state when a third state is logically impossible?

What about a Boolean? that allows for a NULL state that is neither true nor false. Now what should the software do? Some software has to be highly crash-resistant like pacemakers. Ever seen someone add a column to a database that was a Boolean and initialize the current data to NULL initially? I know I've seen it.

Here are a few links that discuss what it means to be robust in terms of software:

  • Robust Programming
  • Robust Definition
  • Robustness, the forgotten code quality.
  • How to write robust code

If you think there is one universally agreed upon definition of "robust" here, good luck. There can be some synonyms like bomb-proof or idiot-proof. The Duct Tape Programmer would be an example of someone that usually writes robust code at least in my understanding of the terms.

2 of 10
12

For the sake of my discussion a Bool can have 2 states, True or False. Anything else is non-conformance to the programming langugae specification. If your tool chain is non-conformant to its specification, you are hosed no matter what you do. If a developer created a type of Bool that had more than 2 states, it's the last thing he would ever do on my codebase.

Option A.

if (var == true) {
    ...
} else if (var == false) {
    ...
} else {
    ...
}

Option B

if (var == true) {
    ...
} else {
    ...
}

I assert Option B is more robust.....

Any twit can tell you to handle unexpected errors. They are usually trivally easy to detect once you think of them. The example your professior has given is not something that could happen, so it's a very poor example.

A is impossible to test without convoluted test harnesses. If you can't create it, how are you going to test it? If you have not tested the code, how do you know it works? If you don't know it works, then you are not writing robust software. I think they still call that a Catch22 (Great movie, watch it sometime).

Option B is trivial to test.

Next problem, ask you professor this question "What do you want me to do it about it if a Boolean is neither True nor False?" That should lead into an a very interesting discussion.....

Most cases, a core dump is approriate, at worst it annoys the user or costs a lot of money. What if, say, the module is the Space shuttle realtime reentry calculation system? Any answer, no matter how inaccurate, cannot be worse than aborting, which will kill the users. So what to do, if you know the answer might be wrong, go for the 50/50, or abort and go fo the 100% failure. If I was a crew member, I'd take the 50/50.

Option A kills me Option B gives me an even chance of survival.

But wait - it's a simulation of the space shuttle reentry - then what? Abort so you know about it. Sound like a good idea? - NOT - because you need to test with the code you plan to ship.

Option A is better for simluation, but can't be deployed. It's useless Option B is the deployed code so the simulation performs the same as the live systems.

Let's say this was a valid concern. The better solution would be to isolate the error handling from the application logic.

if (var != true || var != false) {
    errorReport("Hell just froze over, var must be true or false")
}
......
if (var == true){
 .... 
} else {
 .... 
}

Futher reading - Therac-25 Xray machine, Ariane 5 Rocket failure and others (Link has many broken links but enough info that Google will help)

🌐
ICT Academy at IITK
ict.iitk.ac.in › ict academy at iitk › articles › c – the mother of all languages
C - the mother of all languages | ICT Academy at IITK
November 13, 2018 - Let us discuss the importance of ... any complex program. C programs are very efficient because they contain a variety of data types and robust operators....
Find elsewhere
🌐
ResearchGate
researchgate.net › publication › 268422674_Robust_Programming_by_Example
(PDF) Robust Programming by Example
January 1, 2013 - Indeed, this code is not robust. The arguments are not checked. Given that · the last two are integers, a caller could easily get the order wrong. The semantics · of the language means that if the second argument is non-zero, the function
🌐
TheFix
blog.thefix.it.com › is-c-still-a-popular-language-the-2026-developer-s-verdict
Is C Still a Popular Language? The 2026 Developer’s Verdict
January 12, 2026 - For high-frequency trading platforms, ... languages can sometimes be a deterrent. C allows for manual memory management and pointer arithmetic that, in the hands of an expert, produces the fastest possible execution times. For professionals, the question of popularity is often a question of employability. The market for C developers remains robust, though it ...
🌐
eScholarship
escholarship.org › content › qt6sq2s7d7 › qt6sq2s7d7_noSplash_f0319f041b253830fd875a0b7efc90d1.pdf pdf
Robust Programming by Example Matt Bishop1 and Chip Elliott2
Indeed, this code is not robust. The arguments are not checked. Given that · the last two are integers, a caller could easily get the order wrong. The semantics · of the language means that if the second argument is non-zero, the function
🌐
Learneroo
learneroo.com › modules › 82 › nodes › 428
Introduction to Correctness and Robustness - Learneroo
A program is correct if it accomplishes the task that it was designed to perform. It is robust if it can handle illegal inputs and other unexpected situations in a reasonable way. For example, consider a program that is designed to read some numbers from the user and then print the same numbers ...
🌐
LINFO
linfo.org › robust.html
Definition of robust
June 20, 2005 - The word robust, when used with regard to computer software, refers to an operating system or other program that performs well not only under ordinary conditions but also under unusual conditions that stress its designers' assumptions · Software is typically buggy (i.e., contains errors) and ...
🌐
Quora
quora.com › Which-is-the-most-robust-and-widely-used-programming-language
Which is the most robust and widely used programming language? - Quora
Answer (1 of 3): Every good programmer wants to develop software that is correct, which means that a program produces the right output for all the anticipated inputs in the program’s application. In addition, we want software to be robust , that is, capable of handling unexpected inputs that are ...
🌐
The Carpentries
carpentries.org › blog › 2012 › 07 › how-robust-is-your-programming-language
How Robust Is Your Programming Language? | The Carpentries
November 20, 2024 - Or to switch to industrial engineering terminology, what are your language's tolerances? And to help people along this path, I'd like to propose a metric. Consider the set of all variants of your program in which a single typing mistake has been made (like the trailing '/' in the example above). The Strong Robustness Measure is the percentage of those programs that correctly reproduce the output of the intended program.
🌐
GeeksforGeeks
geeksforgeeks.org › c language › features-of-c-programming-language
Features of C Programming Language
September 29, 2025 - Robust libraries and functions in C help even a beginner coder to code with ease. As it is a middle-level language so it has the combined form of both capabilities of assembly language and features of the high-level language.
🌐
Coding Bytes
codingbytes.com › home › blog › why java is a robust programming language ?
Why Java is a Robust Programming Language ? - Coding Bytes
January 12, 2024 - The language features guide programmers towards positive programming habits. The memory management model is straightforward: New operators create objects. There is no explicit programmer defined pointer data types, no pointer arithmetic, and the garbage collection is automated. Because of Java’s robustness, security features, cross-platform capabilities and security ease of use, it has become a language of choice for producing global Internet solutions.