关于c#:从.NET开始

关于c#:从.NET开始

Starting with .NET

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

我目前使用的语言主要是Delphi(2007年为Win32)以及一些PHP。我对两者都很满意(实际上,我使用Delphi进行了相当大的副项目),但是我对.NET(尤其是C#)的了解似乎非常非常有趣。不过,我实际上还没有时间去学习.NET。同样,在开始使用它之前,似乎还需要克服一些严重的财务负担(整个VS堆栈对于不花整个工作日编程的人来说是一笔投资。)

因此,我的问题实际上归结为几个相关的问题:

  • .NET的哪些优势将使像我这样的业余程序员值得转向?
  • .NET / C#,特别是什么是入门的良好资源。图书?
  • 您将如何为.NET构建相对便宜的开发堆栈?

我意识到这是一个相当开放的问题,但是我还没有真正找到涵盖这些主题的优秀网络资源。另外,来自像您这样的有经验的程序员的建议也很有价值!

非常感谢!


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

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

更新:如果您不喜欢VS,也可以尝试SharpDevelop for .NET的开源IDE。


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

Visual Studio的快速发布是免费的,并且具有开始使用C#编写所需的一切。


这是您问题的最新答案,
微软刚刚发布了一个基于Web的安装程序,它将一步安装所有开发环境所需的东西。一个免责声明是仅安装了用于Web开发的工具。

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

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

  • Drupal
  • WordPress的
  • osCommerce
  • phpDB

  • 仅通过Mono通过.NET开发程序(使用C#和IronPython),我在IDE方面的经验仅涉及Emacs以及Eclipse和MonoDevelop的实验。 Mono是免费的(与开放源代码一样),但是相对于Microsoft .NET的参考实现而言,Mono是不完整的。但是,Mono实现对于企业应用程序仍然足够大。

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

    当然,有一件事是,您应该去买Peter Seestofts" C#"。幸运的是,这是您所需要的唯一一本有关C#的通用书籍。而且,当您的页面加载到MSDN上时,在该文档中找到的文档也非常好。 Peter Seestoft还为c#:C5编写了一个通用集合库。

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

    但是-与往常一样-我建议Python在无薪时带来很大的乐趣。 (您还可以通过IronPython(Microsoft CPython实现)访问.NET框架)。

    祝好运并玩得开心点!
    斯汀


    我发现.NET Framework和IDE(Visual Studio)的开发速度非常惊人。.我们从Redmond中获得了一些非常酷的东西,而且它们对用户反馈的响应似乎在不断增加,我认为太棒了 :)

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

    我个人认为O'Reilly的" Head Rush / First"书籍是市场上最好的软件教程书籍。但是,我自己还没有阅读过他们的C#书。


    我要回答的话题比特定问题要多,而我要看看??Charles Petzold撰??写的.NET Book Zero。


    提供(免费)开发工具的整个世界,将在各种情况下为您提供帮助。首先从Scott Hanselman的开发人员工具列表开始。如果您不想使用Visual Studio,也可以尝试使用(快速!)SharpDevelop,它是C#,VB.NET(和Boo,但您可能不知道的一种)的IDE。祝好运!


    1
    2
    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)。

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

    微软的通用答案(众所周知,它是42)是:MSDN。 .NET拥有大量的人。您可以在.NET上找到许多论坛和书籍。我不会推荐任何东西,但我建议您:首先学习语言基础,然后学习.NET内部知识(什么是GC,Reflection等),然后阅读有关技术(Web,Win,Remoting的知识)与)。

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

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


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


    即使您超越了速成版,VS的标准版也只有250美元。

    这比大多数人一个月内购买咖啡和食物的价格还少。。。

    =)


    培训视频,教程和文档,请访问:www.asp.net/learn。


    您也可以看一下SharpDevelop。否则,Visual Studio优秀的快速版本的可耻之处在于它们在插件方面无能为力,因此您无需进行任何单元测试。 SharpDevelop缺少完整版的某些功能,但是对NUnit,NCover等功能提供了出色的支持,甚至还提供了一些重构功能(不幸的是,没有像Resharper这样的功能)。最出色的是,您具有用于源代码控制的Subversion集成。我现在开始使用Subversion并喜欢它。

    我在特尔斐(Delphi)度过了六年的时光,并爱上了它。对我而言,C#优于Object Pascal的主要优点是语法-它更简洁。 C#3(Dotnet 3.5)中确实有一些很棒的新功能-结帐LINQ。但是,就您为娱乐而编写的术语而言,我不会说有任何驱使您转换为Dotnet的理由。如今,您可能会发现与Delphi相比,它更有可能在Dotnet中找到工作。

    高温超导

    肖恩


    Apress的Pro C#是一本非常出色的书,涵盖了C#语言和许多.NET库。


    一般而言,Pro C#2010和.NET Platform Edition Fifth也是一本不错的书,从C#和.Net开始。


    推荐阅读