Documentation Development Tools Beat
Ada is a modern programming language designed for large, long-lived applications – and embedded systems in particular – where reliability and efficiency are essential. It was originally developed in the early 1980s (this version is generally known as Ada 83) by a team led by Dr. Jean Ichbiah at CII-Honeywell-Bull in France. The language was revised and enhanced in an upward compatible fashion in the early 1990s, under the leadership of Mr. Tucker Taft from Intermetrics in the U.S. The resulting language, Ada 95, was the first internationally standardized (ISO) Object-Oriented Language. Under the auspices of ISO, a further (minor) revision was completed as an amendment to the standard; this version of the language is known as Ada 2005. Work is currently in progress on some additional features (including support for program anotations) and is expected to be completed in 2012.
Fedora 16 includes the latest open-source Ada development tools.
- Fedora 16 includes full stack of tools for Ada Development: Compiler (gcc-gnat), Project Builder (gprbuild), IDE (GPS) and some others
- Ada bindings for most popular tools such as: GTK, Qt, zeromq, Databases (PostgreSQL, MySQL and SQLite) etc
The GNU Autoconf Archive is a collection of more than 450 macros for GNU Autoconf that have been contributed as free software by friendly supporters of the cause from all over the Internet. Version 2011.04.12 is now included in Fedora 16. Refer to http://www.gnu.org/software/autoconf-archive/index.html for the project details.
Bugs Everywhere is a “distributed bugtracker”, designed to complement distributed revision control systems. By using distributed revision control as a backend for bug state, we gain several convenient features:
- Bugs and code that live on branches are tracked together—when a branch is merged, both the code changes and bug changes that the branch contains are merged alongside each other. We no longer have to be confused about whether a fix that is applied to the development branch but not yet present in the production branch means that our bug is “fixed”.
- Users can fully modify bug state while offline, unlike with many centralized bugtrackers.
- When a user checks out your source code, she gets the current bug state for free.
- We can still provide access to a friendly web interface for users—in this model, a web interface becomes just another client that merges with the main repository.
Fedora 16 includes version 1.0.1.
frama-c is a C source code analysis tool, which may be used standalone, or integrated with Emacs. frama-c includes a source browser, and can calculate simple metrics such as sloc, call depth and cyclomatic complexity for a project. It can also generate simple call graphs. Various assertions about the code may be tested, and the code may be validated against a number of theorems. frama-c accepts user written plugins for additional custom analyses. More information on frama-c may be found at http://frama-c.com/.
GCC Python Plugins
GCC plugins that embed Python are now available, enabling developers to more easily hook into GCC's inner workings (e.g. to add new compiler warnings). See the Feature Page for more details.
jruby is a Java implementation of the Ruby language, offering Ruby programmers the platform independence of Java. Version 1.6.2 of jruby is new to Fedora 16. The project page may be found at http://jruby.org.
shunit2 is a unit test framework for shell scripts similar to PyUnit or JUnit. http://code.google.com/p/shunit2/.
Static Analysis of CPython Extensions
Fedora now ships with a gcc-with-cpychecker variant of GCC, which adds additional compile-time checks to Python extension modules written in C, detecting various common problems (e.g. reference counting mistakes).
why-emacs is an Emacs add on for the Why software verification tool. http://why.lri.fr/. Why supports a number of theorem provers including Ergo, haRVey and Zenon, as well as a number of others.
New to Fedora 16, the WSO2 Web Services Framework for C++ is an enterprise grade C++ library for providing and consuming Web Services in C++. Fedora includes version 2.1.0 of the framework. Documentation may be found at http://wso2.org/project/wsf/cpp/2.0.0/docs/.