General Development Archive

C++ Modularity with Namespaces and Exception Handling

Did you know that there are three different C++ namespace types? Namespaces, which are simple to learn and apply, offer a clever means of packaging your code and can assist when symbol conflicts occur. And how well does your code handle exceptions? Inserting exception-handling code can make your code more ready for packaging as external functions. Stephen Morris contends that just as namespaces offer an efficient way to package code, the skillful use of exception handling can quickly simplify that code.

AOP Myths and Realities

"What's keeping you from trying out AOP? Whether you think it's only good for low-level functions like tracing and logging, worry that it'll get in the way of unit testing, or would simply rather stick with the object-oriented alternatives, Ramnivas Laddad gives you good reason to reconsider. Follow along as this popular author and speaker digs beneath the surface of 15 myths that hinder the adoption of AOP."

All Hail Shale: Shale Isn’t Struts

"What Shale isn't is a shrink-wrapped, well-documented, well-tested product complete with an automated installer and a polished management interface. now find out what it is, as Brett McLaughlin unveils this mighty - and rightful - heir to the legacy of Struts. In this first of a five-part series, Brett explains what Shale is, how it's different from the Struts framework, and how to install and set it up in your development environment."

Ultimate++ 602 Released

Ultimate++ 602 has been released. Ultimate++ is a C++ platform. U++ competes with popular scripting languages while preserving C/C++ runtime characteristics. New features of the 602 release include a new report package, otimization of C++ refactoring and assistance (Assist++), and improvements in project organization and building.

Perl Gets Ported to z/OS

"Perl for zOS is a statically-linked, pre-compiled port of the Perl (Version 5.8.7) scripting language to the z/OS UNIX platform with all known defects resolved. This new porti of Perl 5.8.7 provides a pre-built version of Perl with a dedicated support team to address new problems that may arise."

Conary Reaches 1.0

Conary is a distributed software management system for Linux distributions. It replaces traditional package management solutions (such as RPM and dpkg) with one designed to enable loose collaboration across the Internet. It enables sets of distributed and loosely connected repositories to define the components which are installed on a Linux system. Version 1.0 was released a few days ago, and a maintanance version 1.0.2 was released today.

Going Dynamic with PHP v5

"The introduction of new object-oriented programming features in PHP V5 has significantly raised the level of functionality in this programming language. Not only can you have private, protected, and public member variables and functions - just as you would in the Java, C++, or C# programming languages - but you can also create objects that bend at runtime, creating new methods and member variables on the fly. You can't do that with the Java, C++, or C# languages. This kind of functionality makes super-rapid application development systems, such as Ruby on Rails, possible."

C++ Chain of Responsibility Pattern: Network Events

Should you make your C++ classes more intelligent or centralize the intelligence and use dumbed-down surrounding classes? The natural world tends to prefer a pass-the-parcel style of distributed intelligence, which reduces single points of failure and potentially leads to more stable systems. In this article, Stephen Morris shows you how to raise the IQ of your classes while simultaneously allowing other (possibly) more-qualified classes to handle specific problems. The chain of responsibility pattern provides an elegant model for facilitating this behavior.

Remote Python Call

Remote Python Call is a transparent infrastructure for RPC and distributed computing with the python language. It gives you complete and seamless control over a remote python interpreter and lets you execute code either synchronously or asynchronously (which means remote operations do not block and return AsyncResults). It is ideal for managing distributed tests on several platforms.

Borland Plans Separate Company for Developer Products

"Today Borland announced plans to seek a buyer for our IDE product lines that include Delphi, C++Builder, C#Builder, JBuilder (and Peloton), InterBase, JDataStore, nDataStore, Kylix, and our older Borland and Turbo language products and tools. The goal is to create a standalone business focused on advancing individual developer productivity using the people inside Borland who are focused on the success of these award winning products."

CLI Magic: ifup, ifdown, ifstatus

"I've always assumed that ifup and ifdown were conditional commands that performed their assigned duties only if the interface device in question was up or down, as the command might be. I was dead wrong. I blame my mistake on being a programmer, rather than being stupid, but it's simply too close to call. The if in ifup, ifdown, and ifstatus is not a programmer's if - it's an abbreviation for interface. On the off chance that I'm not the only one who has misunderstood these commands because of their rather iffy names, here's what they really do and how they are used."