A to Z of Software Development


Agile software development is an approach to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s). Its methods include Scrum, Kanban, Extreme Programming(XP), Feature Driven Development(FDD)


Bytecode is object-oriented programming (OOP) code compiled to run on a virtual machine (VM) instead of a central processing unit (CPU). The VM transforms program code into readable machine language for the CPU because platforms utilize different code interpretation techniques.


A compiler is a computer program that transforms computer code written in one programming language (the source language) into another programming language (the target language). The name compiler is primarily used for programs that translate source code from a high-level programming language(Java) to a lower level language(Machine Language).


Debugging is the process of finding and resolving defects or problems within a computer program that prevent correct operation of computer software or a system. Debugging tactics can involve interactive debugging, control flow analysis, unit testing, integration testing, log file analysis, monitoring at the application or system level, memory dumps, and profiling.


Exception handling is the process of responding to exceptions when a computer program runs. An exception occurs when an unexpected event happens that requires special processing.


A function is a named section of a program that performs a specific task. In this sense, a function is a type of procedure or routine. It is a reusable line of code.


Garbage collection (GC) is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage or memory occupied by objects that are no longer in use by the program.


A heap is a specialized tree-based data structure which is essentially an almost complete[1] tree that satisfies the heap property: if P is a parent node of C, then the key (the value) of P is either greater than or equal to (in a max heap) or less than or equal to (in a min heap) the key of C.[2] The node at the “top” of the heap (with no parents) is called the root node.


An interpreter is a computer program that directly executes, i.e. performs, instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program


Just-In-Time (JIT) compilation, (also dynamic translation or run-time compilations),[1] is a way of executing computer code that involves compilation during execution of a program — at runtime — rather than prior to execution


A kernel is the foundational layer of an operating system (OS). It functions at a basic level, communicating with hardware and managing resources, such as RAM and the CPU.


A loop is a sequence of instruction s that is continually repeated until a certain condition is reached. Types of loops include For Loop, While Loop, do while loop, ForEach Loop


A method in object-oriented programming (OOP) is a procedure associated with a message and an object. An object is mostly made up of data and behaviour, which form the interface that an object presents to the outside world. Data are represented as properties of the object and behaviour as methods.


Null (or NULL) is a special marker used in Structured Query Language to indicate that a data value does not exist in the database


Object-oriented programming (OOP) is a programming paradigm based on the concept of “objects”, which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods.


A parameter is a special kind of variable in computer programming language that is used to pass information between functions or procedures. The actual information passed is called an argument.


A query is a set of instructions that describes what data to retrieve from a given data source (or sources) and what shape and organization the returned data should have. A query is distinct from the results that it produces.


Recursion in computer science is a method of solving a problem where the solution depends on solutions to smaller instances of the same problem (as opposed to iteration).[1] The approach can be applied to many types of problems, and recursion is one of the central ideas of computer science


A server is a computer program or a device that provides functionality for other programs or devices, called “clients”. Servers can provide various functionalities, often called “services”, such as sharing data or resources among multiple clients or performing computation for a client


The ternary operator is an operator that takes three arguments. The first argument is a comparison argument, the second is the result upon a true comparison, and the third is the result upon a false comparison. If it helps you can think of the operator as a shortened way of writing an if-else statement.


A Uniform Resource Locator (URL), colloquially termed a web address,[1] is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific type of Uniform Resource Identifier (URI)


A variable or scalar is a storage location (identified by a memory address) paired with an associated symbolic name (an identifier), which contains some known or unknown quantity of information referred to as a value.


The World Wide Web (WWW), also called the Web, is an information space where documents and other web resources are identified by Uniform Resource Locators (URLs), interlinked by hypertext links, and accessible via the Internet


XOXO (eXtensible Open XHTML Outlines), XOXO is a format for processing by XML engines, where the outline is hierarchical, ordered list of elements.


YAML (YAML Ain’t Markup Language) is a human-readable data serialization language. It is commonly used for configuration files, but could be used in many applications where data is being stored (e.g. debugging output) or transmitted (e.g. document headers).


Z-buffering, also known as depth buffering, is a technique in computer graphics programming that is used to determine whether an object (or part of an object) is visible in a scene. It can be implemented either in hardware or software and is used to increase rendering efficiency.