An open API service indexing awesome lists of open source software.

https://github.com/rossant/programming-yin-yang

A list of antonyms commonly used in programming
https://github.com/rossant/programming-yin-yang

antonyms bestpractices codequality glossary naming-conventions programming words

Last synced: 3 months ago
JSON representation

A list of antonyms commonly used in programming

Awesome Lists containing this project

README

          

# A list of antonyms commonly used in programming

> There are only two hard things in Computer Science: cache invalidation and naming things. ― Phil Karlton

Good programmers name things well. Finding the most appropriate and common terms for complex concepts and abstractions may be difficult, especially for non-native English speakers. This page proposes English words and antonyms that are commonly used in programming.

This is a work in progress, feel free to open issues and propose pull requests.

One related effort is Microsoft's list of PowerShell verbs, "Approved Verbs for PowerShell Commands", https://docs.microsoft.com/en-us/powershell/developer/cmdlet/approved-verbs-for-windows-powershell-commands

## abstract / concrete

[Abstract type](https://en.wikipedia.org/wiki/Abstract_type).

## accept / reject

## acquire / release

[Concurrent computing](https://en.wikipedia.org/wiki/Concurrent_computing).
[Acquire and release semantics](http://preshing.com/20120913/acquire-and-release-semantics/).
[Mutex](https://en.wikipedia.org/wiki/Mutual_exclusion), [semaphores](https://en.wikipedia.org/wiki/Semaphore_(programming)).

## add / remove

## allocate / free

[Memory management](https://en.wikipedia.org/wiki/Memory_management).

## allow / deny

## ancestor / descendent

[Trees](https://en.wikipedia.org/wiki/Tree_(data_structure)).

## and / or

[Boolean algebra](https://en.wikipedia.org/wiki/Boolean_algebra).

## any / all

[Quantifiers](https://en.wikipedia.org/wiki/Quantifier_(logic)).

## assemble / disassemble

[Assembly language](https://en.wikipedia.org/wiki/Assembly_language).
[Disassembler](https://en.wikipedia.org/wiki/Disassembler).

## assign / deassign

## attach / detach

## authorize / unauthorize

## balance / unbalance

## begin / end

## best / worse

## bind / unbind

[Network socket](https://en.wikipedia.org/wiki/Network_socket).

## blocking / non-blocking

## break / continue

[Control flow](https://en.wikipedia.org/wiki/Control_flow).

## client / server

[Client-server model](https://en.wikipedia.org/wiki/Client%E2%80%93server_model).

## coalesce / fragment

[Coalescing](https://en.wikipedia.org/wiki/Coalescing_(computer_science)).
[Fragmentation](https://en.wikipedia.org/wiki/Fragmentation_(computing)).
[Memory segmentation](https://en.wikipedia.org/wiki/Memory_segmentation).
[Memory management](https://en.wikipedia.org/wiki/Memory_management_(operating_systems)).

## coarse / fine

[Granular computing](https://en.wikipedia.org/wiki/Granular_computing).
[Granularity](https://en.wikipedia.org/wiki/Granularity_(parallel_computing)).

## commit / rollback

[Rollback](https://en.wikipedia.org/wiki/Rollback_(data_management)).
[Database transaction](https://en.wikipedia.org/wiki/Database_transaction).
[Version control](https://en.wikipedia.org/wiki/Version_control).

## compile / decompile

## compress / decompress

[Data compression](https://en.wikipedia.org/wiki/Data_compression).

## confirm / cancel

## conjunction / disjunction

[Logical conjunction](https://en.wikipedia.org/wiki/Logical_conjunction).
[Logical disjunction](https://en.wikipedia.org/wiki/Logical_disjunction).
[Mathematical logic](https://en.wikipedia.org/wiki/Mathematical_logic).

## connect / disconnect

## constant / variable

## construct / destruct

[Constructor (object-oriented programming)](https://en.wikipedia.org/wiki/Constructor_(object-oriented_programming)).
[Destructor](https://en.wikipedia.org/wiki/Destructor_(computer_programming)).
[Creational pattern](https://en.wikipedia.org/wiki/Creational_pattern).

## consume / produce

[Producer-consumer problem](https://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem).

## contiguous / noncontiguous

[Difference Between Contiguous and Noncontiguous Memory Allocation](https://techdifferences.com/difference-between-contiguous-and-non-contiguous-memory-allocation.html).

## continuous / discontinuous

[Continuous function](https://en.wikipedia.org/wiki/Continuous_function).

## create / destroy

## cyclic / acyclic

[Cyclic graph](https://en.wikipedia.org/wiki/Cyclic_graph).
[Directed acyclic graph](https://en.wikipedia.org/wiki/Directed_acyclic_graph).
[Cycle](https://en.wikipedia.org/wiki/Cycle_(graph_theory)).
[Cycle graph](https://en.wikipedia.org/wiki/Cycle_graph).
[Graph theory](https://en.wikipedia.org/wiki/Graph_theory).

## decidable / undecidable

[Decidability](https://en.wikipedia.org/wiki/Decidability_(logic)).
[Decision problem](https://en.wikipedia.org/wiki/Decision_problem).

## definite / indefinite

## deterministic / stochastic

[Deterministic system](https://en.wikipedia.org/wiki/Deterministic_system).
[Stochastic process](https://en.wikipedia.org/wiki/Stochastic_process).

## digital / analog

[Digital signal](https://en.wikipedia.org/wiki/Digital_signal).
[Analog signal](https://en.wikipedia.org/wiki/Analog_signal).

## direct / indirect

## direct / inverse

## dirty / clean

[Dirty data](https://en.wikipedia.org/wiki/Dirty_data)

## divide / conquer

[Divide and conquer algorithm](https://en.wikipedia.org/wiki/Divide_and_conquer_algorithm)

## download / upload

## drag / drop

## enable / disable

## enlarge / narrow

## enqueue / dequeue

## enter / leave (exit)

## expand / collapse

[Accordion (UI)](https://en.wikipedia.org/wiki/Accordion_(GUI)).

## extend / shorten

## FIFO / LIFO

[Stack (abstract data type)](https://en.wikipedia.org/wiki/Stack_(abstract_data_type))

## finite / infinite

## first / last

## fold / unfold

[Fold (higher-order function)](https://en.wikipedia.org/wiki/Fold_(higher-order_function)).

## forget / remember

## forward / backward

## free / bound

[Free variables and bound variables](https://en.wikipedia.org/wiki/Free_variables_and_bound_variables).

## freeze / unfreeze

## front / back

[Front and back ends](https://en.wikipedia.org/wiki/Front_and_back_ends).
[Multiple buffering](https://en.wikipedia.org/wiki/Multiple_buffering).

## gather / distribute

## get / set

## grant / revoke

[SQL Security and privileges](http://www.cs.toronto.edu/~nn/csc309-20085/guide/pointbase/docs/html/htmlfiles/authorizationFIN.html).

## greater / lower

## greedy (eager) / lazy

[Greedy algorithm](https://en.wikipedia.org/wiki/Greedy_algorithm).
[Lazy evaluation](https://en.wikipedia.org/wiki/Lazy_evaluation).
[Greedy and lazy quantifiers in regular expressions](https://javascript.info/regexp-greedy-and-lazy).
[Eager learning](https://en.wikipedia.org/wiki/Eager_learning).
[Lazy learning](https://en.wikipedia.org/wiki/Lazy_learning).

## group / divide

## head / tail

[14 tail and head commands in Linux/Unix](https://www.linux.com/blog/14-tail-and-head-commands-linuxunix)
[Linked list](https://en.wikipedia.org/wiki/Linked_list).

## heap / stack

[Heap data structure](https://en.wikipedia.org/wiki/Heap_(data_structure)).
[Stack (abstract data type)](https://en.wikipedia.org/wiki/Stack_(abstract_data_type)).
[Memory management](https://en.wikipedia.org/wiki/Memory_management).

## hit / miss

[Cache](https://en.wikipedia.org/wiki/Cache_(computing)).

## homogeneous / heterogeneous

## horizontal / vertical

## implicit / explicit

[Explicit and implicit methods in numerical analysis](https://en.wikipedia.org/wiki/Explicit_and_implicit_methods).
[Zen of Python](https://en.wikipedia.org/wiki/Zen_of_Python).

## import / export

## inbound / outbound

## include / exclude

## increase / decrease

## increment / decrement

## indent / dedent

[Indentation](https://en.wikipedia.org/wiki/Indentation_(typesetting)).

## inflate / deflate

[DEFLATE data compression algorithm](https://en.wikipedia.org/wiki/DEFLATE).

## initial / final

## inner / outer

## input / output

## insert (create) / delete

## intended / unintended

## internal / external

## intersection / union

[Intersection](https://en.wikipedia.org/wiki/Intersection_(set_theory)).
[Union](https://en.wikipedia.org/wiki/Union_(set_theory)).
[Set theory](https://en.wikipedia.org/wiki/Set_theory).

## join (merge) / split

[Join in SQL](https://en.wikipedia.org/wiki/Join_(SQL)).
[Joining lists and splitting strings in Python](http://www.diveintopython.net/native_data_types/joining_lists.html).

## key / value

[Key-value database](https://en.wikipedia.org/wiki/Key-value_database).
[Associative array](https://en.wikipedia.org/wiki/Associative_array).
[Attribute-value pair](https://en.wikipedia.org/wiki/Attribute%E2%80%93value_pair).

## label / unlabel

[Labeled data in machine learning](https://en.wikipedia.org/wiki/Labeled_data).

## linear / nonlinear

[Linearity](https://en.wikipedia.org/wiki/Linearity).
[Nonlinear system](https://en.wikipedia.org/wiki/Nonlinear_system).

## link / unlink

## load / dump (store)

[Load/store architecture](https://en.wikipedia.org/wiki/Load/store_architecture).
[Load-store unit](https://en.wikipedia.org/wiki/Load%E2%80%93store_unit).

## local / global

[Global variable](https://en.wikipedia.org/wiki/Global_variable).

## local / remote (distant)

## lower / upper

## major / minor

[Semantic versioning](https://semver.org/).
[Software versioning](https://en.wikipedia.org/wiki/Software_versioning).

## map / reduce

[MapReduce](https://en.wikipedia.org/wiki/MapReduce).

## master / slave

[Master/slave configuration](https://en.wikipedia.org/wiki/Master/slave_(technology)).

Note: prefer the terms *primary / secondary*.

## minimal / maximal

## named / unnamed

## next / previous

## open / close

## optimal / suboptimal

## ordered / disordered

## pack / unpack

[Pack and unpack in Perl](https://www.stat.berkeley.edu/~spector/extension/perl/notes/node87.html).
[Pack and unpack in MPI](http://mpi-forum.org/docs/mpi-2.2/mpi22-report/node84.htm).

## parent / child

[Parent process](https://en.wikipedia.org/wiki/Parent_process).
[Child process](https://en.wikipedia.org/wiki/Child_process).
[Fork](https://en.wikipedia.org/wiki/Fork_(system_call)).
[Tree data structure](https://en.wikipedia.org/wiki/Tree_(data_structure)).
[Document Object Model (DOM)](https://en.wikipedia.org/wiki/Document_Object_Model).

## passive / active

## pending / finished

## positive / negative

## postfix (suffix) / prefix

## precede / follow

## press / release

## primary / secondary

## public / private

[Access modifiers](https://en.wikipedia.org/wiki/Access_modifiers).

## push / pop

[Stack (abstract data type)](https://en.wikipedia.org/wiki/Stack_(abstract_data_type))

## push / pull

## read / write

## record / retrieve

## recover / lose

## reference / dereference

## register / unregister

## request / response

[Request-response communication](https://en.wikipedia.org/wiki/Request%E2%80%93response).

## restricted / unrestricted

## run time / compile time

[Compile time](https://en.wikipedia.org/wiki/Compile_time).
[Run time](https://en.wikipedia.org/wiki/Run_time_(program_lifecycle_phase)).
[Runtime system](https://en.wikipedia.org/wiki/Runtime_system).

## search / find

## select / deselect

## send / receive

## sequential / parallel

[Sequential algorithm](https://en.wikipedia.org/wiki/Sequential_algorithm).
[Parallel computing](https://en.wikipedia.org/wiki/Parallel_computing).

## set up / tear down

[Unit testing](https://en.wikipedia.org/wiki/Unit_testing).

## show / hide

## silent / verbose

## single / multiple

## soft / hard

## solvable / unsolvable

[Turing degree](https://en.wikipedia.org/wiki/Turing_degree).

## sort / unsort

[Sorting algorithm](https://en.wikipedia.org/wiki/Sorting_algorithm).

## source (origin) / destination

## sparse / dense

[Sparse matrix](https://en.wikipedia.org/wiki/Sparse_matrix)

## stable / unstable

[Stability in sorting algorithms](https://www.geeksforgeeks.org/stability-in-sorting-algorithms/).
[Stable-unstable semantics](https://www.cambridge.org/core/journals/theory-and-practice-of-logic-programming/article/stable-unstable-semantics-beyond-np-with-normal-logic-programs/DC9BB0EED8EBCC6D7BE30C0FA62A1BB5).

## start / stop

## stateful / stateless

[Stateless protocol](https://en.wikipedia.org/wiki/Stateless_protocol).

## static / dynamic

[Type system](https://en.wikipedia.org/wiki/Type_system).
[Static analysis](https://en.wikipedia.org/wiki/Static_analysis).

## strong / weak

[Strong and weak typing](https://en.wikipedia.org/wiki/Strong_and_weak_typing).

## sub / super

## subscribe / unsubscribe

## subset / superset

[Subset](https://en.wikipedia.org/wiki/Subset).

## superclass / subclass

[Object-oriented programming](https://en.wikipedia.org/wiki/Object-oriented_programming).

## supervised / unsupervised

[Supervised learning](https://en.wikipedia.org/wiki/Supervised_learning).
[Unsupervised learning](https://en.wikipedia.org/wiki/Unsupervised_learning).

## symmetric / asymmetric

## synchronous / asynchronous

[Synchronization](https://en.wikipedia.org/wiki/Synchronization_(computer_science)).
[Synchronous programming language](https://en.wikipedia.org/wiki/Synchronous_programming_language).
[Asynchrony](https://en.wikipedia.org/wiki/Asynchrony_(computer_programming)).
[Futures and promises](https://en.wikipedia.org/wiki/Futures_and_promises).

## top / bottom

## top-down / bottom-up

[Top-down and bottom-up design](https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design).

## total / partial

[Total order](https://en.wikipedia.org/wiki/Total_order).
[Partially ordered set](https://en.wikipedia.org/wiki/Partially_ordered_set).

## tractable / intractable

[Parameterized complexity](https://en.wikipedia.org/wiki/Parameterized_complexity).
[Computational complexity theory](https://en.wikipedia.org/wiki/Computational_complexity_theory).

## trim / expand

## true / false

[Boolean data type](https://en.wikipedia.org/wiki/Boolean_data_type).

## up / down

## validate / invalidate

[Cache invalidation](https://en.wikipedia.org/wiki/Cache_invalidation).

## value / reference

[Evaluation strategy](https://en.wikipedia.org/wiki/Evaluation_strategy).

## virtual / real

[Virtual class](https://en.wikipedia.org/wiki/Virtual_class).
[Virtual reality](https://en.wikipedia.org/wiki/Virtual_reality).

## visible / invisible

## wait / resume

[Wait system call](https://en.wikipedia.org/wiki/Wait_(system_call)).

## weighted / unweighted

[Graph](https://en.wikipedia.org/wiki/Graph_(discrete_mathematics)).

# Sources

Programming antonyms:

* [Antonym list](https://gist.github.com/maxtruxa/b2ca551e42d3aead2b3d)

Programming glossaries:

* [Dictionary of Algorithms and Data Structures (NIST)](https://xlinux.nist.gov/dads/)
* [Design and Analysis of Algorithms](https://www.ics.uci.edu/~eppstein/161/glossary.html)
* [Programming glossary](http://whatis.techtarget.com/glossary/Programming)
* [Glossary of computer programming](https://en.wiktionary.org/wiki/Appendix:Glossary_of_computer_programming)
* [Programming terms](https://www.computerhope.com/jargon/program.htm)
* [Mathematical Programming Glossary](https://glossary.informs.org/ver2/mpgwiki/index.php?title=Main_Page)

Naming things well:

* [How to name things](http://hilton.org.uk/presentations/naming) (Peter Hilton)
* [Why naming things is hard](http://hilton.org.uk/blog/why-naming-things-is-hard) (Peter Hilton)
* [How to get better at naming things](http://hilton.org.uk/blog/how-to-get-better-at-naming) (Peter Hilton)
* [Naming things](https://24ways.org/2014/naming-things/) (Paul Lloyd)

# License

[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/)

To the extent possible under law, [Cyrille Rossant](http://cyrille.rossant.net) has waived all copyright and related or neighboring rights to this work.