Geek Speak

It's the libraries, stupid

Jeff Atwood has a nice piece on the productivity of different programming languages (go read it). His sums up with the following: *Given .. 1). the abandonment of C++ and C for mainstream programming 2). the huge influence of individual programmer skill the slow but steady adoption of scripting/dynamic language conventions in Java and .NET* * *.. maybe all modern programming languages really are the same. Ole Eichhorn has already taken Jeff to task in the comments about his definition of mainstream, and Jeff has responded here so I’ll leave that one alone for now ;) Several people picked up on the relative unfairness of using lines of code as a productivity measure, so I’ll leave that one ;) which leaves me with something I’ve been meaning to write about for a while…

Joel is a bit confused about agility and design

Joel Spolsky of has just completed a very public product development project for a Windows based user assistance program called CoPilot. This has been interesting to watch and has, no doubt, generated lots of positive PR for him. He’s just released the functional spec for the system and points out that “I believe in Big Design Up Front, which the proponents of Extreme Programming consider anathema. I have consistently saved time and made better products by using BDUF and I’m proud to use it, no matter what the XP fanatics claim.

I wonder what the rationale for this restriction is

Geoff Appleby discovers that a common C++ template idiom doesn’t work with .Net generics. The code that doesn’t work is this: Public Class Class1(Of V As System.Web.Services.Protocols.SoapHttpClientProtocol) Inherits V End Class which is the .Net generics equivalent of this common C++ idiom: template <class base> class TDerived : public base { }; This is useful in all kinds of situations, as Christopher Diggins explains and, as Geoff says: “You don’t know if V is NotIneritable, MustInherit, or whatever.

Garbage Collection and Pointers

So, Richard Hale Shaw is helping us move away from C++ and in his latest posting on the subject he explains how “veteran C++ programmers” don’t like to manage memory themselves; hmm. I’d quite like to see his sample data. Especially as he then goes on to define “veteran C++ programmers” as people who don’t like to manage memory themselves… “But veteran C++ developers testify that - without taking special precautions - you’ll invariably introduce more programming errors by managing memory yourself:

Borland C++ v3.1 and 'The Raymond Chen Camp'

Last weekend was a bit of a “compiler weekend” for me; I started playing with VS 2005 and I found some old source code and wanted to build it and that required Borland C++ v3.1 (In the currently fashionable style of naming things - Borland C++ 1991). I dug through my box of old disks and found a backup of my old 386 development machine. That contained an installation of BC3.

First impressions of Visual Studio 2005 from a C++ point of view

I’ve been using the latest Visual Studio 2005 beta on and off for the last couple of days. This is the first time I’ve bothered to try “Whidbey” and my initial impressions are very favourable; I’m just using it for unmanaged C++ at present. I haven’t really done a great deal with it yet but even though it’s installed on in a VMWare virtual machine it seems faster and generally less lardy than both VS.

I feel the need to comment on this...

Richard Hale Shaw continues his series of blog postings on “Moving away from C++” with the obligatory “pointers are bad, garbage collection is good” post… I feel the need to write something about this but not yet, I have work to do…

/Y3 where have you been all my life

I was just flicking through some of the entries over on Games from Within and I came across an entry on precompiled headers which is a good introduction of the pros and cons of using precompiled headers in a cross platform environment. I wanted to comment on this posting but the comments seem to be turned off for it now so I’ll comment here… Noel covers the whys and why nots of precompiled headers a lot better than I did when I wrote about them a while ago, however he fails to mention the “one true way” of using precompiled headers on Microsoft compilers…

Threading flames

Thanks to Ned Batchelder for pointing out the “discussion” about the pros and cons of multi-threaded programming over on the SQLite newsgroup. The comments on Ned’s post are well worth reading; they’ve provided me with a new blog to subscribe to, Jeff Darcy’s Canned Platypus which seems to have lots of the kind of high quality techie stuff that I like. My view on multi-threading is probably pretty obvious given the way my socket server framework is designed…

On the bandwidth wasted by poorly designed spam software

I’ve been watching my web server logs in real time for the last couple of days, not intently; I do have a few slightly more interesting things to do. I’ve had a tail of the logs running on the laptop and I glance at it every now and then. What I’ve noticed is that the people who wrote whatever the software is that regularly tries to spam my comments are pretty crap.