- Full text PDF available (1)
Based on selected examples from the literature, this perspective aims to provide a short overview of synthetic methods using hydrogen peroxide and/or peroxidic species for the elaboration of discrete or zero-dimensional species, as well as mono-, bi- and tri-dimensional materials. There are several advantages in using peroxidic species: no foreign ion or… (More)
This article discusses the tools that Ada offers to deal with dynamic memory problems. The article shows how the storage pools mechanism of Ada 95 can be extended to enpower developers when tracking memory leaks and memory corruption in their code. This Ada extension rests on the notion of " checked pools " , i.e. storage pools with an additional… (More)
Ada Gem #79 --- A number of tools and libraries exist to monitor memory usage, detect memory leaks and more generally solve issues with memory management. The Gems in this three-part series offer an overview of these issues and explain how you can benefit from these tools in your own development.
Let's get started… Memory management is typically a complex issue to address when creating an application, and even more so when creating a library to be reused by third-party applications. It is necessary to document which part of the code allocates memory and which part is supposed to free that memory. As we have seen in a previous Gem, a number of tools… (More)
Ada Gem #52 -- Programming languages are, at least in the mind of most programmers, divided into two categories: scripting languages and others. The dividing line is not always obvious, and generally has to do with the size of the application, whether the language is interpreted or compiled, and whether doing operations such as manipulating external… (More)
Let's get started… Most object-oriented programming languages provide a facility for declaring variables that are shared by all objects of a given class. In C++, these are called " static members " (and use the " static " keyword), and similarly Python has the notion of " class attributes ". Let's consider an example where this is useful. For instance,… (More)
Let's get started… A recent tendency in a lot of web frameworks, which is extending into other areas, is to hide SQL in the persistent layer of applications. Users want to manipulate objects, indicate that they should be made persistent somehow, and forget that this is done through SQL. GNATCOLL.SQL.ORM provides such an API. It is fully compatible with… (More)
Let's get started… When we write applications, we often add Put_Line statements to help debug the initial version of the code. Once that code works, we remove the Put_Line and move on to some other feature of the code. The problem is that when a bug occurs again in that part of the code (and especially when this is reported by a user and you can't debug on… (More)
Ada Gem #21 -- The World Wide Web Consortium (W3C) develops various specifications around the XML file format. In particular, it specifies various APIs to load, process and write an XML file. Although these APIs are not specified for Ada, XML/Ada tries to conform as closely as possible to them. This gem describes how to use XML/Ada to parse an XML file.
Let's get started… The first Gem in this series discussed how to write syntactically correct and type-safe SQL queries. We now need to execute these queries on the DBMS of choice and retrieve the results. This Gem explains how to use the DBMS-agnostic API in GNATColl to do this. Currently, GNATColl provides support for two DBMS: PostgreSQL and SQLite. It is… (More)