Visual Studio - 重写/寿命
仅供参考 - 我是一名大型机开发人员,几年前才转向 .NET 世界,有很多东西需要学习。
我们正在考虑将 Visual FoxPro 应用程序重写为 .Net(最有可能是 VB)。 该项目预计耗时 4-6 年。
我们现在正处于初步设计的早期阶段。 我看到 Microsoft 提供了很多关于 VS 2010 的信息。2005/2008 有什么问题值得我们关注吗? 或者说,这是微软这么早开始推出未来产品的SOP吗? 值得等到 2010 年才开始编码吗? 无论如何,功能设计可能不会在年底(2009 年)完成,我们总是可以在 VS-2005 中做模型。
其次,FoxPro和VB6是同一条船; 不受支持,但目前还活着。 迁移到 .NET 明智吗? VB? C#? MS 是否会决定迁移到 VS 20xx 需要再次完全重写旧代码 (VB6)? 或者他们可能会为了下一个“伟大”的东西(foxpro)而消除 VB.net 或 C#.net? 或者 .NET 框架的生命周期又如何呢? 在其他事情出现之前它是否也受到限制?
我们有一个相当大的应用程序,经过多年的创可贴、更新和法律变更,它已经成为一个需要转换的 PIA。 我们想要一个能够稳定数十年并能够轻松向上迁移的新平台。 是否有 50 年后的任何开发代码? 100?
自从使用笔和纸以来,应用程序的核心逻辑没有太大变化。 如果需要每 10-20 年重写一次,那么现在很难证明多年重写的合理性。 FoxPro 应用程序于 1991 年开始开发,于 1999 年上线,现在将用另一种语言重写。
与 Win Apps 的流动性相比,大型机更容易。
以下是一些高级规格。
- 这是政府办公室用的。
- 它包含高度敏感的数据。
- 基于网络不是一种选择。
- 它将只是一个 MS Windows 应用程序。
- 可能会从 FoxPro 表迁移到 SQL Server 2005/8/10(无论当前版本是什么)
我知道那些有水晶球的人不会回复,但是社区的感觉是什么编程语言稳定下来并长期可用/稳定的可能性?
感谢您对此的意见,我很感激。
FYI - I am a mainframer that moved to the .NET world a couple years ago and has a lot to learn.
We are looking at rewriting a Visual FoxPro app into .Net (most likely VB). This project is projected at 4-6 years.
We are at the very early stages of the preliminary design right now. I am seeing a LOT of information from Microsoft on VS 2010. Is there something wrong with 2005/2008 that we should be concerned about? Or, is this SOP for MS to start pushing future products this early? Is it worth waiting for 2010 to start any coding? The functional design probably won't be finished by year end (2009) anyway and we can always do mock ups in VS-2005.
Secondly, FoxPro and VB6 are in the same boat; unsupported but alive for now. Is moving to .NET smart? VB? C#? Will there come a time when MS decides that moving to VS 20xx requires another complete rewrite of old code (VB6)? Or might they eliminate VB.net or C#.net for the next 'great' thing (foxpro)? Or what about the lifespan of the .NET framework? Is it also limited until something else comes along?
We have a pretty big application with years of band-aids, updates and law changes that is already going to be a PIA to convert. We want a new platform that is going to be stable for decades to come with easy migrations upwards. Is there any development code that will be around 50 years from now? 100?
The core logic from the application hasn't changed that much since they used pen and paper. It is difficult to justify a multi-year rewrite now if it needs to be done every 10-20 years. The FoxPro app started dev in 1991, went live in 1999 and is now due to be rewritten in another language.
Mainframes are easy compared to the fluidity of Win Apps.
Here are some high level specs.
- It's for a government office.
- It contains highly sensitive data.
- Web based is not an option.
- It will be a MS Windows application only.
- Will be moving from FoxPro tables to, probably, SQL Server 2005/8/10 (whatever is current)
I know those with working crystal balls won't reply, but what is the feel of the community for the likelihood of a programming language settling down and being available/stable long term?
Thanks for your opinions on this, I appreciate them.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我在哪里可以找到一份这些轻松的政府工作???
不管怎样,是的,提前发布和演示操作系统、开发工具等是微软的SOP,这并不意味着当前的工具有任何问题。 自 VS2003 以来,如果愿意的话,将项目迁移到新版本的开发环境总是非常容易,因此当您准备好编写代码时,只需从当前的 VS 版本开始即可。
当您编写本文时,.NET 将会发生变化,但他们在保持与以前的框架版本的向后兼容性方面非常出色,因此这也不是真正的问题。
如果您无论如何都要重写,我建议您使用 C# 而不是 VB.Net。 VB.Net 是一种让 VB 程序员进入 .Net 的创可贴语言,有时对于兼容性很有用,但我不知道为什么你想用它开始新的开发。
where can i get me one of these cushy government jobs????
anyway, yes it is SOP of Microsoft to announce and demo OSes, dev tools, etc early, it doesn't mean there is anything wrong with the current tools. Since VS2003 it has always been extremely easy to migrate projects to new versions of the development enviornment if one so chooses to do so, so just start on whatever version of VS is current when you're ready to write code.
.NET will change as you're writing this but they've been really good about maintaining backward compatibilty to previous framework versions so it isn't really any issue either.
I'd recommend C# over VB.Net if you're going to rewrite anyway. VB.Net was kind of a band-aid language to get VB programmers onto .Net and is sometimes useful for compatibility, but I don't know why you'd want to start new development with it.
Windows 确实不是一个适合您所描述的长寿命应用程序的平台。 这就是为什么大型机/大型钢铁供应商虽然比以前更弱,但仍然存在。
Windows really isn't a suitable platform for long life apps such as you're describing. That's why mainframe/big iron vendors, while weaker than they used to be, are still around.
显然,没有人能准确地告诉未来所有最新/最伟大的东西会发生什么。 如果您是 80 年代和 90 年代的 Mac OS 程序员,如果您与 VB6 程序员不同,您可能也会有点恼火。
从长远来看,.NET 和 VB.NET/C# 是一个可行的方案。 它们与经典 VB 和 FoxPro 之类的东西处于不同的情况,因为它们运行在使用许多不同语言的虚拟机中。 因此,即使出现一种针对 .NET 的更流行的新语言,您的旧代码仍然可以运行。
当您说您想要一个桌面应用程序而不是基于 Web 的应用程序时,这是一个问题,因为 Windows Forms(传统的类似 VB 的用户界面框架)尚未受到 Microsoft 的太多关注。 它不会像我说的那样消失,但未来不会有太大的改进。 如果您正在开发一个像您所说的大型不变的应用程序,那么这对您来说可能不是问题。
替代的 .NET 用户界面框架是 WPF,它是最新、最好的。 由于其大量的资源使用,其长期可行性存在疑问。 到目前为止,只有一个重要的桌面应用程序使用它(Microsoft 自己的 WPF 设计工具 Expression Blend),并且为了尝试让人们相信 WPF 确实可行,他们已承诺在 Visual Studio 2010 中将 WPF 用于用户界面的某些部分(例如编辑器) 。 即便如此,我发现很难为您描述的应用程序推荐 WPF - 它风险太大。
至于你关于 Visual Studio 版本的问题,VS2005 不是很好(由于一些严重的性能问题而很早就被淘汰了)。 然而,VS2008 是一个很好的版本,我们强烈建议您用它开始您的项目 - 不能保证 2010 年会更好(甚至由于 WPF 因素而同样好)。 团队倾向于长期使用 Visual Studio 版本(我的雇主仍在使用 2003 进行某些工作!),并且所有版本在一台计算机上和平共存。
是的,微软确实倾向于在开发工具可用之前就谈论它们。 显然“奥斯本效应”不适用于开发人员工具:)
Well obviously nobody can tell exactly what's going to happen to all the latest/greatest stuff in the future. If you were a Mac OS programmer in the '80s and '90s you'd probably be a bit annoyed too if not quite in the same boat as VB6 programmers.
.NET and VB.NET/C# are a viable proposition in the long term. They are in a different situation to stuff like classic VB and FoxPro in that they run in a virtual machine that has use to lots of different languages. As such, even if a new more popular language comes along that targets .NET, your old code will still run.
When you say you want a desktop application rather than something web-based, that is a concern because Windows Forms (the traditional VB-like user interface framework) is not receiving much attention from Microsoft already. It's not going to go away like I said, but there's not going to be much future improvement to it. If you are working on a massive never-changing app like you say, then this might not be a problem for you.
The alternative .NET user interface framework is WPF, which is the latest-greatest. There are questions over the long-term viability of this due to its extraordinary resource useage. So far there is only one significant desktop app that uses it (Microsoft's own WPF design tool Expression Blend) and to try and convince people WPF really is viable they have committed to using WPF in Visual Studio 2010 for parts of the user interface like the editor. Even so, I'd find it hard to recommend WPF for the application you describe - it's just too risky.
As to your question about Visual Studio versions, VS2005 wasn't very good (rushed out the door eary with some serious performance issues). VS2008 however is a fine release and you would be well advised to start your project with that - there is no guarantee that 2010 will be better (or even as good due to the WPF factor). Teams tend to use Visual Studio versions for a long time (my employer is still using 2003 for some work!) and all versions peacefully co-exist on a single machine.
And yes, Microsoft does tend to talk about dev tools well in advance of when they are available. Apparently the "osbourne effect" doesn't apply to developer tools :)
我的合作伙伴向我表示感谢 - 有一个引擎(来自乌克兰的团队拥有它)可以将 VFP 应用程序转换为点网,它将与现有的 DBF 文件一起使用。 因此 - 而不是重写 - 您只需运行转换器(一次性交易),而不是 FoxPro 应用程序,您将拥有点网。 如果您想了解更多详细信息,请告诉我
I've heart from my partners- there is an engine (team from Ukraine has it) to convert VFP application into the dot net, that will work with an existing DBF files. So - instead rewriting - you just run the convertor (one time deal) and instead FoxPro apps, you'll have dot net. If you’d like more detail please let me know