This project was created with the intention of helping 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:
- 404: an error message when what was requested cannot be found; often because the link that was requested is broken.
- abstraction: a technique for arranging complexity of computer systems.
- active learning: A training approach in which the algorithm chooses some of the data it learns from.
- adaptive design: The way in which a website is built determines how it appears on different devices. Adaptive design creates a website in several different layouts, each suited for different screen sizes. Depending on what device is being used to access the website, the website will adapt and deliver the appropriate layout. See also: responsive design and mobile-first.
- agile: the ability to create and respond to change.
- Agile software development: software development methodologies that focus on iterative development.
- 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.
- Application Security: Application security is the process of making apps more secure by finding, fixing, and enhancing the security of apps. Application security encompasses measures taken to improve the security of an application often by finding, fixing and preventing security vulnerabilities. Much of this happens during the development phase, but it includes tools and methods to protect apps once they are deployed.
- argument: a value that is passed to a 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
- artificial general intelligence: a non-human mechanism that demonstrates a broad range of problem solving, creativity, and adaptability. For example, a program demonstrating artificial general intelligence could translate text, compose symphonies, and excel at games that have not yet been invented.
- artificial intelligence: a non-human program or model that can solve sophisticated tasks.
- attribute: Information about elements of a component in your website design/build.
- augmented reality: A technology that superimposes a computer-generated image on a user's view of the real world, thus providing a composite view.
- authentication: Authentication is the process of verifying identity e.g. a user’s identity. It might involve validating personal identity documents, verifying the authenticity of a website with a digital certificate, determining the age of an artifact by carbon dating, or ensuring that a product or document is not counterfeit. It is the mechanism of associating an incoming request with a set of identifying credentials.
- authorization: Authorization is the function of specifying access rights/privileges to resources, which is related to information security and computer security in general and to access control in particular. More formally, "to authorize" is to define an access policy.
- back end: All of the behind-the-scenes digital operations that it takes to keep the front end of a website running, such as the coding, style, and plugins.
- binary operator: an operator that takes two arguments.
- boilerplate: A boilerplate is a collection of code snippets and assets that can be reused to boost development.
- boolean: a data type that has one of two possible values (usually denoted true and false).
- bootstrap: Bootstrap is a free, open-source frontend framework for designing websites and web apps. Bootstrap includes HTML and CSS-based design templates for typography, forms, buttons, tables, navigation, modals and more, plus JavaScript plugins.
- branch: a parallel world where you can create commits without introducing bugs into production code.
- browser: The program you use to access the Web — such as Chrome, Firefox, or Safari.
- bug: an error in the source code that causes a program to produce unexpected results.
- buffer: a sequential section of memory allocated to contain anything from a character string to an array of integers.
- buffer overflow: a condition that exists when a program attempts to put more data in a buffer than it can hold.
- cache: The storage of certain elements to help with faster load times from repeat website visitors. Stores data that needs to be readily accessed by programs and applications.
- callback: a function that is passed as an argument to another and is expected to execute at a given time.
- CDN (Content Delivery Network): A content delivery network (CDN) is a geographically distributed network of servers whose goal is to provide high availability and performance of the service served, to users.
- 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.
- Cloud computing: Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user. The term is generally used to describe data centers available to many users over the Internet.
- CMS (Content Management System): The program that you use to create and maintain your website’s content.
- cohesion: a measure of how well the lines of source code within a module work together.
- comments: In computer programming, a comment is a programmer-readable explanation or annotation in the source code of a computer program. They are added with the purpose of making the source code easier for humans to understand, and are generally ignored by compilers and interpreters.
- commit (VCS): an operation which groups a set of changes behind a name and a number, making these changes part of the head revision of the repository. See VCS
- 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 return HTML via a render function. see web components
- constant: A constant is a value that will never change during the running time of the program.
- container: a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.
- control flow: the order in which individual statements, instructions, or function calls of an imperative program are executed.
- cookies: This is the data sent by an Internet server to a browser. Each time the browser accesses the same server, it sends the data back as a means of tracking how (and how often) it accesses the server.
- coupling: the degree of interdependence between software modules.
- CRM (Customer Relationship Management): In website development, this refers to the software and applications used to gather, analyze, and maintain information on customers, donors, and prospects.
- CSS (Cascading Style Sheets): CSS is the code that tells the browser how to display the content of a web page for the end user by formatting fonts, colors, backgrounds, and other visual elements.
- CSV: plain-text files used to better organize large amounts of data via comma-separated values.
- cyber security: Cyber security is the practice of defending computers, servers, mobile devices, electronic systems, networks, and data from malicious attacks. It's also known as information technology security or electronic information security.
- CI/CD: CI and CD stand for continuous integration and continuous delivery/continuous deployment. CI/CD bridges the gaps between development and operation activities and teams by enforcing automation in building, testing and deployment of applications.
- 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 lake: A data lake is a system or storage repository that holds a vast amount of raw data in its native format usually object blobs or files until it is needed. While a hierarchical data warehouse stores data in files or folders, a data lake uses a flat architecture to store data.
- 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.
- data warehouse: A data warehouse is a large collection of business data used to help an organization make decisions. Data Warehouses are central repositories of integrated data from one or more disparate sources. It is a system used for reporting and data analysis, and is considered a core component of business intelligence. The concept of the data warehouse has existed since the 1980s, when it was developed to help transition data from merely powering operations to fueling decision support systems that reveal business intelligence.
- deep learning: a broader family of machine learning methods based on artificial neural networks with representation learning. Deep-learning architectures such as deep neural networks, deep belief networks, deep reinforcement learning, recurrent neural networks and convolutional neural networks have been applied to fields including computer vision, speech recognition, natural language processing, machine translation, bioinformatics, drug design, medical image analysis, material inspection and board game programs, where they have produced results comparable to and in some cases surpassing human expert performance.
- deployment: Deployment is a key step in the web development process. Once a website or an app has been developed and tested, it’s ready to go live; in other words, it’s ready to be deployed. There are several different stages to deploying a website, with the last being hosting it.
- design patterns: In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code.
- destructuring: a convenient way of extracting multiple values from data stored in objects and arrays.
- DevOps (Development Operations): System of working that helps to keep development, IT operations, and quality assurance departments on the same page to make for better end-products and collaborations.
- DHCP (Dynamic Host Configuration Protocol): A protocol that provides new devices on a network the information they need to communicate with other devices.
- documentation (docs): written text or illustrations that accompany software and either explain how the software operates or how to use it.
- domain: The address for a website as entered into the browser.
- DOM (Document Object Model): The Document Object Model (DOM) is a programming API for HTML and XML documents. It defines the logical structure of documents and the way a document is accessed and manipulated.
- DRY (Don't Repeat Yourself): Used to describe concise code that is not long and/or repetitive. Example use: "This code is not DRY."
- EAI (Enterprise application integration): Enterprise application integration is an integration framework composed of a collection of technologies and services which form a middleware or "middleware framework" to enable integration of systems and applications across an enterprise. Enterprise application integration is the process of linking multiple applications within a single organization together in order to simplify and automate business processes to the greatest extent possible, while at the same time avoiding having to make sweeping changes to the existing applications or data structures. Applications can be linked either at the back-end via APIs or (seldomly) the front-end (GUI). In the words of research firm Gartner: EAI is the unrestricted sharing of data and business processes among any connected application or data sources in the enterprise.
- 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.
- encryption: the process of converting information or data into a code, especially to prevent unauthorized access.
- 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.
- environment variables: a variable whose value is set outside the program, typically through functionality built into the operating system, and can be accessed inside the program.
- ERP (Enterprise Resource Planning): Refers to software and systems used to plan and manage all the core supply chain, manufacturing, services, financial and other processes of an organization.
- 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): an abbreviation that signifies file type. Eg:
.js .tsx
- favicon: Short for “favorite icon,” it’s the icon that appears in your website’s browser tab.
- firewall: System to protect a secure network from an unsecure network (i.e., the rest of the Internet).
- 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.
- front end: The part of the website or app that the user sees. If the back end of your website is everything behind-the-scenes, this is what happens onstage.
- FTP (File Transfer Protocol): Method of exchanging files from one computer to another. This is also how websites are uploaded to the Internet.
- 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 and avoiding shared state, mutable data, and side-effects.
- full-stack: Full-stack developers work across all three layers: the frontend, the backend, and the database layer. Because of the sheer depth of their knowledge across the entire tech stack, this kind of developer tends to have years of industry experience and gets paid well for it.
- 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.
- Git : a version control system that automatically updates our file/or project when we commit it.
- GitHub : GitHub is a cloud interface for Git. GitHub offers all the version control functionality of Git, but also offers its own features, such as bug tracking, task management and project wikis.
- 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.
- IaaS (Infrastructure as a Service): Infrastructure as a service (IaaS) is a form of cloud computing that provides virtualized computing resources like compute, network, and storage to consumers on-demand, over the internet, and on a pay-as-you-go basis.
- 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: 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.
- information architecture: Information architecture is the practice of organizing complex information in a clear and logical way. In terms of websites and apps, this means creating a user-friendly structure that makes it easy for the user to find their way around.
- iterator: an object that enables a programmer to traverse a container, particularly lists.
- IP: Internet Protocol, the protocol by which data is sent from one computer to another on the Internet.
- Java: Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let application developers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture.
- Java EE: Java EE stands for Java Enterprise Edition, which was earlier known as J2EE and is currently known as Jakarta EE. It is a set of specifications wrapping around Java SE (Standard Edition). The Java EE provides a platform for developers with enterprise features such as distributed computing and web services. Java EE applications are usually run on reference run times such as microservers or application servers. Examples of some contexts where Java EE is used are e-commerce, accounting, banking information systems.
- jQuery: a fast, small, and feature-rich JavaScript library whose purpose is to make it much easier to use JavaScript on your website.
- JSON (JavaScript Object Notation): a syntax for storing and exchanging data compactible with most programming languages.
- JSX: an HTML-like syntax that is intended to be used by preprocessors to transform HTML-like text found in JavaScript files into standard JavaScript objects that a JavaScript engine can parse.
- JVM: Java Virtual Machine, or JVM, loads, verifies and executes Java bytecode. It is known as the interpreter or the core of Java programming language because it executes Java programming.
- JWT (JSON Web Token): JWT or JSON Web Token is a standard used to create access tokens for an application.
- kernel: a computer program within the operating system with complete control over everything in the system.
- keyword: a keyword is a word that is reserved by a program because the word has a special meaning.
- kubernetes: Kubernetes is an open-source container orchestration platform that enables the operation of an elastic web server framework for cloud applications. Kubernetes can support data center outsourcing to public cloud service providers or can be used for web hosting at scale.
- library: a single or collection of files, programs, routines, scripts, or functions that can be referenced in another code.
- linked list: In computer science, a linked list is a linear collection of data elements whose order is not given by their physical placement in memory. Instead, each element points to the next. It is a data structure consisting of a collection of nodes which together represent a sequence.
- list: a collection type that stores ordered, non-unique elements which allow duplicates.
- load testing: Load testing is a type of non-functional testing. A load test is type of software testing which is conducted to understand the behavior of the application under a specific expected load. Load testing is performed to determine a system's behavior under both normal and at peak conditions.
- log file: In computing, a log file is a file that records either events that occur in an operating system or other software runs, or messages between different users of a communication software. Logging is the act of keeping a log. In the simplest case, messages are written to a single log file.
- logical error: a logic error is a bug in a program that causes it to operate incorrectly, but not to terminate abnormally (or crash).
- 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.
- Merge Sort: a Divide and Conquer algorithm. It divides the input array into two halves, calls itself for the two halves, and then merges the two sorted halves.
- meta tag: Additional information on web pages or elements, such as the way a piece of content should display in Google search results, the photo credit for an image, or the main keywords associated with a plugin.
- method: a function associated with a class or an object.
- memoization: optimization technique that involves storing the result so you can use it next time instead of calculating the same thing again and again.
- middleware: Middleware is software that provides common services and capabilities to applications outside of what's offered by the operating system. Data management, application services, messaging, authentication, and API management are all commonly handled by middleware.
- MIME: Multipurpose Internet Mail Extensions is an Internet standard that extends the format of email messages to support text in character sets other than ASCII, as well as attachments of audio, video, images, and application programs.
- mutable object: an object which can change after creation.
- Metaverse: Technically, a metaverse is a collective virtual shared space, created by the convergence of virtually enhanced physical and digital reality.
- navigation: Links on a homepage that break down the other pages of a website. This can be both in the menu at the top of a site or in a footer (preferably both).
- NAT (Network Address Translation): a method of remapping an IP address space into another
- natural language understanding: determining a user's intentions based on what the user typed or said. For example, a search engine uses natural language understanding to determine what the user is searching for based on what the user typed or said.
- neural network: a model that, taking inspiration from the brain, is composed of layers (at least one of which is hidden) consisting of simple connected units or neurons followed by nonlinearities.
- neuron: a node in a neural network, typically taking in multiple input values and generating one output value. The neuron calculates the output value by applying an activation function (nonlinear transformation) to a weighted sum of input values.
- node: a basic unit of a data structure, such as a linked list or tree data structure.
- NoSQL or NoSQL Databases: NoSQL databases (aka "not only SQL") are non tabular, and store data differently than relational tables. A NoSQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. NoSQL databases come in a variety of types based on their data model. The main types are document, key-value, wide-column, and graph.
- node.js: NNode.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser.
- noise: anything that obscures the signal in a dataset.
- 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.
- objective: a metric that your algorithm is trying to optimize.
- On-Premises: On-premises is the software and technology that is located within the physical confines of an enterprise – often in the company's data center (installing and running software on hardware located within the premises of the company) – as opposed to running remotely on hosted servers or in the cloud.
- operator: a symbol that tells the compiler or interpreter to perform specific mathematical, relational or logical operation and produce final result.
- operating system: An operating system, or OS, is a type of software that enables the user to run applications on a device.
- open source software: Open source software (OSS) is software that is distributed with its source code, making it available for use, modification, and distribution with its original rights. OSS typically includes a license that allows programmers to modify the software to best fit their needs and control how the software can be distributed.
- OOTB: “Out of the Box.” Also known as “Off the Shelf.” These are the ready-made, plug-and-play options for features and functions that you can download and install without the need to customize or configure.
- PaaS (Platform as a Service): Platform-as-a-service (PaaS) is a type of cloud computing offering in which a service provider delivers a platform to clients, enabling them to develop, run, and manage business applications without the need to build and maintain the infrastructure such software development processes typically require.
- package: a namespace that organizes a set of related classes and interfaces.
- page template: The layout for a webpage — pages that have similar structures share the same template (such as event detail pages for a variety of events on the same website). Pages that are radically different use separate templates.
- 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.
- parse: The action of transforming data in a more workable way.
- performance testing: Performance testing is the process of determining the speed, responsiveness and stability of a computer, network, software program or device under a workload. Performance testing can involve quantitative tests done in a lab, or occur in the production environment in limited scenarios.
- PHP: PHP stands for Hypertext Preprocessor, a server-side scripting language. Among other things, PHP can be used to generate dynamic page content, to send and receive cookies, to control user access and to encrypt data. it’s compatible with almost all servers used today, it’s fairly easy to learn, supports a wide range of databases, and it’s free to download.
- pipeline: a set of data processing elements connected in series, where the output of one element is the input of the next one.
- plugin: see extension
- PNG (Portable Network Graphics): 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).
- Process Control Block: aka PCB, a data structure used by computer operating systems to store all the information about a process.
- 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 rule 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.
- Python: Python is an interpreted, high-level and general-purpose programming language.
- query: a request that send to retrieve information from database and information system
- query language: a computer programming language that requests and retrieves data from database and information systems by sending queries.
- queue: Queue is an abstract data structure, somewhat similar to Stacks. Unlike stacks, a queue is open at both its ends. One end is always used to insert data (enqueue) and the other is used to remove data (dequeue). Queue follows First-In-First-Out methodology, i.e., the data item stored first will be accessed first. A real-world example of queue can be a single-lane one-way road, where the vehicle enters first, exits first. More real-world examples can be seen as queues at the ticket windows and bus-stops.
- RAML (RESTful API Modeling Language): RESTful API Modeling Language is a YAML-based language for describing RESTful APIs. It provides all the information necessary to describe RESTful or practically RESTful APIs. RAML lets you see what your API looks like as you design it, using easy to read plain text. RESTful API Modeling Language (RAML) makes it easy to manage the whole API lifecycle from design to sharing. It's concise - you only write what you need to define - and reusable. It is machine readable API design that is actually human friendly.
- redirects: Automatic forwards from one URL to another — usually from an old website URL to the same page on a new website (these are called 301 Redirects).
- ruby: Ruby is an interpreted, high-level, general-purpose programming language. Ruby is dynamically typed and uses garbage collection and just-in-time compilation.
- ruby on rails: Ruby on Rails, or Rails, is a server-side web application framework written in Ruby under the MIT License. Rails is a model–view–controller framework, providing default structures for a database, a web service, and web pages.
- recursion: a process in which a function calls itself as a subroutine. See recursion
- regression testing: Regression testing is re-running functional and non-functional tests to ensure that previously developed and tested software still performs after a change.
- 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): Representational state transfer (REST) is a software architectural style that defines a set of constraints to be used for creating Web services. Web services that conform to the REST architectural style, called RESTful Web services, provide interoperability between computer systems on the internet. RESTful Web services allow the requesting systems to access and manipulate textual representations of Web resources by using a uniform and predefined set of stateless operations, in the form of an HTTP method, or verb (GET, POST, PUT, DELETE etc.). By using a stateless protocol and standard operations, RESTful systems aim for fast performance, reliability, and the ability to grow by reusing components.
- RESTful Web Services: web services that conform to the REST architectural style.
- resolution: Essentially how large an image or graphic can be rendered on a display. Oftentimes developers talk about the resolution of photos as photos at a low resolution won’t display as well if they need to be sized for the full width of a desktop screen. Resolutions are measured in pixels (e.g., the resolution of a MacBook Air screen is 1440 x 900 pixels).
- SaaS (Software as a Service): Software as a service (SaaS) is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. It is sometimes referred to as "on-demand software".
- SAML (Security Assertion Markup Language): Security Assertion Markup Language is an open standard for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. What that jargon means is that you can use one set of credentials to log into many different websites. SAML is an XML-based markup language for security assertions.
- 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.
- SDLC (Software Development Life Cycle): Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality softwares. The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates. It is also referred to as the application development life-cycle.
- server: a computer that provides data to other computers.
- sequence model: a model whose inputs have a sequential dependence. For example, predicting the next video watched from a sequence of previously watched videos.
- setter: a method that sets the value of a property.
- sitemap: Outline of all pages on a website, organized in hierarchical order — much like the outlines you used to use for your college term papers.
- SOA (Service Oriented Architecture): Service-oriented architecture (SOA) is a style of software design where services are provided to the other components by application components, through a communication protocol over a network.
- SOAP (Simple Object Access Protocol): SOAP is a messaging protocol specification for exchanging structured information in the implementation of web services in computer networks. Its purpose is to provide extensibility, neutrality, verbosity and independence. It uses XML Information Set for its message format, and relies on application layer protocols, most often Hypertext Transfer Protocol (HTTP), although some legacy systems communicate over Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.
- socket: one endpoint of a two-way communication link between two programs running on the network
- Software architecture:Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations.
- 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.
- Software integration: Software integration is the process of bringing together various types of software sub-systems so that they create a unified single system. Software integration can be required for a number of reasons, such as: Migrating from a legacy system to a new database system, including cloud-based data storage.
- Source Code: is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text.
- SQL (Structured Query Language): SQL is a domain-specific language used in programming and designed for managing data held in a relational database management system, or for stream processing in a relational data stream management system. According to ANSI (American National Standards Institute), it is the standard language for relational database management systems.
- SSL: SSL stands for Secure Sockets Layer. It’s a standard security protocol for ensuring that all data transmitted between the web server and the browser remains encrypted—and therefore unreadable to the naked eye. You can tell if a website has an SSL certificate by looking at the web address: if the URL starts with “https”, the website is secure. You’ll also see a padlock symbol in the browser bar.
- stack: In computer science, a stack is an abstract data type (ADT) that serves as a collection of elements, with two main principal operations: push, which adds an element to the collection, and pop, which removes the most recently added element that was not yet removed. Stack is commonly used in most programming languages. It is named stack as it behaves like a real-world stack, for example – a deck of cards or a pile of plates, etc. A real-world stack allows operations at one end only. For example, we can place or remove a card or plate from the top of the stack only. Likewise, Stack ADT allows all data operations at one end only. At any given time, we can only access the top element of a stack. This feature makes it LIFO data structure. LIFO stands for Last-in-first-out. Here, the element which is placed (inserted or added) last, is accessed first.
- statement: a single line of code that is used to perform a specific task.
- stress testing: Stress Testing is a type of software testing that verifies stability & reliability of software application. Stress testing is a software testing activity that determines the robustness of software by testing beyond the limits of normal operation. Stress testing is particularly important for "mission critical" software, but is used for all types of software. The goal of Stress testing is measuring software on its robustness and error handling capabilities under extremely heavy load conditions and ensuring that software doesn't crash under crunch situations.
- 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.
- subnet mask: a 32-bit number that separates an IP address into the network and host addresses.
- 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.
- system testing: System testing is testing conducted on a complete integrated system to evaluate the system's compliance with its specified requirements. System testing takes, as its input, all of the integrated components that have passed integration testing. The purpose of a system test is to evaluate the end-to-end system specifications. Usually, the software is only one element of a larger computer-based system.
- SRE: Site Reliability Engineering is a growing discipline that fills in gaps between Dev & Ops.
- TCP (Transmission Control Protocol): a communication protocol used most often on networks that use Internet Protocol (IP)
- 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.
- text editor: A text editor is just a type of software used to write plain, unformatted text. You’ll use a text editor such as SublimeText, TextEdit or TextWrangler to write your initial code. Then, later on, it will be formatted to make it computer-readable.
- thread: a way for a program to divide itself into two or more simultaneously running tasks.
- thread pool: a defined number of pre-initialized threads which stand by, ready to be given work
- 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.
- UAT (User Acceptance Testing): User Acceptance Testing (UAT) is one of the last stages of the software development life cycle. It is performed after the software has been thoroughly tested. It is sometimes known as End User Testing. UAT is a type of testing performed by the end user or the client to verify/accept the software system before moving the software application to the production environment. UAT is done in the final phase of testing after functional, integration and system testing is done.
- UI (User Interface): the point of human-computer interaction and communication in a device.
- unit testing: In computer programming, unit testing is a software testing method by which individual units of source code—sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures—are tested to determine whether they are fit for use. Unit tests are typically automated tests written and run by software developers to ensure that a section of an application (known as the "unit") meets its design and behaves as intended. In procedural programming, a unit could be an entire module, but it is more commonly an individual function or procedure.
- unix: Unix is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.
- 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.
- URI (Uniform Resource Identifier): A Uniform Resource Identifier is a string of characters that unambiguously identifies a particular resource. To guarantee uniformity, all URIs follow a predefined set of syntax rules, but also maintain extensibility through a separately defined hierarchical naming scheme.
- URL (Uniform Resource Locator): the address of a given unique resource on the Web.
- variable: is used to store information to be referenced and manipulated in a computer program. Its purpose is to label and store data in memory so that the user may use it throughout the program if needed.
- Version Control System (VCS): a system that records changes to a file or set of files over time so that you can recall specific versions later.
- Visual Basic (VB): The original Visual Basic is a third-generation event-driven programming language from Microsoft known for its Component Object Model programming model first released in 1991 and declared legacy during 2008. Microsoft intended Visual Basic to be relatively easy to learn and use.
- VM (Virtual Machine): A virtual machine (VM) is a virtual environment that functions as a virtual computer system with its own CPU, memory, network interface, and storage, created on a physical hardware system (located off- or on-premises). Software called a hypervisor separates the machine’s resources from the hardware and provisions them appropriately so they can be used by the VM.
- web browser: A web browser, or simply 'browser', is an application used to access and view websites. Common web browsers include Microsoft Edge, Internet Explorer, Google Chrome, Mozilla Firefox, and Apple Safari.
- 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.
- WebRTC: A browser-based programming interface (API) from the W3C for voice and video calling that bypasses the traditional telephone networks.
- web server: A web server is computer software and underlying hardware that accepts requests via HTTP, the network protocol created to distribute web pages, or its secure variant HTTPS.
- web service: A web service is a piece of software that makes itself available over the internet.Web services are self-contained, modular, distributed, dynamic applications that can be described, published, located, or invoked over the network. These applications can be local, distributed, or web-based. Web services are built on top of open standards such as TCP/IP, HTTP, Java, HTML, and XML.
- XHTML: Extensible HyperText Markup Language is part of the family of XML markup languages. It mirrors or extends versions of the widely used HyperText Markup Language, the language in which Web pages are formulated.
- 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. YAML is a human-readable data-serialization language. It is commonly used for configuration files and in applications where data is being stored or transmitted. YAML targets many of the same communications applications as Extensible Markup Language but has a minimal syntax which intentionally differs from SGML.
- yarn: Yarn is a new package manager that replaces the existing workflow for the npm client or other package managers while remaining compatible with the npm registry. It has the same feature set as existing workflows while operating faster, more securely, and more reliably.