• C++ standard version in GoldEd

    From Vitaliy Aksyonov@1:104/117 to All on Tue Sep 26 08:34:42 2023
    Hello All.

    * Carbon copied to Andrew Clarke

    I'm working on some refactoring in GoldEd. Mainly on reworking dangerous code like memset/calloc for non-POD classes and sprintf -> snprintf.

    My question is which C++ stnadard version may be appropriate in GoldEd? AFAIK it still build by some anciend compilers which may not support even C++11.

    If it's possible to start using C++11, code may be made much safer with modern features like smart pointers, variadic templates, brace initialization, etc.

    What do you guys think about that?

    Vitaliy

    --- GoldED+/LNX 1.1.5-b20230920
    * Origin: Aurora, Colorado (1:104/117)
  • From Kai Richter@2:240/77 to Vitaliy Aksyonov on Tue Sep 26 23:22:04 2023
    Hello Vitaliy!

    26 Sep 23, Vitaliy Aksyonov wrote to All:

    My question is which C++ stnadard version may be appropriate in
    GoldEd?

    Well, i'm not qualified to answer that question.

    If it's possible to start using C++11, code may be made much safer
    with modern features

    From a user point of view i don't care much about modern or old code as long it is working code. From a fidonet member point of view i would like to see support for as many as possible hard- and software platforms. On the other hand old code running on old hard- and software will continue to work on old systems like they do now.

    If your question is if it's possible to break with backwards compatibilty then my qualified answer is: Yes, it's possible because of the content in the gold_usr.txt:

    ####
    I would rather release the source code and let
    interested users carry it onwards at their own pace. So after careful examination of the variety of open source compliant licenses out
    there, I chose GPL and LGPL.

    Thank you for your support and understanding.

    Odinn Sorensen.
    ####

    So thanks to Odinn and open source you are on your own. :-)

    Feel free to start your own fork - maybe "golded++"? ;-) Let the legacy code experts decide which code could be merged to the legacy builds.

    Regards

    Kai

    --- GoldED+/LNX 1.1.4.7
    * Origin: Monobox (2:240/77)
  • From Nil Alexandrov@1:16/101 to Kai Richter on Wed Sep 27 14:28:30 2023
    Hello, Kai!

    Tuesday September 26 2023 23:22, from Kai Richter -> Vitaliy Aksyonov
    My question is which C++ stnadard version may be appropriate in
    GoldEd?

    I read your question as -- what is the minimum -std=c++... I can enable in my compiler that will not break any existing or future builds. And the answer is GoldEd+ "supported" platforms and compilers. Have you seen the list? Have you seen that (semi) automated CI/CD pipeline?

    I am joking here but you will see that there are volunteers who are going to produce binary packages out of master branch once your pull request is merged. This will give you a clue on which platforms are still alive and what compilers they use.

    Optimistically, I would establish the minimum C++ standard for GoldEd+ to be C++11. Though, I am not sure about Open Watcom C/C++ capabilities as I have seen it in use at least for the Husky project.

    Well, i'm not qualified to answer that question.

    At least, you can do your best effort.

    If it's possible to start using C++11, code may be made much
    safer with modern features

    From a user point of view i don't care much about modern or old code
    as long it is working code.

    As a user, will you run DOS version of GoldEd+?

    From a fidonet member point of view i would like to see support for as many as possible hard- and software platforms.

    Software platforms? saas software as a service?

    On the other hand old code running on old hard- and software will
    continue to work on old systems like they do now.

    True. You still can download .exe files for Dos/OS2/Win32/you name it and it shall/shouldbe compatible with the modern FTN software, because we have established FTSC facility.

    Best Regards,
    Nil
    --- GoldED+/LNX 1.1.5
    * Origin: KC1GSH (1:16/101)
  • From Kai Richter@2:240/77 to Nil Alexandrov on Wed Sep 27 23:20:46 2023
    Hello Nil!

    27 Sep 23, Nil Alexandrov wrote to Kai Richter:

    My question is which C++ stnadard version may be appropriate in
    GoldEd?

    I read your question as

    Well, i'm not qualified to answer that question.

    At least, you can do your best effort.

    Please note that i'm not Vitaly. He is not responsible for my user point views. ;-)

    As a user, will you run DOS version of GoldEd+?

    I don't. But i'm running a node on a Debian 5 system which is runnung with emulation on a Debian 9 host. I skipped the migration to systemd and golded migration to /bsd is on the todo list.

    From a fidonet member point of view i would like to see support
    for as many as possible hard- and software platforms.

    Software platforms? saas software as a service?

    Well, "operation system" would be the better term. But in the past there were nodes with linux NAS, Amigas and OS/2 with DOS emulation inside that used the best software for their tasks no matter on which OS it runs. So which OS is in action if we talk about emulated software? Those mixture of different environments is what i called software platform or in other words if more than one OS is involved.

    Goldeds mappath keyword is an example how to use the same config file on DOS, OS/2 and Linux machines.

    Regards

    Kai

    --- GoldED+/LNX 1.1.4.7
    * Origin: Monobox (2:240/77)
  • From Vitaliy Aksyonov@1:104/117 to Nil Alexandrov on Wed Sep 27 17:17:24 2023
    ਢ, Nil!

    27 Sep 23 14:28, ᠫ() Kai Richter:

    Tuesday September 26 2023 23:22, from Kai Richter -> Vitaliy Aksyonov
    My question is which C++ stnadard version may be appropriate in
    GoldEd?

    I read your question as -- what is the minimum -std=c++... I can
    enable in my compiler that will not break any existing or future
    builds. And the answer is GoldEd+ "supported" platforms and compilers. Have you seen the list? Have you seen that (semi) automated CI/CD pipeline?

    I am joking here but you will see that there are volunteers who are
    going to produce binary packages out of master branch once your pull request is merged. This will give you a clue on which platforms are
    still alive and what compilers they use.

    Optimistically, I would establish the minimum C++ standard for GoldEd+
    to be C++11. Though, I am not sure about Open Watcom C/C++
    capabilities as I have seen it in use at least for the Husky project.

    Yep. I was the author of the question. Right now I'm using gcc with -std=c++98 and it compiles with my changes. But I didn't add anything fancy yet. I may try to setup Watcom compiler and try to build it there. I have tried to build with VC 2005 under Windows XP, but I need to finish dev env setup first. I've been using it long time ago and forgot a lot of stuff already. :)

    Well, i'm not qualified to answer that question.

    At least, you can do your best effort.

    That's what I'm doing. I only can't have all possible OS/compilers combinations.

    If it's possible to start using C++11, code may be made much
    safer with modern features

    From a user point of view i don't care much about modern or old
    code as long it is working code.

    As a user, will you run DOS version of GoldEd+?

    From a fidonet member point of view i would like to see support
    for as many as possible hard- and software platforms.

    Software platforms? saas software as a service?

    On the other hand old code running on old hard- and software will
    continue to work on old systems like they do now.

    True. You still can download .exe files for Dos/OS2/Win32/you name it
    and it shall/shouldbe compatible with the modern FTN software, because
    we have established FTSC facility.

    Older versions can be easily build with older compliers, but would be really nice to be able to build new fixes and/or features with old compilers too.

    Best regards,
    Vitaliy Aksyonov.

    ... 襫 祭 - 㩤 祭!
    --- GoldED+/LNX 1.1.5-b20230920
    * Origin: Aurora, Colorado (1:104/117)