Re: advice on language/database choice

Discussion in 'C++' started by A Bag Of Memes, Jul 24, 2003.

  1. "Brian Cido" <> wrote in message
    news:...
    > Just a warning, I am a computer user, not a developer. I don't know if
    > this is the right forum, but I would like a bit of advice about
    > differences between programming languages and databases. If not, sorry
    > for the bother.
    >
    > I currently use a computer simulation program (for academic modelling)
    > that has been developed using C++, ms-access and visual basic. We
    > input data via an interface (developed in C++) that can also provide
    > excel spreadsheets for us to input the data (managed via Visual
    > Basic). Data is stored and organized in Access so that it can be
    > passed off to another program (written in APL). It also receives data
    > from this other program and stores it.
    >
    > The program seems to work reasonably well from a user perspective, but
    > is apparantly a bit of a nightmare to work with as a programmer (we
    > are still developing parts of it). It takes a long time to add new
    > features, track down any errors, and is quite slow. Aparently the
    > code is quite chaotic and undocumented. We have a proposal to rewrite
    > the code more clearly, but to move to Java and mysql, instead of
    > C++/access/visual basic. I'm told that this will create a faster
    > system that is easier program in and to error track, easier to
    > document and will allow source code control. His specific reasons for
    > moving away from Access are that it is slow, bloats the database as
    > the program is used, periodically corrupts the data, is not
    > cross-platform, and will not scale well to heavy use. On the other
    > hand, he argues that MySQL is fast, easy to use, cross-platform
    > capable, scalable and is a proven database (and that it is also open
    > source and free to use without any licensing fees).
    >
    > Sounds fine to me except that we just spent a lot of time and $
    > developing the C++ and access version, so I'm a bit cautious about the
    > need to move everything over to another system. While I have heard
    > many of the advantages, I am curious if there are any disadvantages or
    > limitations to using mysql and java.
    >
    > Any advice would be great.


    I programmed in C++ for about 8 years. I've also programmed in Java for
    about 7 years or so. During most of those years I've reviewed the code of
    junior and senior programmers in both languages. I have to say that Java is
    much easier to maintain for long periods of time. Pointer arithmetic is
    just too dangerous for the average developer, IMHO. If you can afford
    automated garbage collection it lets code be cleaner than manual garbage
    collection. Cleaner code is easier to understand, modify, fix and therefore
    maintain.

    The second time I write something it's almost always simpler and works
    better. This is a well known phenomenon. We don't want to reinvent the
    wheel, but the 2nd wheel was probably a hell of a lot better than the 1st.

    Having said all of that, I'd give merciless refactoring a shot before I
    rewote the whole thing. Find some refactoring expertise. Read Martin
    Fowler's "Refactoring" book. Give the programmers the freedom to refactor
    code they don't understand. Make them write unit tests so they'll feel
    confident about it. VB and C++ have automated unit test frameworks.

    Give the programmers the choice. That keeps the honest. If they think they
    can regain confidence in the existing code base, let them keep it. They
    will be free to add automated unit tests when making modifications or adding
    features. They will have time to refactor code they can't easily understand
    until they can.

    If the code is hopeless, let them start over. This time they have to unit
    test every behavior, everything that could break. And they have to refactor
    code until it's easy to understand for an average <whatever> programmer.
    Java's a great choice for this sort of app. MySQL is a major improvement
    over JET.
    A Bag Of Memes, Jul 24, 2003
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Roedy Green
    Replies:
    1
    Views:
    317
    Tommy McDaniel
    Jul 24, 2003
  2. Mickey Segal
    Replies:
    0
    Views:
    855
    Mickey Segal
    Feb 2, 2004
  3. Roedy Green
    Replies:
    1
    Views:
    303
    Tommy McDaniel
    Jul 24, 2003
  4. Beach Potato
    Replies:
    10
    Views:
    500
    Simon Turner
    Sep 8, 2003
  5. miles.jg
    Replies:
    16
    Views:
    854
    Alf P. Steinbach
    Nov 14, 2007
Loading...

Share This Page