In software development, or any other
IT
field (e.g., Infrastructure, Networking, etc.), technical debt (also known as design debt or code debt) is the implied cost of future
reworking required when choosing an easy but limited solution instead of
a better [e.g., craft code] approach that could take more time.
Technophilia refers generally to a strong attraction for
technology, especially new technologies such as personal computers, the Internet,
mobile phones, and home cinema. The term is used in sociology to examine
individualsʼ interactions with society and is contrasted with technophobia.
Technophobia, also known as technofear, is the fear or dislike
of advanced technology or complex devices, especially computers. Although
there are numerous interpretations of technophobia, they become more complex
as technology continues to evolve. The term is generally used in the sense
of an irrational fear, but others contend fears are justified. It is the
opposite of technophilia.
Tight coupling is a coupling technique in which hardware
and software components are highly dependent on each other. It is used to
refer to the state/intent of interconnectivity between two or more computing
instances in an integrated system.
Total cost of ownership (TCO) is a financial estimate intended
to help buyers and owners determine the direct and indirect costs of a product
or service. It is a management accounting concept that can be used in full
cost accounting or even ecological economics where it includes social costs.
A source-to-source translator, source-to-source compiler (S2S compiler),
transcompiler, or
transpiler is a type of translator that takes the source
code of a program written in a programming language as its input and produces
an equivalent source code in the same or a different programming language.
The tree of abstraction is a way of looking at
abstraction. It envisions a “tree” (in the computing sense: think pyramid)
in which the bottom layer is actual, specific, fit-for-purpose objects.
From this base layer of objects, a set of patterns emerges. These
patterns are used to “abstract” more generic instances of the
objects. These new abstracted objects can be used in place of several objects
on the level below.
From this new level, more patterns emerge, and a new layer of yet more
abstract objects is created. In this manner the “tree of
abstraction” grows from concrete objects at the bottom and progressively
more abstract objects as one moves up the tree.
Tree shaking is a term commonly used within a JavaScript
context to describe the removal of dead code.
It relies on the import and export statements to detect if code modules
are exported and imported for use between JavaScript files.
In modern JavaScript applications, we use module bundlers (e.g., webpack or Rollup) to automatically remove dead code when bundling multiple JavaScript
files into single files. This is important for preparing code that is
production ready, for example with clean structures and minimal file
size.
TypeScript is a free and open-source high-level programming
language developed by
Microsoft
that adds
static typing
with optional type annotations to JavaScript.
It is designed for the development of large applications and transpiles to JavaScript. Because TypeScript is a superset of JavaScript, all JavaScript
programs are syntactically-valid TypeScript, but they can fail to type-check
for safety reasons.