cross compiling a huge codebase from Power++ to c#
-
Hi, my team members are trying to cross compile a huge codebase (4100 forms, 9300 files) from Power++ (an old C/C++ IDE made by Whatcom/Sybase ano 1999) to C#. This codebase is very old and has a lot of issues with quality (copy and paste everywhere, spaghetti code, code smells, ...). Everything started with a tool that converts Power++ forms to WinForms. (that worked surprisingly well) But now they want to convert the whole C++ codebase to C# (there is still some manual work needed to make the C# code compile). They think if everything is translated to C# their productivity will rise and they have a lot of time to improve the code. What do you think about this method ? Is it a good idea to build a 'new' software completely on legacy code ?
-
Hi, my team members are trying to cross compile a huge codebase (4100 forms, 9300 files) from Power++ (an old C/C++ IDE made by Whatcom/Sybase ano 1999) to C#. This codebase is very old and has a lot of issues with quality (copy and paste everywhere, spaghetti code, code smells, ...). Everything started with a tool that converts Power++ forms to WinForms. (that worked surprisingly well) But now they want to convert the whole C++ codebase to C# (there is still some manual work needed to make the C# code compile). They think if everything is translated to C# their productivity will rise and they have a lot of time to improve the code. What do you think about this method ? Is it a good idea to build a 'new' software completely on legacy code ?
You can go and rewrite the app all you want. No, you're not going to find a "conversion tool" to convert the code. The language isn't going to make you magically more productive. There's plenty of stuff in the .NET BCL that will save you from having to "re-invent the wheel" in places in your code, but the real benefit to productivity is going to be how you write your new code and your design choices. This is your opportunity to simplify your code-base and fix stuff in your original code by rewriting it from scratch.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
Dave Kreskowiak -
Hi, my team members are trying to cross compile a huge codebase (4100 forms, 9300 files) from Power++ (an old C/C++ IDE made by Whatcom/Sybase ano 1999) to C#. This codebase is very old and has a lot of issues with quality (copy and paste everywhere, spaghetti code, code smells, ...). Everything started with a tool that converts Power++ forms to WinForms. (that worked surprisingly well) But now they want to convert the whole C++ codebase to C# (there is still some manual work needed to make the C# code compile). They think if everything is translated to C# their productivity will rise and they have a lot of time to improve the code. What do you think about this method ? Is it a good idea to build a 'new' software completely on legacy code ?
sx2008 wrote:
They think if everything is translated to C# their productivity will rise
Straight up management thinking, an application badly written 2 decades ago, run through a n% successful converter and expect the users to be more productive. For a start if you ever get it to compile (after spending a year fiddling with conversion issues) management will then shelve the "improve the code" effort (a never ending proposition if there ever was one) because if it works don't fuck with it! Spend the time and redesign the application to meet current requirements and code from the start. If you have 4000+ forms I will guarantee there are improvements your user base would like to be made.
Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP
-
Hi, my team members are trying to cross compile a huge codebase (4100 forms, 9300 files) from Power++ (an old C/C++ IDE made by Whatcom/Sybase ano 1999) to C#. This codebase is very old and has a lot of issues with quality (copy and paste everywhere, spaghetti code, code smells, ...). Everything started with a tool that converts Power++ forms to WinForms. (that worked surprisingly well) But now they want to convert the whole C++ codebase to C# (there is still some manual work needed to make the C# code compile). They think if everything is translated to C# their productivity will rise and they have a lot of time to improve the code. What do you think about this method ? Is it a good idea to build a 'new' software completely on legacy code ?
Everyone seems to assume that "legacy code" was always designed badly from the start. A good pattern is a good pattern (design). Only the tools change. I prefer a Dremel over a chisel; most of the time. Fewer rough edges in the final product.
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it. ― Confucian Analects: Rules of Confucius about his food
-
Everyone seems to assume that "legacy code" was always designed badly from the start. A good pattern is a good pattern (design). Only the tools change. I prefer a Dremel over a chisel; most of the time. Fewer rough edges in the final product.
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it. ― Confucian Analects: Rules of Confucius about his food
Reread the first paragraph of the post, the OP states there are issues with the existing system. It curls my toes thinking about trying to convert such a large codebase and betting it will work.
Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP
-
Reread the first paragraph of the post, the OP states there are issues with the existing system. It curls my toes thinking about trying to convert such a large codebase and betting it will work.
Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP
-
Reread the first paragraph of the post, the OP states there are issues with the existing system. It curls my toes thinking about trying to convert such a large codebase and betting it will work.
Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP
-
Hi, my team members are trying to cross compile a huge codebase (4100 forms, 9300 files) from Power++ (an old C/C++ IDE made by Whatcom/Sybase ano 1999) to C#. This codebase is very old and has a lot of issues with quality (copy and paste everywhere, spaghetti code, code smells, ...). Everything started with a tool that converts Power++ forms to WinForms. (that worked surprisingly well) But now they want to convert the whole C++ codebase to C# (there is still some manual work needed to make the C# code compile). They think if everything is translated to C# their productivity will rise and they have a lot of time to improve the code. What do you think about this method ? Is it a good idea to build a 'new' software completely on legacy code ?
-
Hi, my team members are trying to cross compile a huge codebase (4100 forms, 9300 files) from Power++ (an old C/C++ IDE made by Whatcom/Sybase ano 1999) to C#. This codebase is very old and has a lot of issues with quality (copy and paste everywhere, spaghetti code, code smells, ...). Everything started with a tool that converts Power++ forms to WinForms. (that worked surprisingly well) But now they want to convert the whole C++ codebase to C# (there is still some manual work needed to make the C# code compile). They think if everything is translated to C# their productivity will rise and they have a lot of time to improve the code. What do you think about this method ? Is it a good idea to build a 'new' software completely on legacy code ?
Has this at the end worked? I think not, except adapting ported forms with implementing special logic manually.