I hope I build software someday that lasts like Clipper

It might really be something else, but have you ever noticed how many retail systems with Clipper (or FoxPro?) frontends are still going strong?  As far as I know Clipper’s been strictly legacy for 10+ years, but that code’s still ticking.  I know I don’t have any code that old still running.

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://jopinblog.wordpress.com John Opincar

    Ahh Clipper. I got started on dBase III and quicky moved to Clipper when I was in high school if you can belive that. That was about 20 years ago. I was actually published in Reference(Clipper) for an article I wrote on index corruption and how to detect and fix it.

  • http://weblogs.asp.net/bsimser Bil Simser

    Funny you mention Clipper. I used to be a Clipperhead, was involved in most of the OO movements (wrote a OO-UI library) and wrote a few apps including a POS software that I sold about 2000 copies of around Canada and the U.S. It’s funny but sometimes I go into a small video store or smoke shop and see my software running. I’ll ask the owner about it and they say “Yeah, works great but we can’t get an upgrade!”. Too funny.

  • http://bobondevelopment.com Bob Grommes

    @Tod,

    I don’t know that I’d characterize Fox as having a “stranglehold” on anything anymore, at least in terms of greenfield projects. But it definitely has lived up to its billing as “the COBOL of the 90′s”. It is ubiquitous. I am currently working on porting an extensive data processing app I authored in FoxPro in the late 90′s to C#, and frankly the only reason it’s happening is because the original company was acquired by someone with deep pockets and the sure knowledge that it is already well-nigh impossible to find anyone capable of maintaining it. It’s not because it runs too slow or doesn’t do the job or isn’t clean OO code or not a good platform for what it’s doing; it’s just it’s a dead platform and no one wants to admit to knowing the product even if they do. Truly the Rodney Dangerfield of programming environments.

    I left active Fox development in about ’98 on the premise that if people want to pay me twice as much to be half as productive, who am I to complain?

    As for Clipper, I always regarded it as Xbase for people with an inferiority complex about not producing machine-code executables. A lot of Clipper code was cranked out back in the day, to be sure, and the main argument popularly advanced in its favor is that your applications were “true executables”. It is ironic that both .NET and Java produce bytecode EXEs like Fox and now it’s somehow cool. (Yes I know, Fox was interpreted and not JITted, but still).

    –Bob Grommes
    (once upon a time, the editor of FoxTalk)

  • http://blog.todmeansfox.com Tod McKenna

    I’ve been coding in FoxPro for more than a dozen years. Although not officially dead yet (if you go by Microsoft’s end-of-support schedule for the Fox), I suspect Fox code will continue to kick around for another 20 years. I’m happy to report that programs I wrote in 1994 are still in use today. Also, I continue to develop and maintain dozens of Fox systems.

    FoxPro is a perfect data-centric business language. Microsoft’s decision to drop it is probably due in part to FoxPro’s stranglehold on the small- and medium-sized business application market. It cuts deep into their SQL Server / .NET pocketbook!

  • http://www.rgoarchitects.com/nblog Arnon Rotem-Gal-Oz

    @Scott
    Yep – circa 95 Visual fox pro was dynamic language (well mostly) compiling to bytecode, object oriented, working on both windows and macs with DLINQ like capabilities :)

  • Jing

    Hi Jeremy,

    I started my new job and installed the Resharper ( I cannot code without it now). I didn’t find where I can set code auto complete to add “private” in front of local local variables.

    like I type:

    int _i; //hit enter key, resharper will help me add as the following:
    private int _i;

    Would you mind to show me where to set it in option?

    Thanks a lot!

    Jing

  • http://scottic.us ScottBellware

    On the upside, it’s nice to see .NET finally investing earnest effort in catching up to FoxPro :)

  • http://www.chadmyers.com/Blog cmyers

    Most of the clipper I looked at was so gawdawfully incomprehensible that no one dared touch it for fear it might trigger something bad to happen.

    Some software has longevity due to good design and foresight. Some software has longevity due to core business need combined with complete unmaintainability.

    I would put Clipper and most Mainframes squarely in the second category. I know several large Fortune 500 companies that have Mainframes running core line-of-business for which there is no longer source code and they have patches upon hacks to work around the bugs and problems (things like purposely changing dollar amounts to account for a math/accounting flaw in the COBOL code so that the number ends up ultimately being the correct amount, etc).

    Longevity out of Fear vs. Longevity out of Confidence