# A Glossary of Sorts

I have a curious mind. Whenever there is a term, symbol or phrase I haven't seen before I get an immediate "?" in my head. I think a lot of people take for granted words and phrases, use them with the "everybody knows" attitude. A pet hate of mine. I believe that any symbol used should have a clear definition, otherwise we will end up in a jumbled mess.

Trigonometry. The side next to the smallest angle of the triangle.
ACID
In RDBMS ACID refers to Atomicity Consistency Isolation Durability.
API
You have an application, great. To programmatically interact with your application you provide an interface, a set of "endpoints". The interface can expose data or call functions within the application.
Arity
the number of arguments passed in a function. the arity of function (a,b,c) is 3
Cardinality
The number of elements in a set
Canonical
a general or standard way of doing or organising something
Coefficient
"Cooperating to produce a result." In the expression 4y, the 4 would be the coefficient as it cooperates with y to produce the resultant value
Declarative
Stating ones intentions as opposed to specifying exact steps to be followed. Used in contrast to imperative programming
Delta
a step, or a finite increment. Adding 5 to each iteration, 5 is the delta
DSL
Domain Specific Language. As opposed to a general-purpose language (GPL). A bit of a grey area to be honest, get the finer details from the Googles
Equation
"To make equal." Every equation has an equals sign
Expression
something that results in a value, 5 + 5 is an expression
Hypotenuse
The longest side of a triangle, opposite the right angle.
Idempotent
An element or a set that is unchanged if an operation occurs more than once. Like you can't delete something twice. From Latin "Idem" - "same", and "Potent" - "being able, being powerful"
Imperative
"Giving an authoritative command", or from Latin it means "Specially ordered". It means prescribing a step-by-step approach to solving a problem. As opposed to declarative programming
Interpolate
To put something inside something else. In Mathematics it means inserting something in a sequence based on a calculation or estimate on the surrounding values.
Irrefutable
Impossible to prove wrong.
No-ops
no operation. a step is skipped. If a variable is redeclared, js does not create the variable, instead it re-assigns the value to it
Ordinal
Relating to order in a series, like 1st, 2nd, 3rd
Non-normative
Not relating to or conforming to a standard
Normative
Relating to or conforming to a standard
Opposite
Trigonometry. The side opposite the smallest angle of the triangle.
Parity
if something is odd or even
POJO
Plain Old JavaScript Object
Polynomial
An expression of more than two algebraic terms e.g. 3x2 + 2x + 1
RDBMS
Relational Data Base Management System. Like Oracle or MySQL et al.
Scalar
In Maths it means having only magnitude. A single value. A Number is scalar whereas an Array is not. From Latin meaning "Ladder"
Set
A collection of distinct things regarded as a unit
Sine
Trigonometry. Used in a right angle triangle. A function in trigonometry that returns the ratio of the side opposite a given angle to the hypotenuse.
SOLID
ref: wikipedia
Statement
a command, a "do something". var test = 5 is a statement, saying put the value of 5 into variable test
TLS
The Transport Layer Security protocol keeps communication private between applications and users on the net. When a server and client communicate, TLS ensures that no third party may eavesdrop or tamper with any message. TLS supersedes SSL.
Trigonometry
A part of mathematics that deals with triangles, their angles, length of sides, and their relationships.
Vector
A matrix with only one row or column; in essence it is an array.
XMPP
A **near** realtime communication protocol.

## Resources

There's an awesome glossary of jargon on catb.org.