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.
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:
- 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
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- 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.
- JSON(JavaScript Object Notation): a syntax for storing and exchanging data compactible with most programming languages.
- 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.
- 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.
- 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.
-
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.
- 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.
- Query Language: a computer programming language that requests and retrieves data from database and information systems by sending queries.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- XML: a markup language with rules to be readable by machines and humans.
- YAML (YAML Ain't Markup Language): a markup language similar to XML using minimal syntax, natively using lists, scalars and associative arrays.