What successful conversion/rewrite of software hav

2020-07-09 07:06发布

What successful conversion/rewrite have you done of software you were involved with? What where the languages and framework involved in the process? How large was the software in question? Finally what is the top one or two thing you learned from being involved with the process.

This is related to this question

17条回答
不美不萌又怎样
2楼-- · 2020-07-09 07:50

The coolest one for me, I think, was the port of MAME to the iPod. It was a great learning experience with embedded hardware, and I got to work with a lot of great people. Official site.

查看更多
Ridiculous、
3楼-- · 2020-07-09 07:51

I converted a dynamical build-process completely written in Perl to a C#/.Net solution using a workflow-engine a co-worker had developed (which was still in beta - so I had to do some refinements). That gave me the oppertunity to add fail-safe and fail-over functionality to the build process.

Before you ask - no - the microsoft workflow-foundation could not be used since you cannot dynamically change a process during its runtime.

What I learned:

  • to hate the Perl-developer
  • process-optimization using a wf-engine
  • fail-safe and fail-over strategies
  • some C# tweaks ;)

In the end it covered about 5k - 6k (including the wf-engine) LoC origin from 3 200 LoC Perl-files. But it was fun - and far better in the end ;)

查看更多
劫难
4楼-- · 2020-07-09 07:54

Ten years ago I managed a team that converted a CAD system from DOS into Windows. The DOS version used home-brew libraries for graphics drawing, the Windows version used MFC. The software was about 70.000 lines of C code at the time of the conversion. The most important thing we learned in the process is the power of abstraction. All device-specific non-portable routines were isolated in a few files. It was therefore relatively easy to substitute the calls to the DOS-based library that would draw by directly accessing the frame buffer with Windows API calls. Similarly, for input we just substituted the event loop that checked for keyboard and mouse events, with the corresponding Windows event loop. We continued our policy of isolating the non-portable (this time Windows) code from the rest of the system, but we have not yet found this particularly useful. Perhaps one day we will port the system to Mac OS X and be thankful again.

查看更多
Deceive 欺骗
5楼-- · 2020-07-09 07:55

Converted vBulletin which is written in PHP into C#/Asp.NET. I'm pretty familiar with both languages, but PHP is the hands down the winner for building that software. The biggest pain in the rear was needing to do a C# equivalent of PHP's eval() for calling the templates.

It was my first challenge in trying to do a conversion. I learned that I need more experience with C# and that writing it from scratch is just the easier route sometimes.

查看更多
太酷不给撩
6楼-- · 2020-07-09 07:56

Several. But I mention one.

It was a performance modeling tool. Part delphi 1, part turbo pascal. It needed a rewrite else it was not going to survive. So we started as a team of 2, but only me survived to the end. And I was ready before the deadline ;-).

Several things we did:

  • Make it multimodel. The original had lots of globals. I removed them all and multi model was easy to adapt.
  • Extended error messages. Click on a message and get the help.
  • Lots of graphs and diagrams. All clickable to drill down.
  • Simulation. Change parameters over time and see how long the current configuration was enough.

We really made this one clean and it paid back heavily in the end. Such a big learning experience.

查看更多
登录 后发表回答