In software development life cycle (SDLC), artifact usually refers to "things" that are produced by people involved in the process. Examples would be design documents, data models, workflow diagrams, test matrices and plans, setup scripts, ... like an archaeological site, any thing that is created could be an artifact.
In most software development cycles, there's usually a list of specific required artifacts that someone must produce and put on a shared drive or document repository for other people to view and share.
There's a lot of debate over truthiness.
Merriam-Webster defines it as:
- truthiness (noun)
1 : "truth that comes from the gut, not books" (Stephen Colbert, Comedy Central's "The Colbert Report," October 2005)
2 : "the quality of preferring concepts or facts one wishes to be true, rather than concepts or facts known to be true" (American Dialect Society, January 2006)
Oxford Dictionaries Online defines it as:
noun
[mass noun] informal
the quality of seeming or being felt to be true, even if not necessarily true.
Origin:
early 19th century (in the sense 'truthfulness'): coined in the modern sense by the US humorist Stephen Colbert
It was used a little bit on Usenet prior to Stephen Colbert, but usually explained as soon as used, such as "the quality of stating concepts or facts one wishes or believes to be true, rather than concepts or facts known to be true".
Back to programming. Regardless of the origin, this modern sense of "truth from the gut, even if not true" is clearly incorrect most of the time when discussing Boolean logic and truth tables: this if
statement is definitely true, and that while
statement is false until (i > k)
. My gut feeling doesn't come into it.
If you're using truthiness in programming, most likely you're using the rare 19th century meaning of truthfulness, and it would be both clearer (and arguably more correct) to use truthfulness or simply truth.
Ngram:
![Ngram](https://i.stack.imgur.com/AXU9R.png)
Of course, English changes as usage changes, and some people have started to use truthiness to mean truth in programming. However, I would advise against truthiness to avoid any ambiguity of meaning ("real absolute truth" vs. "my gut feeling of truth, regardless of the facts").
Best Answer
Casting in C is unique, quite unlike other languages. It is also never intelligent.
Casting in C converts values from one type to another using carefully defined rules. If you really need to know, read the standard. Otherwise the main points are:
Some casts are applied implicitly, and in some of those the compiler will issue a warning. Best to heed the warnings!
The dictionary definition for cast is best ignored, as being unhelpful. Many casts are better described by the terms conversion or coercion, so it's worth knowing those too.
C++ is MUCH more complicated, but you didn't ask that, did you?