2019年该学习哪门语言?建议学习C#语言

世界上只有少数几种语言是多功能的,而没有一个像C#那样干净整洁。

作者 | Arctek

译者 | 谭开朗,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下为译文:

最直接的答案是:值得。但我想你不是来找这样的答案对吗?你可能在考虑2019年该学习哪门语言?又或者你是新手,想驻足于编程这一汪洋大海?——没错,在本文中,我建议学习C#语言。

C# 语言的高光时刻

就在几周前,我们还被微软关于Windows、.net和C#的公告搞得目瞪口呆。主要内容是:

  • 流体网络框架,让web更具生产力和交互性;

  • Windows终端的灵感来自于它的linux版本,旨在提高开发人员的效率;

  • Windows WSL 2.0有一个完整的linux内核;

  • Kubernetes的KEDA和事件驱动扩展;

  • 物联网即插即用,想必不需要更多的宣传了吧?

  • 机器学习,.net命名为ML.net 1.0;

  • ......诸如此类。

简而言之,这是作为一名.net开发者的高光时刻。无论你是已经有了编程背景,还是刚刚进入这个领域,一个充满机遇的世界在等着你。

用.net开发游戏

C#一直是全世界游戏开发人员的最爱,它借助语法糖在性能、低水平、OOP和易于编码之间取得了很好的平衡。下面是一个有趣的统计数据,几乎一半的游戏是使用Unity 3D制作的。

现在我完全理解Unity 3D支持JavaScript和C#作为他们的编程语言。然而,我们可以假设绝大多数的开发者会选择牺牲较少性能的语言,毫无疑问会是C#了。

使用Unity 3D,你可以创建任何东西,可以是移动、PC,甚至是VR游戏。所以如果你想在游戏开发中创造自己的未来,关注C#就知道了。

丰富的就业市场

十多年来,.net一直是人们高度追求的技能。只要在Monster.com上快速搜索一下.net的工作岗位,就会让我们大吃一惊:共找到30155个职位。尽管平均工资数据显示C#开发人员仍然是收入最高的开发人员之一。

所以你在这个领域找工作应该不会有太大的困难,收入也可观。

微软是后盾

不管是爱之恨之,微软都无疑是科技世界中最大、最成功的公司之一。微软一直擅长的是确保自己的开发生态圈是高质量的,你可以确信,像Visual Studio和Visual Studio Code这样的工具可以轻松使用上技术堆栈。你也可以放心,其语言和框架将定期更新,并在未来多年始终保持简洁明了。

不仅仅是Windows,现在它也支持Linux和Mac

自从微软.net Core 1.0 发布以来,微软已经投入了大量的工作来尽可能的开源他们的产品。

最终,官方对Linux和OSX提供了支持,这意味着现在可以在Linux或MAC上使用官方的c#库而不需要使用Mono。这意味着,你可以同时拥有快速高效的Linux服务器和轻便运行网站、网络应用或服务的C#。

超快捷

我说的快捷,是指它仍然优于Java、NodeJS和大多数竞争对手,而可以吹嘘更友好资源且快捷的语言无疑是C和C++。然而,它们的速度和性能是有代价的。在这两种情况下,你必须自己负责内存管理和垃圾收集。而C#有一个内置的垃圾收集器可以很好地解决此问题。

它具有双关语功能

不要相信我说的:为什么Java开发人员总要戴眼镜,因为他们不会C#。

本地移动应用程序

通过使用Xamarin,你完全可以为Android和iPhone编写本地的移动应用程序,而无需支持两个不同的代码库。

这有助于你能够更快、更有效地开发移动应用程序。你现在唯一需要弄清楚的是你将如何度过所有的闲暇时光。

听说户外运动挺不错的。

C#是多功能的

C#可以编写任何东西:游戏、Xamarin移动应用、桌面应用、网络应用、网站和网络商店等。世界上只有少数几种语言是多功能的,而没有一个像C#那样干净整洁。

原文:https://dev.to/arctekdev/is-c-worth-learning-in-2019-48fc

本文为 CSDN 翻译。

https://mp.weixin.qq.com/s/i79QKxKMrq2POJyQQDrNKw

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring连接mysql数据库错误:Cannot load JDBC driver class '${driver}'

在用Spring使用连接mysql数据库时出现如下错误: Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception isjava.sql.SQLException: Cannot load JDBC driver class ${driver} 错误详细信息如下&…

不一样的 SQL Server 日期格式化

不一样的 SQL Server 日期格式化Intro最近统计一些数据,需要按天/按小时/按分钟来统计,涉及到一些日期的格式化,网上看了一些文章大部分都是使用 CONVERT 来转换的,SQL Server 从 2012 开始增加了 FORMAT 方法,可以使用…

怕被政治烧到,RISC-V基金会决定迁址瑞士

由于政治影响,RISC-V 基金会决定迁址瑞士。FILE PHOTO: Technology on display at Huaweis headquarters in Shenzhen, Guangdong province, China May 29, 2019. REUTERS/Jason Lee去年 12 月份,RISC-V 基金会在一次会议上宣布,它将迁址到一…

