每个人的学习方式都有所不同,因此我包含了几种不同类型的资源。
似乎对于一位 COBOL 程序员来说,转向像 C# 这样的语言最大的挑战之一就是面向对象的编程方式。在 C# 中,“一切皆为对象”是一个相当好的概括,对于初学者来说绰绰有余。因此,第一个建议是一本关于Object Thinking的书。它试图从哲学和历史的角度介绍对象。它特别讨论了过程式语言和面向对象语言之间的一些区别。现在,它有点学术化(由一位教授撰写),但这里有一个很好的基础。
一旦面向对象编程被理解,就有许多C#书籍可用。很多人推荐 Richter 的 CLR via C#,这是一本极好的书。如果这个人是计算机科学的老手,你不能推荐比这更好、更全面的C#和CLR书籍了。对于一个更“易接近”的、以特性为导向的方式,我始终认为Troelsen非常优秀。Fujitsu 推出了一款很棒的產品,叫做 NetCOBOL for .NET。寫代碼簡直是無上樂趣。在這裡,你可以在 Visual Studio 中寫 COBOL 代碼,以生成運行在 CLR 上的 Microsoft 的中間語言(MSIL)(多酷啊)。使用這個工具,COBOL 程序員可以編寫面向對象的 COBOL,並利用 .NET 框架。也許使用這個工具可以邁出下一步,使用 Reflector 將 IL 反編譯為 C#、VB等。該網站未列出價格,這意味着“如果你必須問,你買不起它。”此外,這裡的目標不是要寫更多的 COBOL,所以這可能是一個非常容易讓人上癮的替代工具來過渡到 C#。
富士通也在YouTube上发布了一系列针对COBOL程序员的.NET视频。介绍视频位于此处,第一课在此处,但用户fujistucobol发布的任何内容都很好。
我建议你先从基础视频教程开始学习,你可以在this等多个来源找到更多的视频资源。
然后,在掌握基本功能和主要差异之后,你可以通过阅读更详细的书籍,如CLR via C#,深入学习。
从C/C++背景转入C#,快速掌握其语法应该就足够了(它们并没有太大的不同),尤其是考虑到C++的面向对象特性。
我建议使用 "C# in a Nutshell"(O'Reilly)来快速掌握这种语言。
然后开始编码吧。
你真正的挑战在于框架的范围,我建议从简单的控制台应用程序开始入手,以掌握最基础的内容,然后再扩展到其中的一个:WinForms、Web服务和客户端,或ASP.NET。请注意,Web应用程序(ASP.NET)还需要HTML和CSS(也可能需要JavaScript),因此可以考虑将其留给第二次学习。