到目前为止,我已经在Windows和UNIX上用C ++,C和Ada95完成了很多低级编程(内核模式设备驱动程序,本机代码等)。我正在考虑将职业生涯转向特定于应用程序的编程,我可以在软件开发的同时学习业务,而不仅仅是一个低级别的硬件接口。
除了学习SQL和基础数据库之外,由于各种原因,我决定使用.NET堆栈而不是Java堆栈。我对UI并不是很感兴趣,但暂时对服务器和后端开发更感兴趣,所以我现在正试图避免像WPF和CSS / Javascript / AJAX这样的技术。
我应该学习哪些.NET技术,使自己在就业市场上更“现代”和更具竞争力?我是否还需要尝试掌握linq,ADO.NET,ASP.NET和WCF?
答案 0 :(得分:4)
我首先使用SQL进行ADO.NET。如果您不知道这一点,那么您在业务开发方面受到严格限制 - 如果您学习网络编程,那么您将能够做到这一切。如果您学习数据库访问,则可以编写任何您喜欢的GUI。
一旦完成SQL,你可以选择你喜欢的任何其他部分,但在使用WCF之前先做低级套接字,你可能会发现这很容易,你会得到基本的排序。
答案 1 :(得分:3)
ASP.NET,ADO.NET和WCF是这个顺序的不错选择。
虽然LINQ很有意思,但我遇到了一些麻烦,找到真正受益于它的应用程序(但承认,我没有努力)。无论如何,它不如其他三个重要。
学习互操作以连接DLL(例如硬件附带的)也很有用,并且能够为任意数据库创建自己的提供者。
答案 2 :(得分:2)
做中间层和后端......对于低级编码人员来说更有趣。 WCF,LINQ(对任何事情),WF ......很多东西要学习,这很有趣。
答案 3 :(得分:0)
现在Microsoft的ASP.NET MVC stack已经发布,您可能希望跳过ASP.NET WebForms并改为使用它。
答案 4 :(得分:0)
如果你对UI的东西不感兴趣,那么我会专注于.NET的面向组件的一面。目前,这意味着WCF。
学习c#非常好,然后获取Juval Lowy的“编程WCF服务”副本。 WCF代表了使用.NET进行面向组件开发的未来,您可以使用可重用,可互操作和可远程组件来完成一些非常有趣的工作。
就就业市场而言,过去2到3年我接受过采访的每一项工作都询问过ASP.NET问题,因此您可能需要学习ASP.NET的基础知识。我工作的大多数应用程序也有ASP.NET部分,根据我的经验,大多数.NET开发人员都希望能够在数据,业务逻辑和表示层中编写代码。
答案 5 :(得分:0)
我认为以下可能是服务器/后端应用程序最重要的内容:
如果您没有真正使用UI,我会说ASP.NET / MVC / WPF可能暂时不需要,而XML / XQuery对于与其他系统的应用程序集成非常有用,而且在如今,发展世界不知道可能比学习它更具有阻碍性。
答案 6 :(得分:0)
考虑到你的背景,我认为你会对一本名为CLR via C#的书感兴趣。它可能有点过于学术,不能直接使用一段时间,但它确实帮助我理解它们如何一起工作。
答案 7 :(得分:0)