navgen.com
The Nova Programming Language

About News Features Examples Reference Download



31st March 2013  -  Version 0.7.0 Released

Version 0.7.0 of the Nova Runtime has been released.  The new developments are as follows:

    - Exception handling capabilities have been added to the runtime.
    - New language keywords: try, catch, finally and throw.
    - Created the initial exception library classes.

Freely available on the download page.



31st December 2011  -  Version 0.6.0 Released

A significant amount of work has been performed on the Nova compiler.  The changes are mostly internal, but these restructuring improvements provide many benefits.  Like a much improved architecture, better performance and much more potential for future software developments.

Sixty new C++ classes were added to the compiler, a lot of existing code was very carefully reorganised, with also numerous extra improvements added along the way.  The new code has been written to maximise the performance strengths of using the powerful C++ programming language, as Nova is heavily based on this amazing language.  The time spent on this update should make a worthwhile investment for the long term future of the project.

Freely available on the download page.



13th November 2011  -  Browser Plugin Bug Fix

A quick bug fix has been applied to the browser plugin (NPAPI). This now allows the plugin to work properly with Firefox 4 and above, in particular when loading applets which have multiple classes.

Freely available on the download page.



1st June 2011  -  A Quick Progress Update

During the last few months, a lot of restructuring work has been performed on the original Nova compiler, which was the first code to be written for the project, back in early 2002.  A lot has been learnt since then. 

Therefore in the next release sometime in the next few months, we should have a second generation Nova compiler. 

The improvements should be much faster performance plus an even better foundation for future developments, due to its improved internal architecture.



1st June 2010  -  Version 0.5.1 Released

The eighth public release, seven years to the day after the first release, we have Version 0.5.1 of the Nova Runtime.  The new developments are as follows:

    - Windows x64 compatibility update.
    - Improvements for nova.exe command line arguments.

Freely available on the download page.



10th January 2010  -  Version 0.5.0 Released

Version 0.5.0 of the Nova Runtime has been released.  The new developments are as follows:

    - New Nova Runtime XML class file format.
    - novac compiler binary for creating Nova XML class files.
    - Runtime can deserialize and run multiple XML class files.
    - Browser plugins can download and run multiple XML class files.
    - Many other minor updates and improvements...

Freely available on the download page.



26th November 2007  -  Version 0.4.0 Released

Version 0.4.0 of the Nova Runtime has been released.  The new developments are as follows:

    - Added member access specifiers (public, private, protected).
    - Version information added to the Windows binaries.

Freely available on the download page.



19th October 2007  -  Version 0.3.1 Released

Version 0.3.1 of the Nova Runtime has been released.  The new developments are as follows:

    - Updated to be fully compatible with Windows Vista.
    - Improvements to the runtime binaries by utilizing dynamic linking.
    - Improvements to the install system.

Freely available on the download page.



3rd August 2007  -  Version 0.3.0 Released

Just over a year since the last update.  Version 0.3.0 of the Nova Runtime has been released.  The new developments are as follows:

    - External library module interface.
    - Re-structuring of source code for future platform independence.
    - Synchronization / timing improvements to the Mozilla / Firefox plugin.
    - Minor improvements to the installer.

The external library module interface allows native libraries and bindings to be packaged into DLL files separate from the core runtime.  These external modules are stored in the "lib" directory and dynamically loaded at runtime.  This allows developers to easily create their own custom libraries, greatly adding to the versatility of the runtime. 

Freely available on the download page.



29th July 2006  -  Version 0.2.1 Released

As hoped and planned, more frequent updates.  Version 0.2.1 of the Nova Runtime has been released.  The new developments are as follows:

    - Minimal, proof of concept Direct3D9 bindings.
    - Preliminary struct functionality (only supporting primitive types).
    - "typeof" operator.
    - "type" primitives.
    - Firefox / Mozilla plugin improvements.
    - Many other minor updates and improvements...

Here are the latest code metrics for the core Nova Runtime:

    - 193 C++ Classes
    - 3.11 MB of Source Code
    - 28,319 Statements
    - 42,221 Lines (code only)
    - 36,750 Lines (comments only)
    - 4,532 Lines (code with comments)

Freely available on the download page.



11th December 2005  -  Version 0.2.0 Released

I am very pleased to announce that version 0.2.0 of the Nova Runtime has been released.   The main new developments are:

    - Firefox / Mozilla / Netscape plugin.
    - Full internal Unicode support.
    - Garbage collection enhancements.
    - Nullsoft installer.
    - OpenGL spheres applet with motion blur effect.
    - Matrix calculation classes.

Here are the latest code metrics for the core Nova Runtime:

    - 175 C++ Classes
    - 2.88 MB of Source Code
    - 26,125 Statements
    - 43,518 Lines of Code (excluding blank lines and comments)
    - 38,441 Lines of Comments (excluding blank lines)

Freely available on the download page.



1st June 2005  -  A Progress Update

During the course of the last few months primitive data types have been added to Nova.  The rationale behind this fundamental design change is to enable higher runtime performance, greater storage efficiency and also increased versatility.  Therefore Nova is not longer a pure object oriented language.

There have been many other exciting developments since the last update.  One of most impressive is the ability to run multiple OpenGL Nova applets on a single web page with really efficient CPU/GPU performance.  I am eager to demonstrate this in the next public release, which should be in the next few months.  Included in the next release will be a new install system, which is needed for the Nova applets.  After the next release I am hoping that subsequent ones will become more frequent now that Nova is starting to have a solid foundation.

Here are the latest code metrics:

    - 168 C++ Classes
    - 2.19 MB of Source Code
    - 33,955 Lines of Code (excluding blank lines and comments)
    - 28,603 Lines of Comments (excluding blank lines)



1st June 2004  -  A Progress Update

Exactly one year on, here is a brief progress report to keep you up to date with the most significant additions and developments since the first release:

    - Designed and implemented a fully working Nova bytecode instruction set.
    - Multidimensional arrays.
    - Method references (static and instance).
    - Cpw OpenGL framework library bindings.
    - break and continue keywords.
    - Recursive type matching.
    - New types and operators.
    - 64-bit types (Long and ULong).
    - NFC library (Nova Foundation Classes).
    - Inheritance.
    - virtual keyword.
    - Virtual functions and polymorphism.
    - Nova Applets.
    - Nova ActiveX control (NovaCtl).
    - Basic multithreading capability.
    - Dual interfaces for Nova applets and applications.
    - OpenGL teapot example.
    - OpenGL colour-cube example.
    - Many other optimisations and improvements...

The Nova RTE source code has been greatly refined and has also significantly increased in size:

    - 139 C++ Classes
    - 1.6 MB of Source Code
    - 26,790 Lines of Code (excluding blank lines and comments)
    - 19,967 Lines of Comments (excluding blank lines)



1st June 2003  -  Version 0.1.0  -  First Public Release

Today celebrates the first public release of the Nova Programming Language together with the Nova Runtime.  Nova has been in the making for just over a year and has been solely produced in my spare time, starting from nothing but the C++ Standard Template Library (STL) and some exciting ideas.  This project is my most ambitious project to date.  This first release contains the following amount of C++ code, which sees it off to a good start:

    - 109 C++ Classes
    - 887 KB of Source Code
    - 16,917 Lines of Code (excluding blank lines and comments)
    - 10,658 Lines of Comments (excluding blank lines)

Nova is intended to be long term project and possibly the basis for my future work.  I see its potential as being very promising and hope to see some fantastic developments with it in the near future.