/awesome-developer-dictionary

📖 A curated list of definitions of programming terms.

MIT LicenseMIT

Dictionary

Awesome Developer Dictionary

Simple definitions of Programming terms

Awesome Awesome Awesome

Introduction

This project was created with the intention of making developers, both experts and beginners get a basic understanding of some terms used in the programming world.

Community

Feel free to submit a PR adding a new term with a definition. If you want to translate the repo into your native language, please feel free to do so.

All the translations for this repo will be listed below:

Contents

  1. A
  2. B
  3. C
  4. D
  5. E
  6. F
  7. G
  8. H
  9. I
  10. J
  11. K
  12. L
  13. M
  14. N
  15. O
  16. P
  17. Q
  18. R
  19. S
  20. T
  21. U
  22. V
  23. W
  24. X
  25. Y
  26. Z

A

  • abstraction: a technique for arranging complexity of computer systems.
  • agile: the ability to create and respond to change.
  • algorithm: the basic technique used to get the job done.
  • application (software):a program or group of programs designed for end users.
  • API (application programming interface): an intermediary software that allows two or more applications to talk to each other.
  • argument: a value that is passed to the function (as input) when it is called.
  • array: a data structure consisting of a collection of elements, values or variables each identified by at least one array index or key. see list

B

  • binary operator: an operator that takes two arguments.
  • boolean: a data type that has one of two possible values (usually denoted true and false).
  • branch: a parallel world where you can create commit without introducing bugs into production code.
  • bug: an error in the source code that causes a program to produce unexpected results.

C

  • callback: a function that is passed as an argument to another and is expected to execute at a given time.
  • class: a defined structure to create an object in an object-oriented programming language.
  • CLI (Command Line Interface): the terminal version of an application.
  • client: a piece of computer hardware or software that accesses a service made available by a server.
  • closure: a persistent scope which holds on to local variables even after the code execution has moved out of that block.
  • cohesion: a measure of how well the lines of source code within a module work together.
  • compiler: a program that translates computer code written in one programming language into another language.
  • components: independent and reusable bits of code that work in isolation and returns HTML via a render function. see web components
  • coupling: the degree of interdependence between software modules.
  • control flow: the order in which individual statements, instructions or function calls of an imperative program are executed.
  • CSV: plain-text files used to better organize large amounts of data.

D

  • database: a central location in which data is stored and managed.
  • Data-driven Programming: a programming paradigm in which the program statements describe the data to be matched and the processing required rather than defining a sequence of steps to be taken.
  • data structure: a data structure is a data organization, management, and storage format that enables efficient access and modification.
  • debugging: the process of finding and resolving bugs (defects or problems that prevent correct operation) within computer programs, software, or systems.
  • destructuring: a convenient way of extracting multiple values from data stored in objects and Arrays.
  • documentation (docs): a written text or illustration that accompanies a software which either explains how the software operates or how to use it.

E

  • ecosystem: a collection of software projects, which are developed and co-evolve in the same environment.
  • encapsulation: the bundling of data with the methods that operate on that data.
  • enum: a special data type that enables for a variable to be a set of predefined constants.
  • ES6 (ES2015): version 6 of the ECMA Script programming language and adds many more features intended to make large-scale software development easier.
  • event: an action or occurrence detected by a program.
  • event handler: a function containing program statements that are executed in response to an event.
  • expression: a combination of letters, numbers, or symbols used to represent a value of a variable.
  • extension: a piece of software extends the capabilities of an appliation and adds extra features to an already working standalone application.
  • extension (file): a three or four-letter abbreviation that signifies the file type. Eg: .js .tsx

F

  • framework: a concrete platform where common code with generic functionality can be selectively specialized or overridden by developers or users.
  • float: a data type composed of a number that is not an integer, because it includes a fraction represented in decimal format.
  • function: a block of organized, reusable code that is used to perform a single, related action.
  • Functional Programming: a programming paradigm that builds software by composing pure functions, avoiding shared state, mutable data, and side-effects.

G

  • generator: a function that can be used to control the iteration behaviour of a loop.
  • getter: a method that gets the value of a property.
  • GUI (Graphical User Interface): type of user interface where users can interact with electronic devices via visual indicator representations such as buttons, scroll bars, cursors, etc.

H

  • high-order function: a function that takes a function as an argument and returns a function.
  • HTML (Hyper Text Markup Language): standard markup language used to create Web pages.
  • HTTP (Hypertext Transfer Protocol): an application-layer protocol for transmitting hypermedia documents, such as HTML.
  • HTTP request methods: Some methods which indicate desired action on a resource. They include GET, PUT, POST etc.

I

  • IDE (Integrated Development Environment): a software application that combines all of the features and tools needed by a software developer.
  • immutable object: an object which cannot change after creation.
  • inheritance: the tendency of one class to derive properties and characteristics from other classes.
  • integer (int): a data type that represents some range of mathematical integers.
  • iteration: a general term for taking each item of something, one after another.
  • interpreter: is a computer program that directly executes instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program.
  • iterator: an object that enables a programmer to traverse a container, particularly lists.