进程和线程的状态

一、进程的基本状态 进程经常讨论的基本状态为:就绪状态(Ready)、运行状态(Running)、阻塞状态(Blocked)。此外,还包括不常讨论的创建和结束。 就绪状态:当进程已分配到除…

ASP.NET Core快速入门(第6章:ASP.NET Core MVC)--学习笔记

点击蓝字关注我们课程链接:http://video.jessetalk.cn/course/explore良心课程,大家一起来学习哈!任务40:介绍1.Individual authentication 模板2.EF Core Migration3.Identity MVC:UI4.Identity MVC:EF I…

进程间通信的方式总结

进程间通信就是在不同进程之间传播或交换信息。 进程间通信的目的如下: ①数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间。 ②共享数据:多个进程想要操作共享数据,一个进程对…

EF Core For MySql查询中使用DateTime.Now作为查询条件的一个小问题

背景最近一直忙于手上澳洲线上项目的整体迁移和升级的准备工作,导致博客和公众号停更。本周终于艰难的完成了任务,借此机会,总结一下项目中遇到的一些问题。EF Core 一直是我们团队中中小型项目常用的 ORM 框架,在使用 SQL Server…

操作系统进程(作业)调度常见算法详解

一、进程调度的原因 在操作系统中,由于进程综述多于处理机,它们必然竞争处理机。为了充分利用计算机系统中的CPU资源,让计算机系统能够多快好省地完成我们让它做的各种任务,所以需要进行进程调度。 二、进程调度的定义 进程调度&a…

Orleans 3.0 为我们带来了什么

原文:https://devblogs.microsoft.com/dotnet/orleans-3-0/作者:Reuben Bond,Orleans首席软件开发工程师翻译:艾心这是一篇来自Orleans团队的客座文章,Orleans是一个使用.NET创建分布式应用的跨平台框架。获取更多信息…

进程的同步与互斥

现代操作系统采用多道程序设计机制,多个进程可以并发执行,CPU在进程之间来回切换,共享某些资源,提高了资源的利用率,但这也使得处理并发执行的多个进程之间的冲突和相互制约关系成为了一道难题。如果对并发进程的调度不…

缓存击穿/穿透/雪崩

缓存击穿/穿透/雪崩Intro使用缓存需要了解几个缓存问题,缓存击穿、缓存穿透以及缓存雪崩,需要了解它们产生的原因以及怎么避免,尤其是当你打算设计自己的缓存框架的时候需要考虑如何处理这些问题。缓存击穿一般的缓存系统,都是按照…

临界区、互斥量、信号量、事件的区别

四种进程或线程同步互斥的控制方法: 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具有有限数量用户资源而设计。 4…

99%的人不知道搜索引擎的6个技巧

点击上方“dotNET全栈开发”,“设为星标”加“星标★”,每天11.50,好文必达全文约900字,预计阅读时间1分钟今天看了一期seo优化的视频,其中就有这么一篇关于百度搜索的几个小技巧,这里整理出来,…

用信号量解决进程的同步与互斥

转自:http://www.cnblogs.com/whatbeg/p/4435286.html 现代操作系统采用多道程序设计机制,多个进程可以并发执行,CPU在进程之间来回切换,共享某些资源,提高了资源的利用率,但这也使得处理并发执行的多个进程…

扎心了,程序员2017到2019经历了什么?

刷爆朋友圈的2017-2019到底是什么梗?只剩下33天了,就到2020年了最后一批90后,马上就要30了?一到年底,就会陷入回忆和比较中近几日,网友开始将2017年和2019年进行对比,不少人晒出了自己在17年和1…

【.NETCore 3】Ids4 ║ 统一角色管理(上)

前言书接上文,咱们在上周,通过一篇《思考》 性质的文章,和很多小伙伴简单的讨论了下,如何统一同步处理角色的问题,众说纷纭,这个我一会儿会在下文详细说到,而且我最终也定稿方案了。所以今天咱们…

操作系统死锁详解

一、死锁的定义 死锁是两个或两个以上的进程中的每一个都在等待其中另一个进程释放资源而被封锁,它们都无法向前推进,这种现象称为死锁。 二、产生死锁的主要原因 (1) 因为系统资源不足。 (2) 进程运行推进…

.NET Core 3.0 使用Nswag生成Api文档和客户端代码

摘要在前后端分离、Restful API盛行的年代,完美的接口文档,成了交流的纽带。在项目中引入Swagger (也称为OpenAPI),是种不错的选择,它可以让接口数据可视化。下文将会演示利用Nswag如何生成Api文档利用NSwa…

什么是虚拟内存?

虚拟内存是计算机系统内存管理的一种技术。 它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要…

深入研究 Angular 和 ASP.NET Core 3.0

本文要点:可以把多个 Angular 应用程序集成到 ASP.NET 网站中把 Angular 代码打包成 Web 组件是引导 Angular 应用程序的好方法可以把用 Angular 编写的 Web 组件轻松地集成到 ASP.NET 视图中把 Angular 解决方案构造成 Angular 应用程序的集合以实现更好的代码重用…