General Development Archive

Should Javascript Get More Respect?

JavaScript is often ridiculed as the black sheep of programming languages. Nearly every Web developer has cursed JavaScript at one time or another. Until recently, many developers had all but written off JavaScript as a necessary evil at best or a toy at worst. But JavaScript is becoming increasingly important. See why it remains the most broadly available scripting language for Web development and a better choice for developing modern applications.

Why Haskell?

"Haskell is a valuable language for a lot of different reasons, but the most important one is that it changes the way that you think about programming. Haskell does things in a very different way from the imperative languages that most of us are familiar with. And it's an extremely well-designed language, so there isn't a ton of crap standing between you and the concepts that you can learn from it."

D-Bus 1.0 Released

"D-Bus 1.0 was officially released last week. Developed by FreeDesktop.org, D-Bus is an open source interprocess communication system created to promote interoperability between various Linux desktop environments by providing a cohesive common platform for internal system and application messaging. D-Bus, which has been under active development for four years, is already used extensively in the GNOME environment and will eventually replace DCOP in KDE."

Developing with Apache Derby – Hitting the Trifecta

This article reviews how to modify an SQL query to group related rows together to provide summary statistics database information and introduces the concept of a view, which can be used to simplify database application development by creating a virtual table that represents the results of an SQL query. Also learn about database indexes, which you can use to locate specific table rows. After you've mastered these advanced database concepts, you'll be well positioned to begin developing Java database applications with Apache Derby.

Why Software Sucks

"Software sucks, 80% of projects fail, and most developers are unhappy individuals. Why is this? My answer; complexity. Complexity is the single factor I would attribute poor software to. The more you have to do, the harder you make it on yourself, the way requirements seem to change, the worse the final result is; right? Software needs to be simple", says Chris Stewart.

Writing A Lisp Interpreter In Haskell

"The article is about my experience with Haskell and the process of working with it. I will describe which features of Haskell I used to implement particular aspects of my interpreter, how they're different from the object oriented world, why they helped me get things done faster, and how I had to change my program whenever my initial efforts took me to a dead end. While the jury's still out how well Haskell performs in other domains (I'm just starting my web application project) I hope this article sparks your interest in this beautiful language and explains some things programmers new to Haskell often find confusing." More here.

Netbeans 5.5, Netbeans 6 Preview Released

NetBeans 5.5 has been released. "NetBeans IDE 5.5 builds on the success of NetBeans 5.0 and adds support for Java EE 5 and Sun Java System Application Server PE 9. Got Web 2.0? Of course! NetBeans 5.5 generates JAX-WS 2.0 artifacts for Java SE 6 and Java EE 5 projects. We included Java Persistence support and support for Enterprise Java Beans 3. Additionally, there is the new Subversion support module and an updated module for the GUI builder, both available on the 5.5 Update Center." A new preview build of NetBeans 6 has also been released.

Hatch Python Eggs with Setuptools

Setuptools framework, a side project of PEAK, provides easier package management and distribution than distutils. Setuptools lets you package your libraries in a single-file archive called an 'egg', similar to Java JAR file, but for Python. Like the Perl CPAN and Ruby Gems tools, the ez_setup tool bootstraps the rest of setuptools. The ez_install tool that comes with it does the same thing in conjunction with 'Cheeseshop' (PyPI).

Microsoft Set to Tap Non-Pro Tools Market

Who wants to be a programmer? Microsoft is hoping everyday folks will take the challenge by using its non-professional programming tools, and other vendors are following suit. Microsoft is poised to tap the nascent market for development tools to enable non-professionals to create applications, having established a team specifically built for this push and planning several initiatives, including a new Web site strictly for beginners.

Version Control for Linux

"Version control systems, or source management systems, are an important aspect of modern software development. Not using one is like driving a car too fast: it's fun and you might get to your destination faster, but an accident is inevitable. This article provides an overview of Software Configuration Management systems and their benefits, including CVS, Subversion, Arch, and Git. It also reviews the most common SCM architectures. Finally, it explores some of the new approaches that are available and how they differ from the earlier methods."

Developers Are from Mars, Programmers from Venus

Many of us use the terms "programmer" and "developer" interchangeably. When someone asks me what I do for a living I tend to describe my vocation as "computer programmer" rather than "software developer", because the former seems to be understood more readily by those unfamiliar with IT. Even when writing pieces for this site, I tend to swap back and forth between the two terms, to try and avoid sounding repetitive. But in truth, there is a world of difference between a computer programmer and a software developer (editor's note: aka engineer and there is also a difference with a software architect).