从.NET开始

时间:2008-08-23 14:19:34

标签: c# .net

作为一名自学成才的“业余”程序员,我在业余时间,相对较小的项目或小型学习相关实用程序中进行大部分编程。不过,我非常喜欢它,并且在过去的几年中学到了很多东西。通过各种博客和网站,我已经熟悉版本控制,错误跟踪,单元测试等。

我目前使用的语言主要是Delphi(2007 for Win32),以及一些PHP。我对这两者都非常满意(实际上,我正在使用Delphi作为一个相当大的副项目),但我见过的.NET(特别是C#)似乎非常,非常有趣。不过,我没有时间深入.NET。此外,在开始使用它之前,似乎需要克服一些严重的财务负担(整个VS堆栈对于没有花费整个工作日编程的人来说是一项投资)。

所以我的问题归结为实际上有几个相关的问题:

  • 对于像我这样的业余程序员来说,.NET的哪些优势会让它变得有价值?
  • 有什么好的资源可以开始使用.NET / C#,尤其是书?
  • 您如何为.NET构建相对便宜的开发堆栈?

我意识到这是一个相当开放的问题,但我还没有真正找到涵盖这些主题的优秀网络资源。此外,像你这样的经验丰富的程序员的建议往往是非常宝贵的!

非常感谢!

14 个答案:

答案 0 :(得分:14)

  

您如何为.NET构建相对便宜的开发堆栈?

Download您最喜欢的Visual Studio 2008 Express版本(免费)和.NET framework(也免费)。

更新:如果您不是VS的粉丝,您还可以尝试使用SharpDevelop .NET的开源IDE。

答案 1 :(得分:3)

  

您如何为.NET构建相对便宜的开发堆栈?

Express eidtions of Visual Studio是免费的,拥有开始用C#编写所需的一切。

答案 2 :(得分:2)

有一整套(免费)开发工具可用,可以帮助你解决各种情况。从Scott Hanselman's Developer Tool List开始。如果你不想使用Visual Studio,你也可以尝试(快!)SharpDevelop,一个用于C#,VB.NET(和Boo,但你可能不知道那个)的IDE。祝你好运!

答案 3 :(得分:2)

回答主题,而不是我要说的具体问题,以便查看Charles Petzold的.NET Book Zero

答案 4 :(得分:2)

我发现.NET Framework和IDE(Visual Studio)的开发速度非常惊人。我们从Redmond那里得到了一些非常酷的东西,而且他们对用户反馈的响应能力似乎越来越高,我觉得很棒:)

已经列出了很多好的资源。显然,Stack Overflow的广泛使用将是我现在总是向新开发者提出的建议。

我个人认为O'Reilly的“Head Rush / First”书籍是市场上最好的软件教程书籍之一。我总是对他们有好的结果。但是,我自己没有读过C# book

答案 5 :(得分:2)

