« December 2006 | Main | April 2007 »
January 24, 2007
Quick bits of programming language news...
Dtrace for Javascript: There are details of how to set up Dtrace to trace Javascript code at Brendan Gregg's blog on blogs.sun.com. The bare bones is that he is providing a modified version of the Spider Monkey Javascript engine with Dtrace probes coded in. Installing the shared library into the appropriate location on a machine running Solaris will give Dtrace visibility into Javascript code running in Firefox. AJAX bugs have nowhere to hide now.
A new draft of the R6RS for Scheme: Revision 5.92 Recommended Specification for Scheme is up on site, www.r6rs.org. It has been split into two PDFs, one for the core language and one for the libraries. The total page count for the two files is about 150 pages.
Posted by JohnC at 11:14 PM | Comments (0)
Fortress
The researchers at SUN Labs have recently released a beta version of their new programming language, Fortress. It is available here under a BSD license. It is designed to tackle problems in the high performance computing arena and looks rather interesting.
The positives are:
The language is terse. There is very little boiler plate code needed to get up and running in Fortress. Hello world is:
export Executable run(args:String...) = print "Hello, World!\n"
-
Fortress is designed to have a syntax that resembles mathematical notation. For example, the absolute value function appears like this in Fortress:
|someVar|. This makes the code really brief and also partly familiar to mathematically inclined readers. Fortress is a good way along to achieving Fortran's original goal of formula translation. Operators are functions and can be defined for classes, overloaded, etc. In addition to normal operators, it is possible to define bracket operators, e.g., the absolute value operator shown above.
Multi-paradigm programming is supported, particularly for OO and functional styles.
There is strong support for parallel/multi-processor computing. I have not played with this, but the demos include a parallel matrix multiplication example that demonstrates this.
Fortress has support for comprehensions, similar to those in Python.
The negatives are:
The language is not fully implemented yet, so some features are not working, e.g., atomic modification of multiple variables is not fully implemented yet.
Libraries are extremely sparse at the moment. There isn't even a maths library yet.
Other interesting things:
Fortress targets the JVM initially. This means that there is a possibility of calling Fortress programs from Java programs via the interfaces defined by JSR 223.
Fortress makes extensive use of Unicode and this use isn't superficial: many of the mathematical operators and functions can be specified by the Unicode characters used to display them in mathematical papers. For example, the floor function on a variable x can be written as
⎣x⎦. In fact the Fortress compiler and interpreter deal exclusively with Unicode. While Fortress programs can be written completely in ASCII there is a conversion stage that translates ASCII longhand into equivalent Unicode characters before the lexer and parser get at the code.
Posted by JohnC at 12:54 AM | Comments (0)
January 14, 2007
Standard Deviation
If you find yourself needing to migrate an application from one of the major RDBMS packages to another, as I have recently, then this webpage is invaluable. It compares how MySQL, MS SQL, DB2, Oracle, and PostgreSQL compare to the SQL92 standard. The page links to relevant documentation for each RDBMS, for each feature compared, which is really handy.
Posted by JohnC at 09:21 PM | Comments (0)