在学习ASP.NET和Sharepoint之前,我是否需要先学习.NET和C#?

11
我是一名长期从事Unix和Linux技术的人,分别拥有大约30年和14年的经验。但是想要扩展我的工具箱,我在Stack Overflow上寻找学习Sharepoint的提示,并且我想知道Jon Skeet对问题“如何成为.NET和SharePoint开发人员”的回答,他建议在学习ASP.NET和Sharepoint之前先学习.NET和C#。
我应该在涉足ASP.NET和Sharepoint之前学习.NET和C#吗?有没有人推荐这四种技术的好书?
到目前为止,在SO上,我们已经有了关于学习Sharepoint和ASP.NET的书籍推荐问题,但我还没有找到任何关于第一次涉足微软领域的“*nix头”的内容。
目前,我有Jon在他上面回答中的建议,但我也看过《Head First C#》和几本O'Reilly Nutshell书籍。
我目前有可能的书籍清单如下:
C#:

Sharepoint:

注:Sharepoint列表是从问题“WSS/MOSS”的被接受的答案中获得的。感谢Pascal Paradis。

有没有人能给出学习.NET和ASP.NET的建议?

对这些书有什么想法吗?

8个回答

11

这确实值得比“难道你必须先学会走再学会跑吗?”更多的东西,这是我的第一反应 :)

有着30年左右的经验(我假设是编程经验),你不应该学习基础知识,而是需要深入了解C#开发环境、IIS、SQL Server和SharePoint(大致按照这个顺序)。 为了提高效率,你需要比较这些技术,并了解它们与你所熟悉的技术的不同之处,而不是阅读另一本以变量声明语法开始的书。

个人认为与专家共度时间会收获更多,但通常情况下这并不可行。幸运的是,许多这样的人都有博客,这些博客可能非常有启发性。 (见Eric Lippert

在阅读细节时,你很可能能够理解细节是如何操作的,而无需阅读整整一章。

小段的信息对你来说将比大量的基础知识更有用。 例如,我假设像“SharePoint将Site Collection的所有文档存储为单个表格中的二进制字段。”这样的信息碎片将为您提供比数千字的SharePoint站点集概述更多的信息。


6
与任何语言一样,学习C#时需要有些实践。虽然你可以按照书中所示做一些示例项目,但作为经验丰富的开发人员,我个人建议通过做一个ASP.NET项目来学习(你不需要写很多“这是一个函数”类型的练习,因为C#函数与任何C风格的函数几乎相同)。
简而言之,我会因为其非常特定的性质而推迟Sharepoint开发,但不会推迟ASP.NET开发。
更新:还有一件事......Visual Studio使Web开发变得非常简单。并不是说Windows开发比Web开发更简单,从而使它更容易专注于C#。更多情况下是每个环境(Winforms与Web)提供了不同的上下文,C#在其中使用。因此,你可能想在Web上下文中学习C#,因为那将是你长期关注的重点。
还有一件事:你可能想看看我之前回答过的关于入门.NET的问题的这个答案

嗯...在这个问题上,我不同意Jon Skeet的看法。这不是有点像电视上一般的坏家伙向Chuck Norris挥拳吗?他只要被提到在问题里,他不就得到了"Answer"的信用吗? - Mark Brittingham
+1 - 没有理由不能一起做事情。在SharePoint中使用Web Parts进行工作本质上就是ASP.NET开发,但也有很多SharePoint特定的东西可能一开始并不是必要的。 - Andy Mikula
感谢您的点赞。我对SharePoint并不是很了解,但听说它有许多微小的复杂性,使得学习它有些困难,这就是为什么我建议暂时不要使用SharePoint的原因。 - Mark Brittingham

3
我建议您从一本介绍.NET和C#的书籍开始学习。当您了解了.NET世界后,可以进一步学习ASP.NET。由于您来自*nix世界,因此您应该了解.NET世界与以前的经验甚至是Windows本身有何不同。
我花了一些时间阅读Andrew Troelsen的书,我认为这些书很适合入门,然后再转向ASP.NET。从上面的列表中,我听说Liberty的书也不错。
Troelsen: http://www.amazon.com/2008-NET-Platform-Fourth-Windows-Net/dp/1590598849/ref=sr_1_1?ie=UTF8&s=books&qid=1247572543&sr=1-1

3

一定要注意。

ASP.NET不仅仅是像PHP之类的轻量级脚本语言。它的强大来自于语言特性和框架库,这使您可以为您的站点构建一个有效和专业的后端。如果您选择从一开始就忽略它们,那么您将错过ASP.NET相对于其他框架的优势。而且您也无法提高生产力。


2
PHP“只是另一种轻量级脚本语言”!!嗯,你可能会得到一些来自PHP开发人员的不同意见。 - Cheeso

3

在我看来,

如果您要进行开发,那么肯定是需要的。

如果您只是进行管理,那就不必了。

考虑到SharePoint是建立在.NET 2.0(和3.0、Windows Workflow Foundation)之上的,因此人们自然会想先掌握基础知识,然后再深入学习SharePoint对象模型。我的建议是,只需要安装一个虚拟机,在SharePoint中随意浏览(创建一些Web应用程序、列表,然后创建一些内容类型和站点列,最后将它们组合在一起)。然后,在完成了一些C#编码(或VB.NET等)后,尝试创建自己的WebPart,然后使用特征和SharePoint解决方案文件来部署该WebPart。从那里开始进步。

SharePoint的对象模型非常强大,但没有对其基础知识有扎实的了解,您将永远无法获得完整的开发体验。


太好了!学习背后的目的对答案有很大影响。+1 - Cerebrus

2
绝对需要在学习Sharepoint之前先学习C#(或VB.NET或任何.NET语言)和ASP.NET。实际上,Sharepoint是建立在ASP.NET之上的。虽然你可以仅通过浏览器使用Sharepoint(创建文档库等),而不必处理ASP.NET,但许多Sharepoint功能需要.NET和ASP.NET。例如,Sharepoint中的SmartWebParts依赖于创建ASP.NET用户控件,此外,Sharepoint中的一些功能也依赖于.NET。所以,是的!你必须学习C#和ASP.NET才能做真正的Sharepoint工作。
编辑:
对于书籍方面,我认为《Inside Windows Sharepoint Services》是一本很棒的书,它是程序员最好的选择(当然这只是我的个人看法)。Pro C# and the .NET 3.5非常适合C#的学习。ASP.NET 2.0 Web Site programming Problem, Design, Solution 则是我推荐的ASP.NET学习书籍。

1

开发ASP.NET应用程序或SharePoint需要了解C#和.NET的知识。因为这两种技术有相同的基础,即.NET。

对于编程(OOP)和C#的绝对初学者来说,《Head First C#》是一个很好的选择。如果您已经熟悉OOP,这本书可能会浪费您的时间。

掌握C# 2和3所需的最佳途径是C#深度剖析:你需要掌握C# 2和3


1

当涉及到C#和ASP.Net的工作时,把它们与SharePoint分开是非常值得的,因为这会在你所开发的任何东西上添加难用和可怕的层面。

当你转而开始为Sharepoint开发时,一件有用的工具是一个软橡胶桌子。你将会频繁地撞击它,因为你试图理解WSS、MOSS等内容的奥秘,这是减少长期损伤的好方法。


@glenatron,我在我们的Sharepoint开发人员中经常看到这个表情!(-: - Rob Wells

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接