General Development Archive

The Future of NetBeans

The NetBeans project recently released the second beta of version 5.5 of its IDE. At the same time, NetBeans 6.0 is at its second milestone release. Artima spoke with NetBeans evangelist Tim Boudreau about new NetBeans features and about the NetBeans community. In Part I, he discusses upcoming features of NetBeans 6.0, and compares the NetBeans and Eclipse approaches to open-source IDE development. In Part II, Boudreau talks about the NetBeans rich-client platform, how the NetBeans Matisse UI builder and GroupLayout layout manager address the challenges of cross-platform and internationalized UI design, and about support for languages other than Java in NetBeans.

Don Syme: Introduction to F#

Mike Hall caught up with Don Syme recently and recorded a few interviews covering Don's favorite programming language: F#. Don has done many great things over there in MSR Cambridge including creating everybody's favorite C# feature, Generics. Well, he also developed (with his team) the research programming language, F#. "F# is a programming language that provides the much sought-after combination of type safety, performance and scripting, with all the advantages of running on a high-quality, well-supported modern runtime system."

UNIX Error Reporting in the Standard C Library

Proper error detection and recovery is often ignored by UNIX developers. The lack of exceptions from the C language and the rudimentary error mechanisms from the standard C library certainly contribute to this. This article familiarizes you with the UNIX standard error reporting mechanism, the errno global variable. You'll also learn about a couple of associated global variables ( sys_nerr and sys_errlist) and the standard functions that help you report errors to the user and (hopefully) encourages you to report and handle errors in a user-friendly way.

IronPython 1.0 Released

"IronPython is about bringing together two worlds. The key value in IronPython is that it is both a true implementation of Python and is seamlessly integrated with the .NET platform. Most features were easy and natural choices where the language and the platform fit together with almost no work. However, there were challenges from the obvious cases like exception type hierarchies to the somewhat esoteric challenges concerning different methods on strings." More here.

Review: Borland Turbo Explorer

With the free Turbo Explorer line, Borland brings programming to the masses. Each of the four Turbo Explorer 'personalities' targets a different combination of programming language and platform: Turbo Delphi and Turbo C++ for Windows, and Turbo Delphi and Turbo C# for .NET. There are over 200 components for building programs, but the abundance of features may be overwhelming to new users.

The Future of Programming

What is the future of programming? I retain a romantic belief in the potential of scientific revolution. To recite one example, the invention of Calculus provided a revolutionary language for the development of Physics. I believe that there is a “Calculus of programming” waiting to be discovered, which will analogously revolutionize the way we program. Notation does matter." More here.

The Problem with Threads

"Concurrent programming is difficult, yet many technologists predict the end of Moore's law will be answered with increasingly parallel computer architectures - multicore or chip multiprocessors. If we hope to achieve continued performance gains, programs must be able to exploit this parallelism. Automatic exploitation of parallelism in sequential programs, through either computer architecture techniques such as dynamic dispatch or automatic parallelization of sequential programs, offers one possible technical solution. However, many researchers agree that these automatic techniques have been pushed to their limits and can exploit only modest parallelism. Thus, programs themselves must become more concurrent."

Helpful Hints for Porting Fortran Applications

This article addresses the most commonly encountered scenarios and errors while porting Fortran or any UNIX or Linux-based applications on different systems. Discover how to port Fortran-based High Performance Computing applications, such as computational fluid dynamic (CFD) modeling, weather modeling, and linear algebra packages, using IBM XL compilers and gnu compilers on large clusters.

uBASIC – a Really Tiny BASIC Interpreter

Adam Dunkels, well-known author of the Contiki operating system and the uIP embedded TCP/IP stack, has written a really small BASIC interpreter called uBASIC in about 700 lines of C code. It is intended to be a very small scripting language for systems where memory really is at a premium such as deeply embedded systems which may have as little as a few hundreds of bytes of RAM. It provides an interesting look into how to write a very lightweight script interpreter.

Update XML with XSLT, Apache Ant, Java SE

Learn the method for automating updates to a library of XML files so that they all conform to an updated XML schema in this two part tutorial series. In Part 1, you learn the steps in the entire process, and then create an XSLT stylesheet to update the XML files. In Part 2, you learn to install, configure, and run Ant and Java to iteratively transform your XML files based on the updates specified in your XSLT stylesheet.