Book 01
Programming Fundamentals
Core concepts you meet in every language: variables, functions, asynchronous code and programming paradigms.
Contents
- 01Abstraction1Abstraction is hiding the complicated details of how something works behind a simpler interface, so code can use it by knowing only what it does.
- 02Algorithm2An algorithm is a finite, step-by-step set of instructions for solving a problem or completing a task, such as sorting a list or finding the shortest route.
- 03Array3An array is an ordered collection of values stored under one name, where each item is accessed by its numeric position, called an index, usually starting at 0.
- 04Async/Await4Async/await is a syntax for writing asynchronous code that reads like ordinary step-by-step code, pausing at each await until a promise or task finishes.
- 05Base645Base64 is a way to write any binary data, such as an image or a key, using only 64 safe text characters, so it can pass through systems built for text.
- 06Big O Notation6Big O notation describes how an algorithm's running time or memory use grows as its input gets larger, focusing on the growth rate rather than exact speed.
- 07Callback7A callback is a function passed as an argument to another function, which then calls it later, for example when a task finishes or an event happens.
- 08Character Encoding8Character encoding is the set of rules that turns text into bytes and back again, so any letter can be stored and sent; today the standard is UTF-8.
- 09Class9A class is a blueprint in object-oriented programming that defines the data and behavior shared by a group of objects, which are created from it as instances.
- 10Closure10A closure is a function that remembers the variables from the scope where it was created, so it can keep using them even after the outer function has returned.
- 11Compiler11A compiler is a program that translates source code written in a programming language into a lower-level form, such as machine code, that a computer can run.
- 12Concurrency12Concurrency is a program's ability to make progress on several tasks in overlapping time periods, such as serving many users at once rather than one at a time.
- 13Constructor13A constructor is a special method that runs when a new object is created from a class, setting up its starting values so it is ready to use.
- 14Data Type14A data type is a classification that tells a program what kind of value a piece of data holds, such as a number or text, and which operations work on it.
- 15Debugging15Debugging is the process of finding out why a program misbehaves, locating the faulty code and fixing it, often with the help of a tool called a debugger.
- 16Dynamic Typing16Dynamic typing means types belong to values, not variables, and are checked while the program runs, so a variable can hold a number now and a string later.
- 17Encapsulation17Encapsulation is the practice of bundling data with the methods that use it and hiding internal details, so outside code works only through a public interface.
- 18EnumEnumerated Type18An enum is a data type that defines a fixed set of named values, such as an order's possible statuses, so code can't use a value outside that set.
- 19Exception19An exception is an event that interrupts a program's normal flow when an error occurs, which code can catch and handle instead of letting the program crash.
- 20Framework20A framework is a reusable foundation of code, tools, and conventions that provides the structure of an application, so developers only fill in their own logic.
- 21Function21A function is a named, reusable block of code that performs a specific task, optionally taking inputs called parameters and returning a result.
- 22Functional Programming22Functional programming is a style of building software from pure functions that avoid changing shared data, making code more predictable and easier to test.
- 23Garbage Collection23Garbage collection is automatic memory management in which the language runtime finds data a program can no longer use and frees that memory for reuse.
- 24Generics24Generics are a language feature that lets you write functions, classes, and types that work with many data types while still keeping full type safety.
- 25Higher-Order Function25A higher-order function is a function that takes another function as an argument, returns a function, or both, so behavior can be passed around like data.
- 26IDEIntegrated Development Environment26An IDE (integrated development environment) is an application that combines a code editor, a debugger, build commands and other developer tools in one place.
- 27Immutability27Immutability means a value cannot be changed after it is created, so every update produces a new value instead of modifying the original in place.
- 28Inheritance28Inheritance is an object-oriented programming feature that lets a new class reuse, extend, and override the fields and methods of an existing class.
- 29Interface29An interface is a named set of method and property signatures that a type promises to provide, without saying how those members are implemented.
- 30Interpreter30An interpreter is a program that runs source code directly, step by step, instead of first translating the whole program into a separate executable file.
- 31Iterator31An iterator is an object that lets code step through the items of a collection one at a time, remembering its position, without exposing how the data is stored.
- 32JIT CompilationJust-in-Time Compilation32JIT compilation turns the busiest parts of a program into machine code while it runs, combining an interpreter's quick start with compiled speed.
- 33Lambda Function33A lambda function is a small function written inline without a name, usually passed straight to another function such as a sorting or filtering helper.
- 34Library34A library is a collection of ready-made code, such as functions and classes, that a program calls to do common jobs without writing that code itself.
- 35Loop35A loop is a control structure that repeats a block of code, either a set number of times, once for each item in a collection, or while a condition stays true.
- 36Memoization36Memoization is an optimization technique that stores the results of function calls and returns the saved result when the same inputs occur again.
- 37Method37A method is a function that belongs to an object or class and is called on it, so it can read and change that object's data, as in user.rename("Ada").
- 38Null38Null is a special value that means "no value here", used when a variable deliberately refers to no object or data at all instead of holding something real.
- 39Object39An object is a bundle of related data and behavior: values in named fields, often called properties, and functions that work on them, called methods.
- 40OOPObject-Oriented Programming40OOP, or object-oriented programming, is a way of structuring code around objects that bundle related data together with the functions that act on that data.
- 41Package Manager41A package manager is a tool that installs, updates and removes software packages and their dependencies, resolving versions automatically.
- 42Parallelism42Parallelism is running several computations at literally the same time, on multiple CPU cores, GPUs or machines, so a large job finishes faster.
- 43Parameter43A parameter is a named input in a function's definition, and an argument is the actual value passed in that place when the function is called.
- 44Pointer44A pointer is a variable that stores the memory address of another value instead of the value itself, letting code read or change that data indirectly.
- 45Polymorphism45Polymorphism is the ability of code to work with values of different types through one shared interface, with each type supplying its own behavior.
- 46Promise46A promise is an object that represents the eventual result of an asynchronous operation, letting code react to success or failure once the work completes.
- 47Pure Function47A pure function always returns the same output for the same input and has no side effects, meaning it does not change anything outside itself.
- 48Recursion48Recursion is a technique in which a function solves a problem by calling itself on smaller versions of the same problem until it reaches a simple base case.
- 49Regular Expression49A regular expression, or regex, is a pattern written in a compact syntax that describes text to search for, validate, extract or replace within strings.
- 50Scope50Scope is the region of a program where a name, such as a variable or function, is visible and can be used, which decides what each line of code can reach.
- 51SDKSoftware Development Kit51An SDK (software development kit) is a package of tools, libraries, documentation and examples for building software for a particular platform or service.
- 52Stack Trace52A stack trace is the list of function calls in progress when an error happened, from the line that failed back to where the program started.
- 53Static Typing53Static typing means the types of variables and expressions are checked before the program runs, usually by the compiler, so many type errors are caught early.
- 54String54A string is a data type that represents text as an ordered sequence of characters, such as a name, a sentence, a URL, or the contents of a file.
- 55Type Inference55Type inference is a compiler feature that works out the type of a variable or expression automatically, so you don't have to write every type annotation.
- 56Variable56A variable is a named storage location in a program that holds a value, such as a number or a piece of text, which the code can read and change as it runs.