Programming: glossary terms
Core software development concepts: APIs, version control, testing, languages, patterns and everyday engineering vocabulary.
शब्दकोश · प्रोग्रामिंगAlgorithmAn algorithm is a finite, step-by-step procedure for solving a problem or performing a computation, such as sorting a list or finding a route.शब्दकोश · प्रोग्रामिंगAPI (Application Programming Interface)An API is a defined set of rules and endpoints that lets one piece of software request data or actions from another without knowing its internals.शब्दकोश · प्रोग्रामिंगAPI KeyAn API key is a secret string that identifies an application calling an API, used for access control, usage tracking and rate limiting.शब्दकोश · प्रोग्रामिंगArray (Data Structure)An array is a data structure that stores elements in contiguous memory and lets you access each one instantly by its numeric index.शब्दकोश · प्रोग्रामिंगAsynchronous ProgrammingAsynchronous programming lets a program start a slow task, such as a network request, and continue other work instead of blocking until it finishes.शब्दकोश · प्रोग्रामिंगBackward CompatibilityBackward compatibility means a newer version of software or an API continues to work with data, code and clients built for older versions.शब्दकोश · प्रोग्रामिंगBig O NotationBig O notation describes how an algorithm's running time or memory use grows as its input size grows, ignoring constants and lower-order terms.शब्दकोश · प्रोग्रामिंगBinary TreeA binary tree is a hierarchical data structure in which each node has at most two children, called left and right.शब्दकोश · प्रोग्रामिंगBugA bug is a flaw or mistake in software that causes it to produce incorrect results, crash or behave differently from what its designers intended.शब्दकोश · प्रोग्रामिंगC (Programming Language)C is a low-level, compiled programming language from the early 1970s that gives direct control over memory and underlies most operating systems.शब्दकोश · प्रोग्रामिंगC# (Programming Language)C# is a statically typed, object-oriented language from Microsoft that runs on the .NET platform and is used for web, desktop, mobile and game development.शब्दकोश · प्रोग्रामिंगC++C++ is a compiled, multi-paradigm language that extends C with classes, templates and a large standard library, used where performance matters.शब्दकोश · प्रोग्रामिंगCallbackA callback is a function passed as an argument to another function, which calls it later when an operation finishes or an event occurs.शब्दकोश · प्रोग्रामिंगCherry-PickCherry-picking in Git copies a single chosen commit from one branch onto another by creating a new commit with the same changes.शब्दकोश · प्रोग्रामिंगCI/CD (Continuous Integration and Delivery)CI/CD is the practice of automatically building and testing every code change (CI) and automatically releasing it to environments or production (CD).शब्दकोश · प्रोग्रामिंगClosureA closure is a function bundled with the variables from the scope where it was created, so it can keep using them after that scope has finished.शब्दकोश · प्रोग्रामिंगCode CoverageCode coverage is a metric showing what percentage of a program's lines, branches or functions are executed by its automated tests.शब्दकोश · प्रोग्रामिंगCode FormatterA code formatter automatically rewrites source code into a consistent style, handling indentation, spacing and line breaks so teams avoid style debates.शब्दकोश · प्रोग्रामिंगCode ReviewCode review is the practice of having teammates examine proposed code changes before they are merged to catch defects and improve quality.शब्दकोश · प्रोग्रामिंगCompilerA compiler is a program that translates source code written in a high-level language into machine code or bytecode before the program runs.शब्दकोश · प्रोग्रामिंगData StructureA data structure is a way of organizing and storing data in memory, such as an array, hash map, stack or tree, so it can be used efficiently.शब्दकोश · प्रोग्रामिंगDebuggingDebugging is the process of finding, understanding and fixing the cause of a bug using tools such as logs, breakpoints and reproducible test cases.शब्दकोश · प्रोग्रामिंगDependencyA dependency is an external library, package or service that your software needs in order to build or run correctly.शब्दकोश · प्रोग्रामिंगDependency InjectionDependency injection is a technique where an object receives the other objects it depends on from outside, rather than creating them itself.शब्दकोश · प्रोग्रामिंगDeprecatedDeprecated describes a feature, function or API that still works but is discouraged and planned for removal, so users should migrate to its replacement.शब्दकोश · प्रोग्रामिंगDesign PatternA design pattern is a reusable, named solution to a commonly occurring software design problem, described as a template rather than finished code.शब्दकोश · प्रोग्रामिंगDRY (Don't Repeat Yourself)DRY is a software principle stating that each piece of knowledge should have a single, authoritative representation in a codebase.शब्दकोश · प्रोग्रामिंगEnvironment VariableAn environment variable is a named value set outside a program's code, such as a port or API key, that the program reads from its operating environment.शब्दकोश · प्रोग्रामिंगEvent LoopThe event loop is the mechanism that lets a single-threaded runtime handle many asynchronous tasks by repeatedly running queued callbacks.शब्दकोश · प्रोग्रामिंगExceptionAn exception is an error event raised during program execution that interrupts normal flow and can be caught and handled by surrounding code.शब्दकोश · प्रोग्रामिंगFork (Git)A fork is a personal copy of another repository on a hosting platform, letting you change it freely and propose those changes back via a pull request.शब्दकोश · प्रोग्रामिंगFunctionA function is a named, reusable block of code that takes input values called parameters, performs a task and can return a result to the caller.शब्दकोश · प्रोग्रामिंगFunctional ProgrammingFunctional programming is a style that builds programs from pure functions and immutable data, avoiding shared state and side effects.शब्दकोश · प्रोग्रामिंगGarbage CollectionGarbage collection is automatic memory management in which a runtime finds objects a program can no longer reach and frees their memory.शब्दकोश · प्रोग्रामिंगGitGit is a free, distributed version control system that tracks changes to source code and lets many developers work on the same project in parallel.शब्दकोश · प्रोग्रामिंगGit BranchA Git branch is a lightweight, movable pointer to a line of commits that lets you develop a feature or fix in isolation from the main code.शब्दकोश · प्रोग्रामिंगGit CommitA Git commit is a saved snapshot of your project's tracked files, identified by a unique hash and stored with an author, timestamp and message.शब्दकोश · प्रोग्रामिंगGit RebaseGit rebase moves or replays a branch's commits on top of another base commit, producing a linear history instead of a merge commit.शब्दकोश · प्रोग्रामिंगGo (Programming Language)Go is a statically typed, compiled language from Google designed for simple syntax, fast builds and easy concurrency in networked services.शब्दकोश · प्रोग्रामिंगGraphQLGraphQL is a query language and runtime for APIs where the client specifies exactly which fields it wants and receives them in a single request.शब्दकोश · प्रोग्रामिंगHash TableA hash table is a data structure that maps keys to values by running each key through a hash function to find where its value is stored.शब्दकोश · प्रोग्रामिंगIDE (Integrated Development Environment)An IDE is a software application that combines a code editor, build tools, a debugger and other helpers in one interface for writing software.शब्दकोश · प्रोग्रामिंगIdempotentAn idempotent operation produces the same end result no matter how many times it is repeated, which makes retries safe in APIs and distributed systems.शब्दकोश · प्रोग्रामिंगImmutabilityImmutability means a value cannot be changed after it is created; instead of modifying it, code produces a new value with the change applied.शब्दकोश · प्रोग्रामिंगInteger OverflowInteger overflow happens when an arithmetic result exceeds the largest value a fixed-size integer type can hold, causing wraparound or an error.शब्दकोश · प्रोग्रामिंगIntegration TestAn integration test checks that multiple components, such as code, a database and an external service, work correctly together rather than in isolation.शब्दकोश · प्रोग्रामिंगInterpreterAn interpreter is a program that reads source code and executes it directly, line by line or statement by statement, without a separate compile step.शब्दकोश · प्रोग्रामिंगJavaJava is a statically typed, object-oriented programming language that compiles to bytecode and runs on the Java Virtual Machine across platforms.शब्दकोश · प्रोग्रामिंगJSON (JavaScript Object Notation)JSON is a lightweight text format for structured data built from objects, arrays, strings, numbers, booleans and null, used by most web APIs.शब्दकोश · प्रोग्रामिंगKotlinKotlin is a statically typed language from JetBrains that runs on the JVM, is Google's preferred language for Android, and interoperates with Java.शब्दकोश · प्रोग्रामिंगLibrary vs FrameworkA library is code you call when you need it, while a framework calls your code and dictates the structure of your application.शब्दकोश · प्रोग्रामिंगLinked ListA linked list is a data structure of nodes where each node holds a value and a reference to the next node, allowing quick insertion and removal.शब्दकोश · प्रोग्रामिंगLinterA linter is a tool that statically analyzes source code to flag bugs, risky constructs and style violations without running the program.शब्दकोश · प्रोग्रामिंगMemory LeakA memory leak is a bug where a program keeps memory it no longer needs, so its memory use grows over time until performance suffers or it crashes.शब्दकोश · प्रोग्रामिंगMerge ConflictA merge conflict happens when Git cannot automatically combine changes because two branches edited the same lines or one deleted a file the other changed.शब्दकोश · प्रोग्रामिंगMiddlewareMiddleware is code that sits between a request and the final handler in an application, processing or modifying it for tasks like logging or authentication.शब्दकोश · प्रोग्रामिंगMockingMocking replaces a real dependency in a test with a controlled fake object that returns preset responses and can record how it was called.शब्दकोश · प्रोग्रामिंगMonorepoA monorepo is a single version-control repository that holds the code for many projects, services or packages instead of one repository each.शब्दकोश · प्रोग्रामिंगMVC (Model-View-Controller)MVC is an architectural pattern that separates an application into a model for data, a view for display, and a controller that handles input.शब्दकोश · प्रोग्रामिंगNullNull is a special value meaning that a variable or field has no value or does not point to any object, and misusing it is a classic source of bugs.शब्दकोश · प्रोग्रामिंगOOP (Object-Oriented Programming)Object-oriented programming is a style that organizes code into objects combining data and behavior, built on classes, encapsulation and inheritance.शब्दकोश · प्रोग्रामिंगOpen SourceOpen source software has publicly available source code that anyone may inspect, modify and share under a license that meets the Open Source Definition.शब्दकोश · प्रोग्रामिंगPackage ManagerA package manager is a tool that downloads, installs, updates and removes software libraries and their dependencies, such as npm, pip or apt.शब्दकोश · प्रोग्रामिंगPaginationPagination splits a large set of results into smaller pages that are returned or displayed one at a time, using offsets, page numbers or cursors.शब्दकोश · प्रोग्रामिंगPHPPHP is a server-side scripting language widely used for web development and the language behind WordPress and a large share of dynamic websites.शब्दकोश · प्रोग्रामिंगPointerA pointer is a variable that stores the memory address of another value, letting a program access or modify data indirectly.शब्दकोश · प्रोग्रामिंगPromise (Programming)A promise is an object representing the eventual result of an asynchronous operation, which is pending, fulfilled with a value, or rejected with an error.शब्दकोश · प्रोग्रामिंगPull RequestA pull request is a proposal to merge one branch into another on a hosting platform, where teammates review, discuss and test the changes first.शब्दकोश · प्रोग्रामिंगPythonPython is a high-level, dynamically typed, general-purpose programming language known for readable syntax and a very large standard library.शब्दकोश · प्रोग्रामिंगQueue (Data Structure)A queue is a first-in, first-out data structure where items are added at the back and removed from the front, like a line of people.शब्दकोश · प्रोग्रामिंगRace ConditionA race condition is a bug where a program's result depends on the unpredictable timing or order of concurrent operations that share data.शब्दकोश · प्रोग्रामिंगRecursionRecursion is a technique where a function solves a problem by calling itself on smaller versions of that problem until it reaches a simple base case.शब्दकोश · प्रोग्रामिंगRefactoringRefactoring is restructuring existing code to make it cleaner and easier to maintain without changing what the program does from the outside.शब्दकोश · प्रोग्रामिंगRegex (Regular Expression)A regular expression is a compact pattern language for matching, searching and replacing text, used for validation, parsing and log filtering.शब्दकोश · प्रोग्रामिंगREST APIA REST API is a web API that exposes resources at URLs and uses standard HTTP methods such as GET, POST, PUT and DELETE to read and change them.शब्दकोश · प्रोग्रामिंगRubyRuby is a dynamic, object-oriented scripting language known for expressive syntax and for powering the Ruby on Rails web framework.शब्दकोश · प्रोग्रामिंगRuntimeA runtime is the environment and period in which a program executes, providing services such as memory management, libraries and system access.शब्दकोश · प्रोग्रामिंगRust (Programming Language)Rust is a compiled systems language that guarantees memory safety without a garbage collector by enforcing ownership and borrowing rules at compile time.शब्दकोश · प्रोग्रामिंगScope (Programming)Scope is the region of a program where a variable or function name is visible and can be used, such as local, function, block or global scope.शब्दकोश · प्रोग्रामिंगSDK (Software Development Kit)An SDK is a bundle of libraries, tools, documentation and samples that helps developers build software for a specific platform, service or API.शब्दकोश · प्रोग्रामिंगSemantic Versioning (SemVer)Semantic versioning is a numbering scheme, MAJOR.MINOR.PATCH, where each part signals whether a release has breaking changes, features or only fixes.शब्दकोश · प्रोग्रामिंगSerializationSerialization converts an in-memory object or data structure into a format such as JSON or binary that can be stored or transmitted and later rebuilt.शब्दकोश · प्रोग्रामिंगSingletonThe singleton is a design pattern that ensures a class has only one instance and provides a single global point of access to it.शब्दकोश · प्रोग्रामिंगSoftware License (MIT, GPL, Apache)A software license is the legal agreement that states how code may be used, modified and redistributed, such as the permissive MIT or copyleft GPL.शब्दकोश · प्रोग्रामिंगSOLID PrinciplesSOLID is a set of five object-oriented design principles aimed at making software easier to understand, extend and maintain.शब्दकोश · प्रोग्रामिंगStack TraceA stack trace is a printed list of the function calls active when an error occurred, showing the file and line numbers that led to the failure.शब्दकोश · प्रोग्रामिंगStack vs HeapThe stack holds short-lived function data in a fast, ordered structure, while the heap holds dynamically allocated data that can outlive a function call.शब्दकोश · प्रोग्रामिंगSwift (Programming Language)Swift is a compiled, statically typed language from Apple, used to build apps for iOS, macOS, watchOS and tvOS, with safety features built in.शब्दकोश · प्रोग्रामिंगTDD (Test-Driven Development)Test-driven development is a practice where you write a failing automated test first, then write the minimum code to pass it, then refactor.शब्दकोश · प्रोग्रामिंगTechnical DebtTechnical debt is the future cost of rework created by choosing a quick or messy solution now instead of a better design that would take longer.शब्दकोश · प्रोग्रामिंगThreadA thread is the smallest unit of execution within a process, letting a program run several tasks concurrently while sharing the same memory.शब्दकोश · प्रोग्रामिंगTypeScriptTypeScript is a typed superset of JavaScript from Microsoft that adds static types and compiles to plain JavaScript for browsers and Node.js.शब्दकोश · प्रोग्रामिंगUnit TestA unit test is a small automated test that checks one function or class in isolation to verify it returns the expected result for a given input.शब्दकोश · प्रोग्रामिंगVariableA variable is a named storage location in a program that holds a value, which can be read and, in most languages, changed while the program runs.शब्दकोश · प्रोग्रामिंगVersion ControlVersion control is a system that records changes to files over time so you can review history, revert mistakes and collaborate without overwriting work.शब्दकोश · प्रोग्रामिंगXML (Extensible Markup Language)XML is a text markup format that stores structured data in nested, self-describing tags and is used for feeds, sitemaps, configuration and legacy APIs.शब्दकोश · प्रोग्रामिंगYAMLYAML is a human-readable data format that uses indentation to express structure and is widely used for configuration files in CI/CD, Docker and Kubernetes.