The Baeldung logo
  • The Baeldung LogoCS Sublogo
  • Start Here
  • About ▼▲
    • Full Archive

      The high level overview of all the articles on the site.

    • About Baeldung

      About Baeldung.

Category upCore Concepts

Programming

Programming languages provide a set of rules and grammar to define a set of instructions. This will typically be translated to machine code before execution. Learn about programming language concepts, features, and best practices.

  • Project Management (16)
  • Object-Oriented Programming (10)
  • Testing (7)
  • Dynamic Programming (6)
  • Formal Languages (4)
  • Design Patterns (3)
  • HTTP (3)
  • Recursion (3)
  • Linked List (3)
  • Compilers and Linkers (3)
  • Databases (2)
  • Optimization (2)
  • Stack (2)
  • Queue (2)

>> How to Count The Occurrences of a Digit In a Range of Integers?

>> Statements and Queries in SQL

>> Software Engineering vs. Data Science

>> Hungarian Notation

>> Best Open-Source Mixed Integer Optimization Solver

>> What and Where Are the Memory Stack and Heap?

>> What is Smoke Testing?

>> Serialization vs. Marshaling

>> What Is Ad Hoc Testing?

>> What Is Mob Programming?

>> Software Metrics: Lines of Code

>> Software Testing: Severity vs. Priority

>> The Spiral Model: An Overview

>> Bitwise Shift Operators

>> Explaining the Context Design Pattern

>> Differences Between Abstraction and Encapsulation

>> What Is Software Prototyping?

>> What Is Pair Programming?

>> SOAP vs. WSDL

>> Boxing and Unboxing

>> Software Quality

>> Factory Method vs. Factory vs. Abstract Factory

>> User Thread vs Kernel Threads

>> What Is Reverse Engineering in Computer Science?

>> Capability Maturity Model

>> Software Engineering: V-Shaped Model

>> What Are Serialization and Deserialization in Programming?

>> Extreme Programming

>> Maintainability Killers

>> What Is an API Endpoint?

>> What Is Reactive Programming?

>> OOP: Inheritance vs. Aggregation

>> What Is an ORM? How Does It Work? How Should We Use One?

>> Interfaces vs. Base Classes: the Similarities and Differences

>> What Is Software Diversity?

>> What Is Functional Decomposition?

>> XOR Swap

>> Dependency Injection vs. Service Locator

>> What Are Regular Languages?

  • Formal Languages

>> What Is Referential Transparency?

>> What Is Agile Programming?

>> Deprecated vs. Depreciated vs. Obsolete in Software Development

>> Recursion: Direct vs Indirect

>> Software Engineering: SCRUM vs. XP

>> Enumerators vs. Constants

>> What Is the Difference Between Keyword and Reserved Word?

>> Conditionals

>> Front-End vs. Back-End Development

>> Bugs and Debugging in Programming

>> How Many Bytes Does One Unicode Character Take?

>> KISS Software Design Principle

>> Private vs. Protected Access Modifiers

>> Off-by-One Error

>> What Are Low-Code and No-Code Development?

>> Unit vs. Integration Testing

>> DRY Software Design Principle

>> State Pattern vs. Strategy Pattern

>> Class vs. Object in OOP

>> What Are Handlers in Programming?

>> What Are Coroutines?

>> Error Handling

>> The 3Sum Problem

>> Software Engineering: White-Box vs. Black-Box Testing

>> The XP’s Commandments of Simple Code

>> Differences Between a Data Type and a Data Structure

>> Headless Software

>> Differences Between Simulation and Emulation

>> Finding Neighbors of a Matrix Cell

>> Vanilla Software and Programming

>> Ad-hoc Programming

>> Programming Languages: Lexicon vs. Syntax vs. Semantics

>> What’s a Buffer?

>> Difference Between API and SDK

>> Differences Between Definition, Declaration, and Initialization

>> Stateful vs. Stateless in Programming

>> Language Processors Explained

>> Cache-Friendly Code

>> Orthogonality in Computer Programming

>> If-Else and Switch

>> What Is the Difference Between Signed and Unsigned Variables?

>> Remote Procedure Calls vs. Local Procedure Calls

>> Type Safety in Programming Languages

>> Why Is Using Global Variables Considered a Bad Practice?

>> Introduction to Resource Description Framework (RDF)

>> How to Calculate the Runtime Percentage Improvement

>> What Are Callback Functions?

>> Differences Between APIs and ABIs

>> Pre-increment vs. Post-increment in a Loop

>> Abstract Methods vs. Virtual Methods

>> Differences Between a Deep Copy and a Shallow Copy

>> Lambda Functions

>> Memory Allocation

>> Centralized Computing vs. Distributed Computing

>> Tabulation vs. Memoization

>> Context-Free Languages

  • Formal Languages

>> Unit Testing vs Test-Driven Development

>> From Recursive to Iterative Functions

>> Tail vs. Non-Tail Recursion

>> Q-Learning vs. Dynamic Programming

>> Languages for Data Structures

>> Imperative and Declarative Programming Paradigms

>> Statically Typed vs Dynamically Typed Languages

>> High-Level Languages vs. Low-Level Languages

>> Clean Code – Formatting

>> Instructions and Programs

>> The Difference Between an Argument and a Parameter

>> Arithmetic Logic Unit

>> Greedy vs. Heuristic Algorithm

>> What Is a Loop Invariant?

>> Compiled vs. Interpreted Programming Languages

>> Introduction to Assembly Language

>> Runtime vs. Compile Time

>> Technical Debt

>> Expression vs. Statement

>> Microservices and Cross-Cutting Concerns

>> Code Smells

>> Difference Between Cohesion and Coupling

>> Refactoring

>> The Difference Between a Method and a Function

>> A Guide to Semantic Versioning

>> What Does It Mean to Program to Interfaces?

>> Understanding BDD

>> Using Min/Max Within an Integer Linear Program

>> Difference Between REST and HTTP

>> GIT vs. SVN

>> Object-Oriented vs Functional Programming

>> REST vs SOAP

>> Clean Code: Naming

>> Remove Duplicates From a Linked List

>> What Is an Idempotent Operation?

>> Graph Auto-Layout Algorithm

>> How to Reverse a Linked List

>> Clean Code: Comments

>> Generating Dependency Graphs With Text

>> What’s the Difference Between a Word and a Byte?

>> Object-Orientation in the Real World

>> Deep Dive into Hashing

  • Hashing

>> When Not to Use Regular Expressions?

  • Formal Languages

>> Regular Expressions

  • Formal Languages

>> Function Parameters: Call by Reference vs Call by Value

>> The Liskov Substitution Principle

>> Maximum Value of an Integer: Java vs C vs Python

>> Types of Queues

>> Fibonacci: Top-Down vs Bottom-Up Dynamic Programming

>> Functional Programming

>> Longest Palindromic Subsequence With Dynamic Programming

>> Implement Stack Using Two Queues

>> Greedy Approach vs Dynamic Programming

>> Longest Increasing Subsequence Using Dynamic Programming

>> What Is a Closure – Different Types of Scopes

>> Code Coverage

  • ↑ Back to Top
The Baeldung logo

Categories

  • Algorithms
  • Artificial Intelligence
  • Core Concepts
  • Data Structures
  • Graph Theory
  • Latex
  • Networking
  • Security

Series

About

  • About Baeldung
  • The Full archive
  • Editors
  • Terms of Service
  • Privacy Policy
  • Company Info
  • Contact
The Baeldung Logo