设为首页 收藏本站
查看: 1999|回复: 0

[经验分享] 是什么让C#成为最值得学习的编程语言

[复制链接]

尚未签到

发表于 2017-7-1 20:02:06 | 显示全部楼层 |阅读模式
  欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~
  随着 Web、iOS、Android、智能设备的流行,新的编程语言纷纷涌现并表现不俗,如 Ruby,Python,Scala,Go,Node.js,Swift 等。反观已经发展了近20年的 C# 语言(或者这里应该更准确的说是 .Net Framework),因为天生的平台局限,导致很多的 C# 程序员为了生计和前途纷纷转行投入到新语言的怀抱中。
  
  就在此时,微软的 .Net Core 横空出世
   DSC0000.png

  • 跨平台:可以在 Windows、MacOS 和 Linux 上运行。
  • 兼容性: .NET Core 通过 .NET 标准库与 .NET Framework、Xamarin 和 Mono 兼容。
  • 开源:运行时、库、编译器、语言和工具都是 GitHub 的开放源代码。
  • 统一:通过标准库来保证代码复用。
  • 强大的生态环境
  根据以上 .Net Core 所具备的优势,无疑是给以 C#(包括VB.NET)作为首选编程语言的工程师的一剂强心针。
  以下将从6个方面阐述为什么 C# 成为最值得学习的编程语言,甚至可以说 C# 是给初学编程最值得推荐的语言。

学习门槛低
  如果你曾经做过 C、Java 或者是 JavaScript 编程,那么你会对 C# 的语法感到非常熟悉,C# 的语法非常的容易阅读和理解。根据最新发布的 TIOBE 统计,有数以百万计的开发人员可以轻松地从 Java 或 C语言编程切换到 C# 语言编程。
  即使你没有任何的编程经验,C#大量的书籍和在线文档也不是新兴语言可以比拟的,另外还有很多在线资源可以帮助你学习 C#,如:

  • Microsoft虚拟学院 - 免费视频和评估。
  • Microsoft入门C# - 免费交互式教程。

具备现代语言的所有特点
  .NET Core 有一些顶级功能:

  • 强类型。
  • 强大的基类库。
  • 异步编程 - 易于使用的异步/等待模式。
  • 垃圾收集,自动内存管理。
  • LINQ - 语言集成查询。
  • 泛型 - List<T>,  Dictionary<T, T>。
  • 包管理。
  • 跨多个平台和框架共享二进制文件的能力。
  • 使用框架来创建 MVC Web 应用程序和 RESTful API。

多功能性:Web、移动、服务器、桌面应用
  关于 C# 和 .NET 最出众的一点就是它的多功能性。Xamarin 可以编写桌面应用程序,Web 应用程序,后台服务,甚至移动应用程序。除了 C#,真正需要知道的只是少量的 JavaScript 来将一些 UI 代码集中在一起。ASP.NET Core 模板甚至使用 Bootstrap 布局和 npm 来存入客户端库。
  多功能性是一个很大的优势,这样你所学的语言就可以用于各种各样的场景中,你的技能适用性就更强。如果你想组合所做的东西,就可以从开发 web 应用程序跳转到开发移动应用程序。对于只能在服务器端工作的大多数其它编程语言,这是一个很大的区别。
  同时,也请不要忘记 Microsoft Azure 的支持。Microsoft Azure 让启动和运行变得如此简单,只需点击几下即可将应用部署到云端。Microsoft Azure 还支持 Docker 容器,可以轻松地将应用程序部署到 AWS 或其它托管提供商。
  
最好的开发工具(没有之一)
  Visual Studio 一直被视为适用于开发人员的最佳 IDE,微软已经发布了最新的 VS 2017 用来支持 .Net Core,在一个环境中支持代码编写、调试、分析、git 集成、单元​​测试等功能。Visual Studio 现在提供了功能齐全的免费社区版本。
  当然,也可以使用自己喜欢的文本编辑器,作为编写 .NET Core 代码的基本文本文件。你也可以在任何操作系统上将 Visual Studio 编码工具当做一个良好的基本代码编辑器。即使对于那些永远不会放弃 vim 或 emacs 的人来说,依旧可以做 C# 开发。你还可以为 Visual Studio 安装一个插件,来添加所有喜欢的快捷键。
  整个 .NET 生态系统也充满了令人惊奇的开发者工具。例如,我无法想象没有 Jetbrains 中的 Resharper 的生活。.NET 生态系统存在数十种极好的的工具,既包括开源的,也包含商业产品的。

标准化类库
  .NET 带有了一套非常好的基类库。与 Node.js 不同,.NET 内置了简单的字符串函数,如 LeftPad()。各种各样的基类库减少了对外部包的需求。Microsoft 也乐于像 JSON.NET 这样的社区项目一样,成为大多数项目中广泛使用的关键库。
  Microsoft 为 .NET 提供了一套非常好的模式和实践。例如,有内置的标准数据访问(实体框架)和模型 - 视图 - 控制器(MVC)框架。大多数开发人员都在使用这些标准框架,这使开发人员可以轻松地在团队之间迁移,并快速了解项目的工作原理。正是由于这一点,你的知识和技能才变得更加具有适用性。
  
.NET Core 是开源的
  .NET 发生的最大变化之一,就是其开源了代码。几乎所有的代码现在都在GitHub上,供任何人查看,分享和贡献。这是一个巨大的变化,大多数人从未想过会发生。
  作为开发人员,你需要不时的了解你的代码正在做什么。例如,过去需要通过调用数据库连接的 Dispose( ) 来确认是否关闭了连接。现在你可以访问源代码,来快速验证这些类型的问题。
  即使你没能对源代码做出贡献,你也可以从巨大的社区中受益。问题和改进可以快速讨论,编码和发布,以便你定期使用。那些需要花费数年等待发布重大改进或小错误修复的时代已经过去了。
  
  总结:微软 .Net Core 的推出,无疑给具备庞大基数的 .Net 平台开发者们,提供了绝佳的机会,可以预见,在未来的几年内,使用 C# 语言基于 .Net Core 平台开发势必成为流行。葡萄城控件​也紧跟.NET的发展趋势,致力于为广大.NET平台开发人员提供高品质的控件产品。
  
  原文链接:https://dzone.com/articles/why-net-core-made-c-your-next-programming-language
  相关阅读:

  【报表福利大放送】100余套报表模板免费下载
  从Visual Studio看微软20年技术变迁
  C#开发人员应该知道的13件事情

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-390162-1-1.html 上篇帖子: .NET Core Data Access 下篇帖子: 尽信书不如无书
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表