为什么 C# 可能是最好的第一编程语言
纵观神州大地,漫游中华互联网,我看到很多人关注为什么你应该开始学习JavaScript做前端,而对blazor这样的面向未来的框架有种莫名的瞧不起,或者为什么你应该学习Python作为你的第一门编程语言,恕不知有多少公司业务是用Python开发的,Python更多是粘合剂,作为胶水语言来使用。
我用C# 工作了 20多年,我也一直把它当作第一编程语言,几乎尝试了任何东西:桌面、物联网、移动、Web、云原生- 以及 C# 和 .NET 完美契合的所有地方,特别是当下Chatgpt 还有AI的辅助编程时代,你应该考虑从它开始你的开发人员之路。
C#是一种编程语言,.NET是建立在它之上的软件框架。为了简单起见,当我说C#时,我假设了它与.NET结合使用,反之亦然。
1. .NET 允许您在任何地方构建任何内容
使用单一语言和单一框架,您可以构建任何类型的应用程序:桌面和移动设备以及云服务,您可以创建游戏并探索 AI。.NET是跨平台的:你可以为Windows,Linux,Android,iOS甚至物联网设备构建应用程序。
想象一下,你可以采用一种语言,尝试每一个方向,并在这个过程中提高你的技能。不过,您仍然需要研究方向细节。特别是如果想从互联网转向物联网,有了有扎实的技术基础,花个1年时间学习行业知识,专业的.NET技术都是可以无缝衔接过去了。您可以朝着自己最喜欢的方向进行改进,或者如果您愿意,甚至可以开始使用更特定于选定领域的语言和工具。例如,对于移动开发,我看到人们从Xamarin转向iOS或Android上的本机开发。
2、 C#是第五种流行的语言
根据TIOBE指数(基于搜索引擎结果的编程语言流行指数),C#作为最受欢迎的语言占据了第五位。在过去的10年里,它一直位居前10名。 最近几年,随着2014年.NET开源跨平台,它的受欢迎程度一直增长。
3、C#/.NET 拥有最好的学习材料之一
Microsoft 和 .NET Community 提供了大量任何形式的材料:文章、视频、课程、教程和书籍,使您能够成为一名成功的 .NET 开发人员。您可以在微软学习门户上查看所有可用的材料
社区提供了令人惊叹的全包含路线图,以掌握取得成功所需的技能和知识,例如面向后端开发人员的 ASP.NET 核心路线图。您可以轻松地在github 上找到其他方向的路线图。
而微软本身也试图做不同的有趣活动来吸引更多的开发者。例如每年一度的.NET Conf。
4. .NET 6 简化了快速入门。
从.NET6开始,.NET 在简化入门体验方面迈出了一大步。最小 API 功能为我们提供了一种在单个文件中使用干净代码创建具有最少依赖项的 HTTP API 的方法。
只需通过单个命令创建 4 行代码即可使用 .NET 6 启动 Web 应用。
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
5. 大家开始重新审视微软技术
今年所刮起的Chatgpt风潮,让之前所有带着有色眼镜看微软技术的人们重新开始审视微软技术,为什么是微软在这波AI浪潮中独占鳌头,答案自然是非常清楚的,是CEO 纳德拉的在2014年为微软按下的刷新按钮,经历了接近10年时间的积累,开始引领技术潮流。同样的.NET 也是在2014年开始了刷新历程,经历了接近十年的迭代,已经脱胎换骨完成了蜕变。 每一年的.NET 版本的发布都是至今为止性能最好的版本,今年即将发布的.NET8 依然会是如此,这里是不是和OpenAI CEO Sam Altman 称,GPT-4 是“我们迄今为止最强大、对齐最好的模型”。
6、Azure OpenAI 服务
自从去年年底 ChatGPT 推出以来,我们看到全球各行各业利用 ChatGPT 落地实际应用场景,例如:内容摘要、总结、电子邮件内容推荐和生成,甚至解决软件代码问题。现在,随着企业级 ChatGPT(国际预览版)在 Azure OpenAI 服务中推出,各行业客户及开发者可以将 ChatGPT 所带来的革命性体验直接集成到实际业务系统或App。例如通过 ChatGPT 驱动的自动化客服、总结客户服务对话来更快解决客户支持问题、个性化产品优惠推荐、创建新的广告文案、自动化理赔处理等场景。Azure OpenAI 服务推出的最早的SDK就是.NET的 ,这是一个大利好,这是促进在企业级采用.NET技术的助推器。
https://www.nuget.org/packages/Azure.AI.OpenAI 以及 社区也推出了一个提示库 https://xakpc.github.io/DotnetPrompt/
总结
总之,在选择第一语言时,您应该问自己两个问题:
- 如果你想找工作,它是一种好的编程语言吗?
- 这是一门开始学习编程的好语言吗?
对于 C#,我的答案肯定是肯定的。 对 C#/.NET 开发人员的需求很高,它是一种类似 C 的语言,具有强大的面向对象方法,并且每个版本的学习曲线都变得越来越容易接受。
为什么 C# 可能是最好的第一编程语言的更多相关文章
- 2019年2月编程语言最新排行:java稳居第一(java优势在哪里)
近日TIOBE公布了2月编程语言排名,在意料之中java稳居第一,C和C++分别位居第二第三名. 下图是2 月编程语言排行榜 TOP20 榜单以及前 10 名编程语言长期走势图: ...
- 第一周python入门
第一编程语言的分类: 1.机器语言 二进制编程 直接操作硬件 优点:执行速度快 缺点:开发效率低 面向机器编程 2.汇编语言 英文标签代替一串特定的二进制,直接操作硬件 缺点开发效率低 面向 ...
- 机器人研发十大热门编程语言:不死 Java、不朽 C/C ++、新贵 Python
流水的编程语言,铁打的 Java.C/C++. 进行人工智能机器人研发,应该选择哪种编程语言? 这是很多机器人专家在自身的职业生涯中都会存在的一个入门级思考.毕竟,在学习一门编程语言时,需要花费大量的 ...
- TIOBE 编程语言排行榜是什么,它是如何计算编程语言排行的?
做为一名程序员,都比较关注其使用编程语言的热度,一方面编程语言的热度决定了它拥有多大的市场,另一方面也关系到行业内程序员选择机会有多大. 我们总听说某个编程语言排名第一,那么这些数据到底准不准确呢? ...
- 再过两年C语言就50岁了,这么老的编程语言怎么还没有过时?
再过两年,C语言将迎来它的 50 岁生日,同样进行周年庆的还有 PL/M和Prolog.不过,C语言至今仍然非常受欢迎,它在几乎所有编程语言中的受欢迎程度,始终排在前十名. 大多数操作系统的内核( ...
- [JavaScript]JS由来
JavaScript最早由Netscape公司开发 JavaScript的发展历程 我们知道Windows桌面程序是可以交互的,用户可以点击菜单.按钮.下拉列表等控件,并通过消息机制来响应用户操作. ...
- php底层
http://www.phpchina.com/member.php?mod=logging&action=login 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的: ...
- 2014中国软件开发者调查(一):Java最受欢迎 第二语言JS使用比例最高
2014 年 3 月 20 日到 4 月 25 日期间,CSDN 通过在线问卷渠道进行了中国软件开发者调查,本次调查问卷得到了近万名开发者踊跃支持.日前这份调查报告已经出炉,CSDN 将就调查结果连续 ...
- Python语言初学总结
课程名称:程序设计方法学 实验1:程序设计语言工具 时间:2015年10月21日星期三,第3.4节 地点:理工楼1#208 一.实验目的 1.深入理解程序设计语言及其几种常见的编程范型: 2.激发学生 ...
- Android开发系列之学习路线图
通过前面的3篇博客已经简单的介绍了Android开发的过程并写了一个简单的demo,了解了Android开发的环境以及一些背景知识. 接下来这篇博客不打算继续学习Android开发的细节,先停一下,明 ...
随机推荐
- Leetcode 二维数组周游 54
给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素. 示例 1: 输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ...
- 机器学习之pandas介绍
pandas简介 pandas全称python Data Analysis Library,是基于numpy的一种工具,pandas纳入了大量库和一些标准的数据模型,提供了高效的操作大型数据集所需的工 ...
- Java的访问控制修饰符有哪些?各有什么访问权限?请对照第7页ppt的表格分别写程序验证。
Java的访问控制修饰符有哪些? JAVA主要有两类修饰符: 访问控制修饰符 : default, public , protected, private 非访问控制修饰符 : final, abst ...
- 20200926--矩阵转置(奥赛一本通P95 8 多维数组)
输入一个n行m列的矩阵A,输出它的转置(看下面说明) 输入:第1行包含两个整数n和m(1<=n<=100,1<=m<=100),表示矩阵A的行数和列数.接下来n行,每行m个整数 ...
- 英国延长 UKCA 标记截止日期
政府于 2022 年 11 月 14 日宣布,企业将有 2 年的时间来应用新的 UKCA 产品标记.在 2024 年 12 月 31 日之前,企业可以选择使用 UKCA 或 CE 标志,之后企业只能使 ...
- reactHooks_useEffect
当在直接在组件内使用setState时,会产生"渲染次数过多"的错误 例如: const A = ( ) => { const [num,setNum] = useSta ...
- Call API URL连接拼参数的方法
void TestNTFD() { try { try { ...
- MySQL的卸载与安装
卸载 1.右键点击我的电脑 -->服务-->停掉MySQL的服务 2.控制面板卸载MySQL 3.删除隐藏文件夹 C:\ProgramData下的MySQL文件夹 4.删除MySQL文件夹 ...
- 解决WIN7下pl/sql连接弹出空白提示框问题
问题描述: win7 32位系统,已安装oracle10.0开发客户端,已配置数据库, 登陆pl/sql时出现空白提示框问题,尝试重装oracle无果,于是上网查找解决方法,逐步尝试,终于把客户端弄好 ...
- Ubuntu系统Root用户无法登录解决办法
默认 系统 root 登录 图形界面,出现 登录失败.解决方法如下: 1,登录普通用户, 打开终端执行命令, 使用su root或sudo -i切换到root用户(必须) su root 按照提示输入 ...