There are many terms that are very similar and are sometimes used interchangeably. This isn't wrong per se, a slight difference may be insignificant in certain contexts. However it's good to know the differences for those cases when they matter. The following list tries to document some of the often confused terms.
- **[AI](ai.md)** vs **[machine learning](machine_learning.md)** vs **[neural networks](neural_net.md)**
- **[algebra](algebra.md)** vs **[arithmetic](arithmetic.md)**
- **[algorithm](algorithm.md)** vs **[program](program.md)**
- **[analog](analog.md)** vs **[mechanical](mechanical.md)**
- **[anarchy](anarchism.md)** vs **[chaos](chaos.md)**
- **[argument](argument.md)** vs **[parameter](parameter.md)**
- **[array](array.md)** vs **[list](list.md)**
- **[ASCII art](ascii_art.md)** vs **[ANSI art](ansi_art.md)**
- **[assembler](assembler.md)** vs **[assembly](assembly.md)**
- **[bug](bug.md)** vs **[error](error.md)** vs **[exception](exception.md)** vs **[fault](fault.md)** vs **[failure](fail.md)** vs **[defect](defect.md)**
- **[computer science](compsci.md)** vs **[information technology](it.md)** vs **[informatics](informatics.md)** vs **[cybernetics](cybernetics.md)**
- **[concurrency](concurrency.md)** vs **[parallelism](parallelism.md)** vs **[quasiparallelism](quasiparallelism.md)** vs **[distribution](distributed.md)**
- **[evolutionary programming](evolutionary.md)** vs **[evolutionary algorithm](evolutionary.md)** vs **[genetic programming](genetic_programming.md)** vs **[genetic algorithm](genetic_algorithm.md)**
- **[floating point number](float.md)** vs **[real number](real_number.md)**
- **[font](font.md)** vs **[typeface](typeface.md)**
- **[framework](framework.md)** vs **[library](library.md)**
- **[free software](free_software.md)** vs **[open source](open_source.md)** vs **[public domain](public_domain.md)** vs **[source available](source_available.md)** vs **[freeware](freeware.md)**
- **[geek](geek.md)** vs **[nerd](nerd.md)**
- **[GNU](gnu.md)/Linux** vs **[Linux](linux.md)**