Skip to main content

Book 01

Programming Fundamentals

Core concepts you meet in every language: variables, functions, asynchronous code and programming paradigms.

Contents

  1. 01Abstract Class1An abstract class is a class that can't be instantiated on its own; it shares code with its subclasses and declares methods that each subclass must implement.
  2. 02Abstraction2Abstraction is hiding the complicated details of how something works behind a simpler interface, so code can use it by knowing only what it does.
  3. 03Algorithm3An 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.
  4. 04Array4An 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.
  5. 05Async/Await5Async/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.
  6. 06Base646Base64 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.
  7. 07Big O Notation7Big 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.
  8. 08Callback8A 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.
  9. 09Character Encoding9Character 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.
  10. 10Class10A 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.
  11. 11Closure11A 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.
  12. 12Code Formatter12A code formatter is a tool that rewrites source code into one consistent layout, fixing indentation, spacing and line breaks without changing what it does.
  13. 13Compiler13A 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.
  14. 14Composition14Composition builds an object out of other objects that it holds and delegates work to, modeling a has-a relationship instead of inheriting from a parent class.
  15. 15Concurrency15Concurrency 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.
  16. 16Constructor16A 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.
  17. 17Coroutine17A coroutine is a function that can pause partway, hand control back, and later resume where it stopped, so many tasks can take turns on just a few threads.
  18. 18Currying18Currying turns a function that takes several arguments into a chain of functions that each take one argument, so the arguments can be supplied one at a time.
  19. 19Data Type19A 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.
  20. 20Debugging20Debugging 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.
  21. 21Dynamic Typing21Dynamic 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.
  22. 22Encapsulation22Encapsulation 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.
  23. 23Enum23An 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.
  24. 24Exception24An 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.
  25. 25Framework25A 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.
  26. 26Function26A function is a named, reusable block of code that performs a specific task, optionally taking inputs called parameters and returning a result.
  27. 27Functional Programming27Functional programming is a style of building software from pure functions that avoid changing shared data, making code more predictable and easier to test.
  28. 28Garbage Collection28Garbage collection is automatic memory management in which the language runtime finds data a program can no longer use and frees that memory for reuse.
  29. 29Generics29Generics are a language feature that lets you write functions, classes, and types that work with many data types while still keeping full type safety.
  30. 30Higher-Order Function30A 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.
  31. 31IDE31An IDE (integrated development environment) is an application that combines a code editor, a debugger, build commands and other developer tools in one place.
  32. 32Immutability32Immutability means a value cannot be changed after it is created, so every update produces a new value instead of modifying the original in place.
  33. 33Inheritance33Inheritance is an object-oriented programming feature that lets a new class reuse, extend, and override the fields and methods of an existing class.
  34. 34Interface34An interface is a named set of method and property signatures that a type promises to provide, without saying how those members are implemented.
  35. 35Interpreter35An interpreter is a program that runs source code directly, step by step, instead of first translating the whole program into a separate executable file.
  36. 36Iterator36An 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.
  37. 37JIT Compilation37JIT compilation turns the busiest parts of a program into machine code while it runs, combining an interpreter's quick start with compiled speed.
  38. 38Lambda Function38A lambda function is a small function written inline without a name, usually passed straight to another function such as a sorting or filtering helper.
  39. 39Library39A 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.
  40. 40Loop40A 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.
  41. 41Memoization41Memoization is an optimization technique that stores the results of function calls and returns the saved result when the same inputs occur again.
  42. 42Method42A 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").
  43. 43Monad43A monad is a functional programming pattern for chaining steps that each return a wrapped value, such as an Optional, while the wrapper handles the plumbing.
  44. 44Null44Null 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.
  45. 45Object45An object is a bundle of related data and behavior: values in named fields, often called properties, and functions that work on them, called methods.
  46. 46OOP46OOP, 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.
  47. 47Package Manager47A package manager is a tool that installs, updates and removes software packages and their dependencies, resolving versions automatically.
  48. 48Parallelism48Parallelism is running several computations at literally the same time, on multiple CPU cores, GPUs or machines, so a large job finishes faster.
  49. 49Parameter49A 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.
  50. 50Pointer50A 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.
  51. 51Polymorphism51Polymorphism is the ability of code to work with values of different types through one shared interface, with each type supplying its own behavior.
  52. 52Promise52A promise is an object that represents the eventual result of an asynchronous operation, letting code react to success or failure once the work completes.
  53. 53Pure Function53A pure function always returns the same output for the same input and has no side effects, meaning it does not change anything outside itself.
  54. 54Recursion54Recursion 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.
  55. 55Regular Expression55A regular expression, or regex, is a pattern written in a compact syntax that describes text to search for, validate, extract or replace within strings.
  56. 56Scope56Scope 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.
  57. 57SDK57An SDK (software development kit) is a package of tools, libraries, documentation and examples for building software for a particular platform or service.
  58. 58Stack Trace58A 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.
  59. 59Static Typing59Static 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.
  60. 60String60A 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.
  61. 61Type Inference61Type 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.
  62. 62Variable62A 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.

Back to the libraryNext book: Web Development

More

Settings