如何从大型机程序员过渡到客户端服务器程序员?
截至 2002 年,我担任了 16 年的 Adabas/Natural 和 Cobol 大型机程序员。我在在线和批处理应用程序的分析、设计、开发、测试、实施和文档方面拥有丰富的经验。在抚养孩子 7 年之后,我想重新回到软件开发领域。
我听说现在 .NET 语言的需求量很大。有人可以给我一些建议,告诉我应该参加哪些课程才能获得扎实的 .NET 语言知识吗?我应该从 ASP.NET 还是 VB.NET 开始,哪个版本?或者,对于必须将编程技能从大型机环境升级到客户端-服务器环境的人,您还有什么其他建议吗?
预先感谢您的所有意见!
I was a Adabas/Natural and Cobol mainframe programmer for 16 years ending in 2002. I have a vast amount of experience in the analysis, design, development, testing, implementation and documentation of online and batch applications. I would like to get back into software development after a 7 year hiatis raising my children.
I have been told that the .NET languages are much in demand these days. Can someone give me advice on which classes I should take to get a solid knowledge of the .NET languages? Should I start with ASP.NET or VB.NET, and which versions? Or, any other advice you may have for someone having to upgrade their programming skills from a mainframe environment to a client-server environment?
Thanks in advance for any and all input!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我无法给出建议,但至少有 3 种主要类型的程序员:
其他语言还有其他方向,但作为一个起点......如果您感兴趣,也许可以看看云计算和移动炒作。
I cannot give suggestions, but there are at least 3 main types of programmers out there:
There are other directions with other languages, but for a starting point ... maybe take a look at the cloud computing and mobile hype, if you are interested.
也许你可以参加一些微软官方课程的课程;这并不先进,但很好地涵盖了基本概念。
我建议查看 Microsoft Learning 并寻找一些课堂培训。
Maybe your could to take some classes for Microsoft Official Curriculum; that isn't advanced, but cover basic concepts very well.
I suggest to take a look into Microsoft Learning and to look for some classroom training.
不确定您对面向对象有多少了解,但我会首先从学习这些基础知识开始。
我会避开 VB.NET,转而选择 C#,这是一项更有价值的技能。
我还会看看您的技能中缺少的任何现代开发实践,例如:
Not sure how much exposure you've had to object-orientation, but I would start by learning these fundamentals first.
I would steer clear of VB.NET and aim for C# instead, it's a more valuable skill to acquire.
I would also look at any modern development practices you are missing in your skill set such as:
使用“客户端/服务器”与任何事物一样约会;)如今一切都与网络有关(即 n 层架构)。当然,这是一种客户端/服务器架构,只是几乎没有人再使用这个术语了。
Using "client/server" dates you as much as anything ;) These days everything is all about the web (that is, n-tier architecture). Of course this is a sort of client/server architecture, it's just hardly anybody ever uses the term any more.
听起来是一件很棒的事情。祝你好运。
我认为 C# 比 VB.NET 更流行,所以我认为这可能是一个起点。 ASP.NET 也比桌面开发更流行,因此这也可能更好。如果您选择 ASP.NET,请了解最新发布的版本; .Net 3.5、C#3.0、ASP.NET 3.5。下一个版本即将到来,但没有任何培训材料引用它,因此请使用 3.5 版本。
我突然想到,我会建议这样的事情。其他人也会插话;
Sounds like a great thing to do. Good luck.
I think C# is much more popular than VB.NET, so I think that might be the place to start. ASP.NET is also more popular than desktop development, so that might be better, too. If you go for ASP.NET, learn the latest released versions; .Net 3.5, C#3.0, ASP.NET 3.5. The next version is just around the corner, but none of the training material out there references it, so go with the 3.5 version.
Off the top of my head, I'd suggest something like this. Other people will chime in, too;
另一条路完全是进入 UNIX 领域。获取一台 Mac 或在 PC 上安装 Linux,并开始学习如何使用一些常见的 Web 应用程序框架做一些事情; Django、Tomcat、Rails 和朋友们。这意味着学习 Python、Ruby、Java 或 Scala 中的一种或多种。
无论哪种情况,都需要了解整个 NOSQL 概念。了解 REST 的含义以及如何应用它。
The other path entirely is to head into UNIX land. Get a Mac or put Linux on a PC, and start learning how to do some things with some of the common web application frameworks; Django, Tomcat, Rails, and friends. That means learning one or more of Python, Ruby, Java or Scala.
In either case, learn about the whole NOSQL concept. Learn what REST means and how to apply it.
如今,C# 无疑是一个起点。
我会首先在当地的社区大学上 C# 课程,然后拿起一些相关书籍并阅读一段时间。这将使您熟悉该语言和 NET 框架。
一旦您掌握了语言本身并了解如何使用 NET Framework 的某些部分,我就会下载一些简单的 WPF(或 Silverlight)应用程序的源代码并探索它们以了解它们是如何工作的。与 ASP.NET 相比,WPF 是更好的选择,因为 ASP.NET 在处理回发、HTML 和 JavaScript 方面引入了大量额外的复杂性,而 WPF 中根本不存在这些复杂性。此外,未来基于浏览器的应用程序似乎将是富互联网应用程序 (RIA),所有这些应用程序都使用比 ASP.NET 更接近 WPF/Silverlight 的机制。我会在 Silverlight 之前先从 WPF 开始,因为当您取消沙箱时,您可以自行学习用户界面技术,而无需学习沙箱引入的所有复杂性以及访问服务器上数据库的需要。
只有在完成所有这些之后,我才会深入构建 n 层应用程序。同样,在自己做一个之前,我会先看很多例子。选择简单的并模仿它们。您会发现许多设计都过于过度设计。
Nowadays C# is unquestionably the place to start.
I would start by taking a C# class at your local community college, then picking up some books on it and reading for a while. This will give you familiarity with both the language and the NET Framework.
Once you have mastered the language itself and understand how to use some portions of the NET Framework, I would download the source code for some simple WPF (or Silverlight) applications and explore them to see how they work. WPF would be a better choice to start with than ASP.NET because ASP.NET introduces a ton of extra complexity in dealing with postbacks, HTML and JavaScript that don't exist at all in WPF. Also, it appears that the browser-base applications of the future will be Rich Internet Applications (RIAs), all of which use a mechanism much closer to WPF/Silverlight than ASP.NET. I would start with WPF before Silverlight simply because when you're unsandboxed you can learn the user interface technology by itself without having to learn all the complexities introduced by the sandbox and the need to access databases on the server.
Only after doing all of this would I dive into architecting an n-tiered application. Again I would look at many examples before doing one yourself. Pick simple ones and emulate those. Many you will find are far over-engineered.