Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Many years ago, I wrote a small Access 2003 database for a non-profit to track the donations they received. They recently wrote me asking for some new features (I was shocked it was still in use, honestly) and I'm wondering if I could rewrite the application with a newer technology/framework. Here are the machine specs:

  • Pentium 4 2.8 Ghz
  • 1 GB RAM
  • Onboard Intel video card
  • Windows XP SP3

What, if any, would be a suitable replacement for the database and UI? I'm mainly a C# developer so Winforms + SQL Compact 4 springs to mind (I don't know how WPF would perform on a machine that old). Perhaps there are other possibilities in Python/Ruby/etc?

Update: I appreciate and agree that rewriting is rarely the right thing to do, but I was hoping to learn via this question, that given the PC's specs and OS, what possibilities would I have for writing an application that could

  • perform CRUD for donations
  • generate summary reports (totals by month/year/etc)

Or, put another way, is Access still the appropriate tool for the job?

share|improve this question
3  
Why do you want to replace it? A rewrite will almost never pay when you just want to add some new features to an existing program (at least, when there are no hard technical reasons against it). –  Doc Brown Aug 24 '12 at 13:48
1  
Do they want to go through the trouble of a new application? –  JeffO Aug 24 '12 at 13:49
1  
@DocBrown I don't even have a copy of Access 2003 anymore :) I was thinking if I rewrite it in something else it might be more maintainable. –  Jedidja Aug 24 '12 at 14:35
1  
@FrustratedWithFormsDesigner upgrading to a newer version of Access would require the non-profit to also pay for a new version so I was hoping to avoid that. –  Jedidja Aug 24 '12 at 14:46
1  
@Jedidja: here are two posts on SO which do not answer your question, but perhaps will help you a little bit: stackoverflow.com/questions/5430698/… , stackoverflow.com/questions/2005981/… –  Doc Brown Aug 24 '12 at 15:10

4 Answers 4

Since you are already a C# developer, that sounds like a suitable platform to replace the app. Basically, there are no 'right' answers here - any one of dozens of language/database combinations could be used for this. So unless you specifically want to work with something new, might as well take advantage of your existing skill set.

You also might consider that if one non-profit finds it useful, others might as well. Many a startup got going this way.

share|improve this answer

OpenOffice or LibreOffice are 2 free Office solutions that integrate an application similar to Access, it's named OpenOffice Base or LibreOffice Base.

If you want to do this programmatically there is SQLite that is a public domain project and is also relatively simple to use.

Both solutions are cross-platform and i suggest to use a GNU/linux distribution on that PC, maybe Ubuntu or Debian.

share|improve this answer
    
*Office Base might be the best solution to get Access-like functionality with newer tools on a tight budget. –  FrustratedWithFormsDesigner Aug 24 '12 at 14:59
    
The requirements of OpenOffice is vastly different from Access 2003. –  user1249 Aug 24 '12 at 19:48
    
@ThorbjørnRavnAndersen: I have an old PC with similar specs (well OK, slightly more RAM) as the one the OP posted, and it was able to run the current (as of a year ago) version of OpenOffice, with no problem. So anecdotally, the OP's PC will probably be able to run Open/Libre Office Base. But they might want to look up an official System Requirements page, just in case. ;) –  FrustratedWithFormsDesigner Aug 24 '12 at 20:19

A few things to consider:

  • Rewrites are almost always more expensive than extending an existing solution.
  • Hardware is cheaper than custom software.
  • On a zero budget, open source software tends to be a better choice: any Windows version that still works comfortably with such hardware is bound to hit end-of-lifecycle at some point, but a lightweight Linux version works well enough on late 1990's hardware. This is assuming you are donating your time: a brand new entry-level PC costs about $300 or so, and I doubt you could install and configure an OS, install a database and front-end, and re-develop the entire application, on that budget.

Draw your own conclusions.

share|improve this answer
    
Being it is a non-profit could he do it in his spare time and write the charges off as a donation? Not sure about how all that works. –  Rig Aug 24 '12 at 14:45

I would simply leave it in Access 2003 or maybe upgrade to the current ver.

I see no reason to re-write this, they are obviously very happy with it.

share|improve this answer
1  
I would add not to upgrade to the current access version... its performance on older hardware is abysmal... –  bunglestink Aug 24 '12 at 14:36
1  
Well, upgrading it would force them to buy a new version of Access. They're a non-profit so they'd need a good reason to spend money on that. –  Jedidja Aug 24 '12 at 14:36
    
@bunglestink - Eventually they are going to have to replace the machine they are currently using. Better to replace while the current machine works then 3 years from now where the Access 2003 format is not supported by Access 2017. The next version of Office already drops some of the version 1 formats that was introduced by Office 2003. –  Ramhound Aug 24 '12 at 16:45
1  
The solution is have the organization migrate to something like Open Office. Of course I would try to explain the danagers of using a 10 year old processor. I would have them start planning for what will happen when it no longer works. Yes i understand this is non-profit doesn't mean they can't have plans for the future. –  Ramhound Aug 24 '12 at 16:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.