Programming with Ada Logo

Contents:

  • Overview
  • Feature Overview
  • The Big Five Structural Elements
  • Note on Terminology
  • Packages, the Building Blocks of Ada
  • Advanced Techniques
  • Being More Terse
  • Comparing Ada to Other Languages
  • Terminology
  • Clearing the Air
  • About
  • Ray Tracing in One Weekend… in Ada
  • Summary after Four Months with Ada
Programming with Ada
  • »
  • Programming with Ada
  • View page source

Programming with Ada¶

Contents:

  • Overview
  • Feature Overview
  • The Big Five Structural Elements
  • Note on Terminology
  • Packages, the Building Blocks of Ada
    • Types and Ada, The Elephant in the Room
    • Subprograms (functions and procedures)
    • Packages
    • The Core Tenet of Ada
  • Advanced Techniques
    • RAII
    • Timing out on a Blocking Operation
    • Waiting for all Tasks to Complete
  • Being More Terse
    • Expression Functions
    • Don’t repeat parameter types
    • Locally use packages
    • Abbreviate conversions functions
    • Use default parameters
    • Rename functions with default parameters
    • Locally define helper functions
    • Use package renames within package body
    • Use a package at file scope
    • Provide abstraction without introducing more code
    • Rename complicated expressions
  • Comparing Ada to Other Languages
    • Names used in Examples
  • Terminology
  • Clearing the Air
    • Ada is not a dead language
    • Ada can be used for free
    • Ada code does not have to be GPL
    • AdaCore does not “own” Ada
    • Ada runs on more than embedded systems
  • About
  • Ray Tracing in One Weekend… in Ada
    • Project Layout
    • main.adb : Main Function
    • Expression functions help knock down verboseness
    • Semantic for types (“derived types”) in Ada
    • Ada lacks perfect forwarding
    • One line, 30% of runtime CPU
  • Summary after Four Months with Ada
    • Why?
    • Resources
    • Projects
    • Ecosystem
    • Community
    • AdaCore and Ada Modernization
    • A Free-Function Focused C++, or a Strongly Typed C
    • SPARK
    • Focus on Intent
    • Low Level Control
    • Vocabulary
    • Verboseness
    • Was it worth it?

Indices and tables¶

  • Index

  • Module Index

  • Search Page

Fork me on GitHub
Next

© Copyright 2022.

Built with Sphinx using a theme provided by Read the Docs.