• Old dbase III Plus Program - Query about Clipper

    From Mr. Man-wai Chang@21:1/5 to fubarp@gmail.com on Sun Apr 9 22:03:43 2017
    On 9/04/2017 2:34 PM, fubarp@gmail.com wrote:
    I've been helping a local company maintain a dBase III Plus program for quite some time now. Every year it needs maintenance because it was badly configured. That's job security, sure, but the programmer in me wants to turn 'updating this' into a
    project.
    ....
    My question is... really, where should I start? I have several options. One is trying to use the existing code but modernize it with something like xHarbour - if I can figure out just how to do that. Another is to code up a facsimile using something
    like PyQt... or I can just leave it as it is.

    Is it a standalone application? With Netware networking?
    Do you want to keep the console mode text-based interface?
    Maybe you should just rewrite it in Visual Basic, if not PHP+MySQL?
    Visual Foxpro is another solution, though the product was discontinued.


    --
    @~@ Remain silent! Drink, Blink, Stretch! Live long and prosper!!
    / v \ Simplicity is Beauty!
    /( _ )\ May the Force and farces be with you!
    ^ ^ (x86_64 Ubuntu 9.10) Linux 2.6.39.3
    不借貸! 不詐騙! 不援交! 不打交! 不打劫! 不自殺! 請考慮綜援 (CSSA):
    http://www.swd.gov.hk/tc/index/site_pubsvc/page_socsecu/sub_addressesa

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dlzc@21:1/5 to fub...@gmail.com on Sun Apr 9 07:57:43 2017
    Dear fub...:

    On Saturday, April 8, 2017 at 11:34:24 PM UTC-7, fub...@gmail.com wrote:
    I've been helping a local company maintain a
    dBase III Plus program for quite some time now.
    Every year it needs maintenance because it was
    badly configured. That's job security, sure, but
    the programmer in me wants to turn 'updating this'
    into a project.

    The version of clipper this is working with is...
    old. Specifically, "The Clipper Compiler, Summer
    '87". So before CA even got a hold of it, or it got
    a version number.

    Then you are running Clipper S'87 code, with dBase III+, or you have compiled it and running it as S'87?

    Although I attempted to peruse through Harbor and
    xHarbour documentation, the clipper language has
    clearly evolved heavily from what this was written
    in and I don't know where to start.

    Install a compiler, and make a simple "Hello World" program. Get that to run. Look on www.xharbour.org for the xHarbour package.

    Copy all your source to another directory, where you will work. DO NOT work on your working source.

    Just try and compile your original source. Look for classes of errors, things that you can change with a find-and-replace.

    But this carries your existing errors forward...

    I've been looking for an IRC channel or any kind of
    chat room where Clipper devs hang out... and all I've
    found is this forum.

    Clipper has retired. Branched to Clipper 5.x, then Visual Objects. About the time Visual Objects arose, Harbour, then xHarbour arose from Clipper 5.3 compatibility. Visual Objects branched to Vulcan and some variants. Current effort is on X#, which
    uses Windoze IDE.

    Clipper S'87 was largely command based (no return code), rather than function based. Some of the basic commands were "deprecated" by Clipper 5.3, so you will likely have some work there.

    My question is... really, where should I start?

    I'd choose a current language, one you already know, and build the functionality up from there. Got any other programming experience?

    Another is to code up a facsimile using something like
    PyQt... or I can just leave it as it is.

    But not understanding all of my options really
    frustrates me. Just how spectacularly different is a
    'modern' Clipper program from one written in the 80s?

    It turned into C, then got dragged into the Windoze world with different Windows "adders".

    What frustrates you, I suspect, is that you really don't want to recode this application, from the ground up, to find and fix the current errors. But you cannot justify the time involved.

    David A. Smith

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mr. Man-wai Chang@21:1/5 to fubarp@gmail.com on Tue Apr 11 15:46:32 2017
    On 9/04/2017 2:34 PM, fubarp@gmail.com wrote:

    My question is... really, where should I start? I have several options. One is trying to use the existing code but modernize it with something like xHarbour - if I can figure out just how to do that. Another is to code up a facsimile using something
    like PyQt... or I can just leave it as it is.

    But not understanding all of my options really frustrates me. Just how spectacularly different is a 'modern' Clipper program from one written in the 80s?


    BTW, whatever you wanna do next, BACKUP the original source codes!

    --
    @~@ Remain silent! Drink, Blink, Stretch! Live long and prosper!!
    / v \ Simplicity is Beauty!
    /( _ )\ May the Force and farces be with you!
    ^ ^ (x86_64 Ubuntu 9.10) Linux 2.6.39.3
    不借貸! 不詐騙! 不援交! 不打交! 不打劫! 不自殺! 請考慮綜援 (CSSA):
    http://www.swd.gov.hk/tc/index/site_pubsvc/page_socsecu/sub_addressesa

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Otto Christiaanse@21:1/5 to Mr. Man-wai Chang on Tue Apr 11 02:56:40 2017
    On Tuesday, April 11, 2017 at 9:46:32 AM UTC+2, Mr. Man-wai Chang wrote:
    BTW, whatever you wanna do next, BACKUP the original source codes!
    That's the least. Should use a Source Code Control program, whatever you do. What system do you use?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mr. Man-wai Chang@21:1/5 to Otto Christiaanse on Wed Apr 12 23:28:40 2017
    On 11/04/2017 5:56 PM, Otto Christiaanse wrote:
    On Tuesday, April 11, 2017 at 9:46:32 AM UTC+2, Mr. Man-wai Chang wrote:
    BTW, whatever you wanna do next, BACKUP the original source codes!
    That's the least. Should use a Source Code Control program, whatever you do. What system do you use?


    I have never needed any source code control programs. Just plain simple
    data compression tools and drag-and-drop. :)

    --
    @~@ Remain silent! Drink, Blink, Stretch! Live long and prosper!!
    / v \ Simplicity is Beauty!
    /( _ )\ May the Force and farces be with you!
    ^ ^ (x86_64 Ubuntu 9.10) Linux 2.6.39.3
    不借貸! 不詐騙! 不援交! 不打交! 不打劫! 不自殺! 請考慮綜援 (CSSA):
    http://www.swd.gov.hk/tc/index/site_pubsvc/page_socsecu/sub_addressesa

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Otto Christiaanse@21:1/5 to Mr. Man-wai Chang on Tue Apr 18 02:02:02 2017
    On Wednesday, April 12, 2017 at 5:28:39 PM UTC+2, Mr. Man-wai Chang wrote:
    On 11/04/2017 5:56 PM, Otto Christiaanse wrote:
    On Tuesday, April 11, 2017 at 9:46:32 AM UTC+2, Mr. Man-wai Chang wrote:
    BTW, whatever you wanna do next, BACKUP the original source codes!
    That's the least. Should use a Source Code Control program, whatever you do.
    What system do you use?


    I have never needed any source code control programs. Just plain simple
    data compression tools and drag-and-drop. :)

    We did that for a while but when our team got bigger (>2 on the same product) and the requirements for tracking and tracing of our changes grew, that wasn't enough for us. Especially as the request for changes got numerous.

    Regards,
    Otto

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dlzc@21:1/5 to Otto Christiaanse on Tue Apr 18 07:04:36 2017
    Dear Otto Christiaanse:

    On Tuesday, April 18, 2017 at 2:02:03 AM UTC-7, Otto Christiaanse wrote:
    On Wednesday, April 12, 2017 at 5:28:39 PM UTC+2, Mr. Man-wai Chang wrote:
    ...
    I have never needed any source code control
    programs. Just plain simple data compression
    tools and drag-and-drop. :)

    We did that for a while but when our team got
    bigger (>2 on the same product) and the
    requirements for tracking and tracing of our
    changes grew, that wasn't enough for us.
    Especially as the request for changes got
    numerous.

    Oh, sure! Get professional and everything!

    The OP is maintaining an old Clipper S'87 (or dBase III+) program suite. Likely by him/herself.

    Keeping the originals in one directory / zip file, backed up, should be the minimum requirement.

    Then a separate directory, with extensive notes as to what the changes are, for each version you end up pushing out to the field.

    But frankly, the OP needs to go to a different programming platform, something that will get him current, salable experience. Have you ever heard of "PyQt" (what he/she mentioned), or seen it on resumes you might have reviewed?

    David A. Smith

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mr. Man-wai Chang@21:1/5 to dlzc on Wed Apr 19 00:11:28 2017
    On 18/4/2017 10:04 PM, dlzc wrote:

    Oh, sure! Get professional and everything!


    It's not about professionalism. It's how you divide the work.

    --
    @~@ Remain silent! Drink, Blink, Stretch! Live long and prosper!!
    / v \ Simplicity is Beauty!
    /( _ )\ May the Force and farces be with you!
    ^ ^ (x86_64 Ubuntu 9.10) Linux 2.6.39.3
    不借貸! 不詐騙! 不援交! 不打交! 不打劫! 不自殺! 請考慮綜援 (CSSA):
    http://www.swd.gov.hk/tc/index/site_pubsvc/page_socsecu/sub_addressesa

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mr. Man-wai Chang@21:1/5 to Otto Christiaanse on Wed Apr 19 00:10:39 2017
    On 18/4/2017 5:02 PM, Otto Christiaanse wrote:

    We did that for a while but when our team got bigger (>2 on the same product) and the requirements for tracking and tracing of our changes grew, that wasn't enough for us. Especially as the request for changes got numerous.

    If each program fragment (xxx.PRG) was small enough and was always
    handled by one programmer, then there would no contention, saving the
    need to use source code control tools.

    --
    @~@ Remain silent! Drink, Blink, Stretch! Live long and prosper!!
    / v \ Simplicity is Beauty!
    /( _ )\ May the Force and farces be with you!
    ^ ^ (x86_64 Ubuntu 9.10) Linux 2.6.39.3
    不借貸! 不詐騙! 不援交! 不打交! 不打劫! 不自殺! 請考慮綜援 (CSSA):
    http://www.swd.gov.hk/tc/index/site_pubsvc/page_socsecu/sub_addressesa

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dlzc@21:1/5 to Mr. Man-wai Chang on Tue Apr 18 12:52:52 2017
    On Tuesday, April 18, 2017 at 9:11:26 AM UTC-7, Mr. Man-wai Chang wrote:
    On 18/4/2017 10:04 PM, dlzc wrote:

    Oh, sure! Get professional and everything!


    It's not about professionalism. It's how you
    divide the work.

    Which itself requires professionalism, and encapsulation. Just does not require separate tools to achieve solid, repeatable results.

    And I was being facetious...

    David A. Smith

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Otto Christiaanse@21:1/5 to dlzc on Wed Apr 19 01:51:37 2017
    On Tuesday, April 18, 2017 at 4:04:37 PM UTC+2, dlzc wrote:

    Oh, sure! Get professional and everything!

    The OP is maintaining an old Clipper S'87 (or dBase III+) program suite. Likely by him/herself.

    Keeping the originals in one directory / zip file, backed up, should be the minimum requirement.

    Then a separate directory, with extensive notes as to what the changes are, for each version you end up pushing out to the field.

    But frankly, the OP needs to go to a different programming platform, something that will get him current, salable experience. Have you ever heard of "PyQt" (what he/she mentioned), or seen it on resumes you might have reviewed?

    Eh, nope. Sorry. But then again, I'm not in the Python edge. (And summer '87, I've not used it ever myself. When I started working with Clipper in 1997, the last source was just converted to 5.2)

    The conversion to a new platform is always a troublesome task, not only because of possible paradigma shifts, but also because of the money involved. And it is helpful if you know the tech you want to move to...

    Paying off the technological debt is better done along the whole lifetime of an application instead of in one sweep wtshtf, especially when there is much maintenance needed like the OP stated.

    Rewrite piece by piece, maybe keeping (parts of) the business logic is sometimes the better investment.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Otto Christiaanse@21:1/5 to fub...@gmail.com on Thu May 11 11:09:36 2017
    On Sunday, April 9, 2017 at 8:34:24 AM UTC+2, fub...@gmail.com wrote:

    I don't know where to start.


    Let us know what you do or think. Maybe we can give you additional pointers.

    We are all on the same road somewhere :)
    Regards,
    Otto

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Geoff Barnard@21:1/5 to All on Sat Jun 3 21:16:47 2017
    First of all, are you doing this for YOUR benefit, or for the customer's?
    Are you sure that your customer WANTS their software messed with too much.
    They might not.

    Until very recently, I was still maintaining some Clipper S.87 systems. I have two systems still being used (I think) but customer doesn't pay, so I'm not counting them as 'maintained'. They are probably still 'live' systems though. I have the S.87 manual here. And all their source code, so I
    could change/recompile whenever required.

    I would suggest that a S.87 applic could be re-built as a Harbour console
    mode applic, so it would still look the same. As you get used to the environment, gradually re-work sections of the code, converting to a (more
    ?) WinDoze based system, assuming your customer is happy with that.

    Geoff
    <fubarp@gmail.com> wrote in message news:c51e8153-5b55-4250-b328-4d23a829d3ad@googlegroups.com...
    I've been helping a local company maintain a dBase III Plus program for
    quite some time now. Every year it needs maintenance because it was badly configured. That's job security, sure, but the programmer in me wants to
    turn 'updating this' into a project.

    The version of clipper this is working with is... old. Specifically, "The Clipper Compiler, Summer '87". So before CA even got a hold of it, or it got
    a version number.

    Although I attempted to peruse through Harbor and xHarbour documentation,
    the clipper language has clearly evolved heavily from what this was written
    in and I don't know where to start.

    I've been looking for an IRC channel or any kind of chat room where Clipper devs hang out... and all I've found is this forum.

    My question is... really, where should I start? I have several options. One
    is trying to use the existing code but modernize it with something like xHarbour - if I can figure out just how to do that. Another is to code up a facsimile using something like PyQt... or I can just leave it as it is.

    But not understanding all of my options really frustrates me. Just how spectacularly different is a 'modern' Clipper program from one written in
    the 80s?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)