J

  • JSON(JavaScript Object Notation): a syntax for storing and exchanging data compactible with most programming languages.

L

  • library: a single or collection of files, programs, routines, scripts, or functions that can be referenced in another code.
  • list: a collection type that stores ordered, non-unique elements which allow duplicates.
  • loop: a programming structure that repeats a sequence of instructions until a specific condition is met.

M

  • Machine Language: is the language understood by a computer.
  • Markup Language: a computer language that uses tags to define elements within a document.
  • method: a function associated with a class or an object.
  • mutable object: an object which can change after creation.

N

  • node: a basic unit of a data structure, such as a linked list or tree data structure.
  • null: a special data type which can have only one value: NULL.

O

  • Object-Oriented Programming: A programming paradigm that organizes software design around data, or objects, rather than functions and logic.

  • operator: a symbol that tells the compiler or interpreter to perform specific mathematical, relational or logical operation and produce final result.

P

  • package: a namespace that organizes a set of related classes and interfaces.
  • package manager: a programming language's tool to create project environments and easily import external dependencies.
  • parameter: variables that are used in the function declaration to represent those arguments that were sent to the function during the function call.
  • plugin: see extension
  • PNG (Portable Network Graphics): is an image type that's commonly used in web design to provide a transparent background and/or a semi-transparent image.
  • pointer: variable that stores the memory address of another variable.
  • polymorphism: an object-oriented programming concept that refers to the ability of a variable, function or object to take on multiple forms.
  • Procedural Programming: a programming paradigm based upon the concept of procedure calls, in which statements are structured into procedures (also known as subroutines or functions).
  • Programming: the process of creating a set of instructions that tell a computer how to perform a task.
  • Programming Language: a vocabulary and set of grammatical rules for instructing a computer or computing device to perform specific tasks. Eg. JavaScript, Python.
  • Programming Paradigm: a style or "way" of programming.
  • promise: an object that may produce a single value some time in the future.
  • properties: special values that are included within a class or an object.
  • prototype (JavaScript): an internal property in a JavaScript object.
  • pseudocode: detailed description of steps in a computer program or algorithm, intended for human reading rather than machine reading. It often uses structural conventions of programming languages.

Q

  • Query Language: a computer programming language that requests and retrieves data from database and information systems by sending queries.

R

  • recursion: a process in which a function calls itself as a subroutine. See recursion
  • Regular Expression: a sequence of symbols and characters expressing a string or pattern to be searched for within a longer piece of text.
  • repository: a central location in which code is stored and managed.
  • REPL (Read-Eval-Print Loop): an interactive interpreter to a programming language.
  • REST (Representational State Transfer): a set of constraints to be used for creating Web services.
  • RESTful Web Services: web services that conform to the REST architectural style.

S

  • sandbox: a testing environment that isolates untested code changes and outright experimentation from the production environment or repository, in the context of software development including Web development and revision control.
  • server: a computer that provides data to other computers.
  • setter: a method that sets the value of a property.
  • Software Engineering: is the process of analyzing user needs and designing, constructing, and testing end-user applications that will satisfy these needs through the use of software programming languages.
  • Source Code: is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text.
  • statement: a single line of code that is used to perform a specific task.
  • string: a sequence of characters.
  • String Concatenation: is the operation of joining character strings end-to-end.
  • subexpression: a part of an expression that is by itself a correct expression.
  • SVG (Scalable Vector Graphics): a vector graphics file format that enables two-dimensional images to be displayed in XML pages on the Web.
  • syntax: the grammar of a programming language.

T

  • template: a preformatted file that serve as the starting point for another file.
  • tenary operator: an operator that takes three arguments.
  • testing: a process to evaluate the functionality of a software application with an intent to find whether the developed software met the specified requirements or not and to identify the bugs to ensure that the product is bug-free.
  • testing framework: a set of guidelines or rules used for creating and designing test cases.
  • token: a single element of a programming language. Eg keyword, operator
  • tree: a data structure in which each element is attached to one or more elements directly beneath it.
  • type (data type): an attribute of data which tells the compiler or interpreter how the programmer intends to use the data.

U

  • UI (User Interface): the point of human-computer interaction and communication in a device.
  • UX (User Experience): is what a user of a particular product experiences when using that product.
  • unary operator: an operator that takes a single operand and performs an operation.
  • URL (Uniform Resource Locator): the address of a given unique resource on the Web.

V

  • variable: are used to store information to be referenced and manipulated in a computer program. Their purpose is to label and store data in memory so that the user may use it throughout the program if needed.
  • Version Control: a system that records changes to a file or set of files over time so that you can recall specific versions later.

W

  • Web Components: a set of web platform APIs that allow you to create new custom, reusable, encapsulated HTML tags to use in web pages and web apps.
  • webhooks: automated messages sent from apps when something happens.

X

  • XML: a markup language with rules to be readable by machines and humans.

Y

  • YAML (YAML Ain't Markup Language): a markup language similar to XML using minimal syntax, natively using lists, scalars and associative arrays.