只使用.NET Mono开发程序(使用C#和IronPython),我对IDE的体验只涉及Emacs以及Eclipse和{{3}的实验}}。 Mono是免费的(如在开源中),但是对于Microsoft .NET的参考实现而言是不完整的。然而,Mono实现仍然足够用于企业(y)应用程序。

在IDE角落里:在与Anders Hejlsberg(C#的设计师之一)的谈话中,他提到使用没有代码完成的.NET平台甚至阻止了经验丰富的测试人员。之后我决定尝试Eclipse和MonoDevelop,两者都有代码完成,但发现它们的抽象层使我无法理解框架的真正功能。所以我回到了Emacs并使用了(非常慢)在线MonoDevelop。我知道很多开发人员都对Visual Studio发誓,如果没有它提供的帮助,就无法想象编写.NET。我只是不习惯在软件中养育孩子:)。

有一件事是肯定的,那就是你应该去购买documentation;幸运的是,这是你唯一需要的关于C#的通用书。当您的页面在MSDN上加载时,您在那里找到的文档也非常好。 Peter Seestoft还为c#编写了一个通用集合库:Peter Seestofts "C# Precisely"

关于.NET的优势:它很大(如Java)。它已集成到Windows平台中。如果可以使用.NET框架,可以使用很多作业。

但是 - 一如既往 - 我会推荐Python,以便在付费时获得极大的乐趣。 (您还可以通过IronPython访问.NET框架,IronPython是C5的Microsoft实现。)

祝你好运,玩得开心! 斯廷

答案 6 :(得分:2)

以下是您问题的更新答案, Microsoft刚刚发布了一个基于Web的安装程序,它将一步安装开发环境所需的一切。一个免责声明是安装了这个仅用于Web开发的工具。

链接 http://www.microsoft.com/Web/

您可以在.net框架中安装用于Web开发的任何部分或全部免费开发工具,包括Visual Studio 2008 Express,SQL Server Express等。它还包括Microsoft领域之外的开发工具,例如:

  1. Drupal的
  2. WordPress的
  3. 自从
  4. phpDB

答案 7 :(得分:1)

Apress's Pro C#是一本很好的书,涵盖了C#语言和大部分.NET库。

答案 8 :(得分:1)

您还可以查看SharpDevelop。关于Visual Studio的其他优秀版本的耻辱是它们在插件方面瘫痪,所以你没有得到任何单元测试。 SharpDevelop缺少完整版的一些功能,但对NUnit,NCover甚至一些重构(但不幸的是没有像Resharper)这样的东西有很好的支持。最出色的是你有源代码控制的Subversion集成。我现在开始使用Subversion并喜欢它。

我在德尔福度过了六年,并喜欢它。我对C#over Object Pascal的主要优势是语法 - 它更清晰。 C#3(Dotnet 3.5)中有一些非常棒的新功能 - 结帐LINQ。但是,如果您正在为快乐编码,我不会说有任何驱动原因转换为Dotnet。这些天你可能会发现它更有可能在Dotnet中找到工作而不是Delphi。

HTH

肖恩

答案 9 :(得分:1)

www.asp.net/learn上培训视频,教程和文档。

答案 10 :(得分:1)

即使你超越了快车版,VS的标准版也只有250美元。

这比大多数人在一个月内支付咖啡和食物的费用还要少......只是不要吃。

=)

答案 11 :(得分:1)

我可以建议:Mono项目和MonoDevelop作为Visual Studio的免费替代品。您可以在Windows,Mac和Linux上运行MonoDevelop!

答案 12 :(得分:1)

What strengths of .NET would make a switch to it worthwhile 
for an amateur programmer like me?

我认为主要的是.NET Framework - 它只是Windows世界中几乎任何东西的一个非常好的框架。 Microsoft继续改进它并在支持旧版本的同时添加新功能,因此您可以轻松地将项目从旧框架转换为新框架。 .NET框架允许您轻松创建控制台应用程序,Windows窗体应用程序,Web应用程序,Windows服务,Web服务。它有数据结构,多线程,I / O,使用数据库,任何东西......除了.NET是托管世界,所以没有内存泄漏,指针和其他类似的C ++痛苦。

C#语言相对容易学习,VS.NET是一个非常好的IDE(特别是如果你使用ReSharper)。

What are good resources to get started with .NET/C#, esp. books?

微软的通用答案(据我们所知,它是42)是:MSDN。 .NET拥有庞大的社区。你可以找到很多关于.NET的论坛和书籍。我不会推荐任何东西,但我建议:首先学习语言基础,然后学习.NET内部(什么是GC,反射等),然后阅读技术(Web,Win,Remoting - 无论你将工作什么用)。

How would you build a relatively cheap development stack for .NET?

使用Express版本,它们是免费的。

答案 13 :(得分:0)

Pro C# 2010 and .NET Platform Edition Fifth也是一本从C#和.Net开始的好书。