Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #396559
| From | 🇵🇱Jacek Marcin Jaworski🇵🇱 <jmj@energokod.gda.pl> |
|---|---|
| Newsgroups | comp.lang.fortran, comp.lang.c, comp.lang.c++ |
| Subject | Re: "Internationalis(z)ing Code - Computerphile" |
| Date | 2026-02-02 21:02 +0100 |
| Organization | energokod.gda.pl |
| Message-ID | <muce7bF6trhU1@mid.individual.net> (permalink) |
| References | <10l1emt$gbq3$1@dont-email.me> |
Cross-posted to 3 groups.
W dniu 24.01.2026 o 04:35, Lynn McGuire pisze: > One of my programmers has been working on converting our Windows user > interface, written in 450,000 lines of C++, from Ascii to Unicode for > two years now. It was a one year project to start and his latest > estimate is another year to complete. I think that this task should be named "rewrite". But I recommended "clean up" instead. In the case "clean up" you have great opportunity to make your app far better than previous. Modern industry approach, is modularity. This is prove in many essential industry branch, and especially in IIww years. You can make your app "modular", by simply respect following rules: 1. Split your code in to 3 parts: 1) Business Logic classes; 2) Tool classes; 3) Window and widget classes. This is my "programming pattern" which I call TLW "tools-logics-window" pattern, and it replace more specialised MVC "model-view-controler" pattern. 2. Split your code in to few static libs. NOTE: Do not push any "business logic" in to your libs. Libs must be acted only as "tools". All "business logic" should remain in your core app. NOTE: When you have static libs, then you can develop your libs and prog. simultaneously, because they will not interfere with other projects (other projects can work normally and can be upgraded later). 3. Split your code in to many dynamically loaded plug-ins. NOTE 1: Create your plug-ins only in 3 cases: 1) for file type and network protocol formats (for tool classes); 2) for new algorithms (for logic classes); 3) for new widgets (for windows classes). Note 2: In many cases one plug-in provide together new widget and new algorithm; 4. Make your libs and plug-in rest code independent as far as possible and make them to use minimal set of 3rd party libs dependencies. NOTE: This mean that your libs and plug-ins (for tools and logic classes) should not be depended of GUI libs, nor any platform specific libs. In order to do this all build in types and used classes should be renamed. Then, if necessary, renamed type can be easily expanded by make it normal class (with earlier renamed class as a parent). NOTE: Above I invent and covered in my monograph under title "Arch. Prog. Nieuprzywilejowanych" (in eng.: "Architecture of Unprivileged Programs"). I publish it in dec. 2024, on my WWW site under URL: <https://energokod.gda.pl/monografie/Arch.%20Prog.%20Nieuprzywilejowanych.pdf> One more hint: Buy great and thin Stroustrup book "A Tour of C++ (C++ In-Depth Series" - it is all about basic C++ concepts but focused on C++20. Then consider what "C++ modern parts" are worth to apply for your project. -- Jacek Marcin Jaworski, Pruszcz Gd., woj. Pomorskie, Polska 🇵🇱, EU 🇪🇺; tel.: +48-609-170-742, najlepiej w godz.: 5:15-5:55 lub 17:15-17:55; <jmj@energokod.gda.pl>, gpg: 4A541AA7A6E872318B85D7F6A651CC39244B0BFA; Domowa s. WWW: <https://energokod.gda.pl>; Mini Netykieta: <https://energokod.gda.pl/MiniNetykieta.html>; Mailowa Samoobrona: <https://emailselfdefense.fsf.org/pl>.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar
"Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-01-23 21:35 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-01-24 04:46 +0000
Re: "Internationalis(z)ing Code - Computerphile" Gary Scott <garylscott@sbcglobal.net> - 2026-01-24 10:11 -0600
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-01-25 17:13 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-01-25 15:21 -0600
Re: "Internationalis(z)ing Code - Computerphile" Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-01-26 01:00 +0100
Re: "Internationalis(z)ing Code - Computerphile" scott@slp53.sl.home (Scott Lurndal) - 2026-01-26 15:04 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-01-26 01:42 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-01-26 00:45 -0600
Re: "Internationalis(z)ing Code - Computerphile" Michael S <already5chosen@yahoo.com> - 2026-01-26 14:17 +0200
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-01-26 16:50 -0600
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-01-26 09:07 +0100
Re: "Internationalis(z)ing Code - Computerphile" Paavo Helde <eesnimi@osa.pri.ee> - 2026-01-30 14:56 +0200
Re: "Internationalis(z)ing Code - Computerphile" Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-01-30 14:37 +0100
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-01-30 20:28 +0000
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-01-31 12:50 +0100
Re: "Internationalis(z)ing Code - Computerphile" G <g@nowhere.invalid> - 2026-01-31 18:50 +0000
Re: "Internationalis(z)ing Code - Computerphile" Gary Scott <garylscott@sbcglobal.net> - 2026-01-31 16:10 -0600
Re: "Internationalis(z)ing Code - Computerphile" ImperiusDamian <dgwrightauthor@gmail.com> - 2026-01-31 21:08 -0500
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-01 09:06 +0000
Re: "Internationalis(z)ing Code - Computerphile" "Fred. Zwarts" <F.Zwarts@HetNet.nl> - 2026-02-02 11:18 +0100
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-02 21:23 +0000
Re: "Internationalis(z)ing Code - Computerphile" "Fred. Zwarts" <F.Zwarts@HetNet.nl> - 2026-02-03 10:33 +0100
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-03 21:29 +0000
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-01 11:18 +0100
Re: "Internationalis(z)ing Code - Computerphile" Gary Scott <garylscott@sbcglobal.net> - 2026-02-01 08:28 -0600
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-02-01 09:42 +0000
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-01 11:35 +0100
Re: "Internationalis(z)ing Code - Computerphile" James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-02-01 12:21 -0500
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-01 23:01 +0100
Re: "Internationalis(z)ing Code - Computerphile" James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-02-01 19:11 -0500
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-02 04:31 +0000
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-02 11:27 +0100
Re: "Internationalis(z)ing Code - Computerphile" Michael S <already5chosen@yahoo.com> - 2026-02-02 12:49 +0200
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-02 13:14 +0100
Re: "Internationalis(z)ing Code - Computerphile" Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-02-02 16:07 +0100
Re: "Internationalis(z)ing Code - Computerphile" James Kuyper <jameskuyper@alumni.caltech.edu> - 2026-02-02 09:36 -0500
Re: "Internationalis(z)ing Code - Computerphile" David Brown <david.brown@hesbynett.no> - 2026-02-02 16:01 +0100
Re: "Internationalis(z)ing Code - Computerphile" Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-02-02 16:19 +0100
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-01-26 22:47 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-01-26 16:51 -0600
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-01-27 05:17 +0000
Re: "Internationalis(z)ing Code - Computerphile" Thomas Koenig <tkoenig@netcologne.de> - 2026-01-27 06:45 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-01-27 01:46 -0600
Re: "Internationalis(z)ing Code - Computerphile" "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-01-27 00:14 -0800
Re: "Internationalis(z)ing Code - Computerphile" scott@slp53.sl.home (Scott Lurndal) - 2026-01-27 15:22 +0000
Re: "Internationalis(z)ing Code - Computerphile" "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-01-27 12:33 -0800
Re: "Internationalis(z)ing Code - Computerphile" Michael S <already5chosen@yahoo.com> - 2026-01-27 11:04 +0200
Re: "Internationalis(z)ing Code - Computerphile" Gary Scott <garylscott@sbcglobal.net> - 2026-01-27 08:35 -0600
Re: "Internationalis(z)ing Code - Computerphile" scott@slp53.sl.home (Scott Lurndal) - 2026-01-27 15:21 +0000
Re: "Internationalis(z)ing Code - Computerphile" 🇵🇱Jacek Marcin Jaworski🇵🇱 <jmj@energokod.gda.pl> - 2026-02-02 21:02 +0100
Re: "Internationalis(z)ing Code - Computerphile" 🇵🇱Jacek Marcin Jaworski🇵🇱 <jmj@energokod.gda.pl> - 2026-02-02 21:13 +0100
Re: "Internationalis(z)ing Code - Computerphile" Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-02-02 21:25 +0000
Re: "Internationalis(z)ing Code - Computerphile" Lynn McGuire <lynnmcguire5@gmail.com> - 2026-02-03 17:32 -0600
csiph-web