From Fedora Project Wiki

Revision as of 09:50, 12 September 2010 by Yurchor (talk | contribs) (fix typos)

D Programming Language

D is a systems programming language. Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python. The D language is statically typed and compiles directly to machine code. It's multiparadigm, supporting many programming styles: imperative, object oriented, and metaprogramming. It's a member of the C syntax family, and its appearance is very similar to that of C++.

  • LLVM D Compiler

LDC is a compiler for the D programming Language. It is based on the latest DMD frontend and uses LLVM as backend. LLVM provides a fast and modern backend for high quality code generation.

  • The Library

Tango is a cross-platform open-source software library, written in the D programming language for D programmers. It is structured as a cohesive and comprehensive library for general purpose usage, and is supported by a growing number of recognized D enthusiasts. Availability of solid and extensive documentation represents a prime factor in library accessibility, and thus this project is as much about documentation production as it is about top-notch functionality.


python

The system python 2 stack has been upgraded to 2.7. For a list of changes see http://docs.python.org/dev/whatsnew/2.7.html

Caveat: PyCObject and warnings

Python provides various APIs for use by C extension modules. One of these APIs, PyCObject, was deprecated in Python 2.7, but there are a number of key modules that have not yet been ported to its replacement.

By default, deprecation warnings are ignored, so this will not cause problems.

However, if the standard warnings settings are overridden, you may see problems with these modules. In particular, if warnings have been set to "error", it is possible to make the Python interpreter abort or even segfault when importing these modules.

If you need to enable errors-for-warnings, please also add an override so that a PendingDeprecationWarning is merely logged, rather than raising an exception:

>>> import warnings
>>> warnings.simplefilter('error')
>>> warnings.simplefilter('default', PendingDeprecationWarning)

python-migrate

python-migrate was updated to version 0.6. Support for SQLAlchemy 0.6 and Firebird database, custom templates and use of python logging are among many new features. New version also introduces some backwards incompatible changes:

  • api.test() and schema comparison functions now all accept url as first parameter and repository as second.
  • python upgrade/downgrade scripts do not import migrate_engine magically, but receive engine as the only parameter to function (eg. def upgrade(migrate_engine):)
  • Column.alter does not accept current_name anymore, it extracts name from the old column.

For complete list of changes refer to the changelog


Erlang

New version of Erlang/OTP is available in Fedora 14.


gdb

gdb has been enhanced to remove the unnecessary indices from the .debug files, and will replace them with an index that greatly speeds up gdb.

The gdb debugger has been extended with new commands that make it easier to track down and fix excessive memory usage within programs and libraries. This functionality was created by Fedora contributor David Malcolm, and we believe it is unique to Fedora 14.


GNUstep

This Feature offers the possibility to create GNUstep applications on Fedora. GNUstep is an open source reimplementation of Nextstep. It's provide an GUI framework base of the Objective-C programming language.

The Objective-C programming language is part of the GNU compiler collection (gcc).

A list of applications based on GNUstep you may find at List of GNUstep applications.

Detailed introduction to the GNUstep project you may find at GNUstep Introduction.


perl

Notable changes in perl 5.12 include:

  • Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard.
  • New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax.
  • Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier.
  • New syntax allows developers to specify package version numbers directly in "package" statements
  • Perl now warns the user about the use of deprecated features by default.

Perl 5.12.x features numerous new features, optimizations and bugfixes. You can find a complete list of these changes on the web at:

http://search.cpan.org/~jesse/perl-5.12.0/pod/perl5120delta.pod

Original release note: http://www.nntp.perl.org/group/perl.perl5.porters/2010/04/msg158820.html

rakudo

Fedora comes with Rakudo Perl, an implementation of the Perl 6 specification based on the Parrot virtual machine, which enables developers to write new applications or port existing ones to Perl 6. To install rakudo, use the Add/Remove Software tool or run:

su -c 'yum install rakudo'

For information of command line options run:

man perl6
man rakudo


bash debugger

The Lisp sources for the emacs bash deugger, emacs-bashdb-el' are now included in Fedora. The debugger has been upgraded to version 4.1_0.4.

Pyjamas

New to Fedora 14 is pyjamas, a Rich Internet Application (RIA) Development Platform for both Web and Desktop. Read all about this new capability at http://pyjs.org/.