AdaCore: Build Software that Matters
Learn banner 2024 01 06 021757 dqmc
Jan 05, 2024

Announcing Updates to learn.adacore.com

Some time ago, we announced some updates to the learn website. In the meantime, we published the Introduction To Embedded Systems Programming course and the initial parts of the Advanced Journey with Ada course. Today, we'd like to announce some updates that have been made to thelearn website since then.

New contents

We added two chapters to the Advanced Journey With Ada course, both covering access types:

These two chapters belong to the new part on Resource Management. In addition to this, we added anew section on addresses.

This is actually a substantial increase in the course's size — although it might not seem to be that much at first glance. In fact, the PDF version of the course increased from 455 to 651 pages, which corresponds to an increase by 43%.

E-books

A couple of changes were made to the e-books:

  • Support for the MOBI format was removed because Amazon has dropped support for this format. From now on, the EPUB format should be used instead for Kindle devices.
  • We replaced the fonts in PDF books for better support of Unicode characters. This is an example that is rendered correctly now:
Ebooks unicode 2024 01 06 013157 fbke
  • We revised all code examples of the Introduction to Ada course to fit into a 50-column limit. (This limit was empirically assessed on a Kindle Oasis with a typical configuration.) Now, the code examples of that course fit the screen nicely on small devices.

Zip file with code examples

We now offer a zip file containing source-code files of each code example on the main page of the website. This includes not only the typical .ads and .adb files of each source-code example, but also the project files for GPRbuild. Downloading this zipfile is very useful for local, offline experiments. For example, on Linux, you can simply run:

## Get and unpack the zip file
wget https://learn.adacore.com/zip/learning-ada_code.zip
unzip learning-ada_code.zip

## Change to the directory that contains the code example
cd projects/Courses/Intro_To_Ada/Imperative_Language/Greet/cba89a34b87c9dfa71533d982d05e6ab/

## Build and run the code example
gprbuild -Pmain.gpr
./greet

Website updates

We made several improvements to the website. Let's review the main changes!

Google Translate

We fixed an issue that prevented using the website with Google Translate. Now, you can translate the website to your preferred language:

Improved sidebar

Previously, menu items of the sidebar were a bit difficult to read. This has been improved by better color selection, so that menu items are now more readable.

Sidebar menu 2024 01 06 013402 ecew

Dark mode

The website now supports dark mode — in addition to the standard light mode. This mode is selected according to the operating systems or the browser
settings.

Learn dark mode 2024 01 06 013501 wipq

Code examples with no "run" button

Due to restrictions, some code examples of the learn website don't have a run button. For those code examples, we now display the compile / runtime information that we would see if a button was available. For example:

(Snapshot taken from this example.)

Code run output 2024 01 06 013557 ympj

Widget: non-tabbed view

The non-tabbed (sequential) view of source-code examples wasn't working correctly after a major refactoring of the widget. This is now fixed, so you can select this option in the widget settings if you don't like the standard tabbed view.

Non tabbed view 2024 01 06 013855 hcpb

Widget menu: compiler switches

The widget now gives you access to compiler switches. This allows you to view the compiler switches that were used for a specific code example and set compiler switches for experimental features. Apart from two compiler switches that are always active by default and cannot be changed (-g and -O0), you can basically select any configuration that you want.

Note that you can get more information about each compiler switch by clicking on the button next to the compiler switch or hovering above it with the mouse pointer.

Compiler switches 2024 01 06 013920 fcva

Widget menu: global settings

Previously, changing the settings of a widget (for example, selecting "dark mode") didn't affect the other widgets. Now, the widget settings are global, and the settings you select are available the next time you visit the learn website.

Widget settings 2024 01 06 014113 vlag

Author

Blog_

Latest Blog Posts