“C# 不停止膨胀,必将走向灭亡”

d73fe69a37ef8b5a953239439fdf203e.gif

【CSDN 编者按】编程语言更新的频率是越快越好,还是越慢越好,不断增加的功能是否真的就是开发者想要的?

原文链接:https://medium.com/codex/c-is-dying-fa21a96107c5

声明:本文为 CSDN 翻译,未经允许,禁止转载。

作者 | Andrew Zuo

译者 | 弯月     责编 | 屠敏

出品 | CSDN(ID:CSDNnews)

我很喜欢 C#。大学毕业后,我的第一个编程项目是用 Unity 编写的游戏。我立刻爱上了这门语言。起初觉得很新鲜,C# 与 Java 很相似。当时还是 Java 7 的时代。我听说他们从那时开始决定采用更快的发布周期,之后一切都变了。

如今我仍然很喜欢这门语言。虽然它没有特别之处,但你可以用它做任何事情,比如多线程。

但在过去的几年里,我非常担心 C# 的命运。我在网上分享了我的想法,并引起了很多人的关注。

d291c9e8772668d4e524ebed16fada67.png

争论的关键

我在一条评论中表达了自己的看法:

C# 就快完蛋了,微软正在扼杀它,他们不断添加没人在意的功能。C# 之死就在于功能蔓延。

《魔鬼经济学》中有一句话:“除了轰炸,我不知道还有什么方法可以比租金管制更有效地摧毁一座城市。”

代入编程语言,我们可以说:“除了轰炸,我不知道还有什么方法可以比功能蔓延更有效地摧毁一门编程语言。”

我保留了“轰炸”一词,因为我不知道在编程语言的环境里相应的词语是什么。但显然轰炸是行不通的——你可以炸毁某个公司的总部大楼,但无法干掉他们的编程语言,只能导致他们停止开发。

功能蔓延的问题在于,它会导致学习和掌握编程语言的难度加剧。C++就出现过这样的问题,所以现在只有底层的软件还在使用 C++,因为唯一能用的语言除了 C++ 就只有 C 了。想想看,现在还有人用 C++ 写高级的软件吗?

b70f46c66b6a0da4b4837bda677da167.png

C# 的状况如何?

我不希望同样的命运发生在 C# 身上。但不幸的是 C# 的状况也堪忧。

我第一次产生怀疑,是因为看到了 C# 8 的 switch 表达式。你可以像下面这样定义一个 switch 语句。

public static RGBColor FromRainbow(Rainbow colorBand) =>colorBand switch{Rainbow.Red => new RGBColor(0xFF, 0x00, 0x00),Rainbow.Orange => new RGBColor(0xFF, 0x7F, 0x00),Rainbow.Yellow => new RGBColor(0xFF, 0xFF, 0x00),Rainbow.Green => new RGBColor(0x00, 0xFF, 0x00),Rainbow.Blue => new RGBColor(0x00, 0x00, 0xFF),Rainbow.Indigo => new RGBColor(0x4B, 0x00, 0x82),Rainbow.Violet => new RGBColor(0x94, 0x00, 0xD3),_ => throw new ArgumentException(message: "invalid enum value", paramName: nameof(colorBand)),};

这有什么必要呢?正常的 switch 语句有什么问题吗?如果你觉得某些情况下这种写法是有用的,那么看看下面这个。在 C# 9 中,某些情况下 new 操作符可以省略类型,例如:

private List<WeatherObservation> _observations = new();

关键字 var 已经引发了足够多的争议,现在又来了一个?

46edfdea9bc1ec0060830693e998a60a.png

那么,如何在 C# 10 中为属性创建属性?他们又增加了一个关键字 field,用于定义自动属性。我不明白为什么我们不能直接使用普通属性。

field 就是属性,我们理应减轻工作负担,而不是加重。

ea15c9e8f46d11108982bba848a762a6.png

情况愈演愈糟

每年 C# 都要推出新版本。我不知道为什么每个人都喜欢快速的发布周期。我使用 Firefox 4 beta 已经一年了,我很满意。但现在呢?Firefox 的版本发布已经超过了 100 了。因为如今每个浏览器每 4 周就要更新一次版本。

C# 每年更新一次,Java 每 6 个月更新一次。我不明白这是为什么。编程语言又不会很快过时。

我知道 Java 加快更新节奏的原因,我怀疑与 Open JDK 有关。旧版本的 Open JDK 没有得到任何更新,所以如果你想使用 5 年前的 Java 版本,就像大多数公司那样,那么就需要付费。

现在 C# 可能还没有那么糟糕。但照目前的节奏发展下去,只要几年的时间,很快我们就会被功能蔓延淹没。

b94d54bcdd51b5e444eab841f0797d10.png

不要使用这些功能

看到这里,有人肯定会说,不要使用这些功能不就好了吗?我表示同意。但你必须知道,如今不使用这些功能也没什么大不了,但 C# 的功能继续按照这个节奏蔓延下去,结果会怎样?每个程序员都会觉得自己被某种神秘的力量所束缚,被迫使用语言中的这些元素。

当所有 C# 的教程都开始使用超级晦涩的语法时,会怎么样?我们该怎么办?

我认为,如果真的有那么一天,很多人将停止使用 C#。

17362c68ccc467da4cc16ba76218ff58.png

我爱 C#

C# 的问题在于过于冗长,这是因为他们借鉴了 Java,所以我经常开玩笑地称它为“Java#”。

因此,如果 C# 添加新功能是为了减少冗余冗长,那我很支持。但如今他们添加新功能感觉只是拆东墙补西墙,解决不了根本问题。

Dart 之类语言的努力方向是:“怎样让语言变得更简单?”而 C# 却在说:“我们如何才能用更少的代码完成以前实现的功能?”

然而,他们得出的答案是“只要给它一个宏”。

当然,有时他们也会考虑添加一些真正有用的东西。但大多数时候只是在添乱。表面看来,他们解决了需要键入的代码太多的问题,但潜在的复杂性愈演愈糟。

有报道称,程序员正在放弃 C#。根据 Stack Overflow 的趋势显示,自 2009 年中期以来,有关 C# 的问题数量急剧下降,他们的年度调查(2017年~2018 年除外)显示,该语言的数量呈缓慢下降的趋势。

dfe651d9eeed43680e218fae19ca9495.png

继续按照这个水平膨胀下去,我相信会有更多人放弃 C#。

 

f64c1f0d56bf6ad96c856b34f9331544.gif

 

04d3585618c6efa3602243fe7f468f01.png

☞原美团联合创始人欲打造中国版 OpenAI ;ChatGPT 爆红惊动谷歌退隐创始人布林;Gradle 8.0 发布|极客头条
☞微软“砍掉”元宇宙部门,刚成立四个月!网友:ChatGPT 会是下一个“元宇宙”吗?
☞个人掏5000万美元、获2.3亿美金认购,造中国版OpenAI,45岁前美团联合创始人王慧文再创业!

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

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

相关文章

Sam Altman的成功学|升维指南

Datawhale干货 作者&#xff1a;Sam Altman&#xff0c;Open AI CEO “如果把Sam Altman扔到某个食人族之岛&#xff0c;5年后他会成为这个食人族岛的国王。“ 在硅谷创业教父Paul Graham的眼里&#xff0c;Sam Altman是一位极具魄力的领导者和开拓者。如今&#xff0c;已成为…

手把手教你做做一份高质量投标书

今天我整理一份word版的标书模板制作方法。 就用最详细、最直观的方法&#xff0c;手把手教大家做技术标书模板&#xff0c;一次做完&#xff0c;多次受益&#xff0c;可反复利用哦&#xff01; PS&#xff1a;该文章专业性较强&#xff0c;文字表述较多&#xff0c;内容比较枯…

AI工智能讲师叶梓培训简历及提纲:AI人工智能之基于人工智能的内容生成(AIGC)简历提纲

叶梓老师简介 威信&#xff1a;amliy007 上海交通大学计算机专业博士毕业&#xff0c;高级工程师&#xff0c;高级程序员 主研方向&#xff1a;数据挖掘、机器学习、人工智能。 国内知名上市IT企业的AI技术总监、资深技术专家 一线人工智能经验&#xff08;12年&#xff09;&am…

腾讯、阿里、字节….等大厂都更喜欢程序员什么样的简历?

我985毕业&#xff0c;为什么筛选简历时输给了一个普通一本&#xff1f; 我投了20份简历&#xff0c;为什么没有一个大厂回我&#xff1f; 每次HR收到简历就没下文了&#xff0c;是我的简历有问题吗&#xff1f; 诚然&#xff0c;在求职时&#xff0c;简历往往就是我们给予H…

ChatGPT 的开源“替代”来了!前 OpenAI 团队出手,能用中文提问,3 天斩获 3k+ Star...

整理 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 近来 ChatGPT 的爆火&#xff0c;令不少人开始关注其背后的 OpenAI。 追溯过往才发现&#xff0c;原来成立于 2015 年的 OpenAI&#xff0c;最初声称是一家非营利机构&#xff0c;会向公众开放专利和…

免费搜索vs付费搜索:百度谷歌的有力竞争者刚刚出现!

北大出版社&#xff0c;人工智能原理与实践 人工智能和数据科学从入门到精通 详解机器学习深度学习算法原理 人工智能原理与实践 全面涵盖人工智能和数据科学各个重要体系经典 搜索引擎的游戏刚刚被改变&#xff01; 人们对昨天&#xff08;12月1号&#xff09;OpenAI 发布…

探索大语言模型垂直化训练技术和应用-陈运文

内容来源&#xff1a;ChatGPT 及大模型专题研讨会 分享嘉宾&#xff1a;达观数据董事长兼CEO 陈运文博士 分享主题&#xff1a;《探索大语言模型垂直化训练技术和应用》 转载自CSDN稿件 本文整理自 3月11日 《ChatGPT 及大规模专题研讨会》上&#xff0c;达观数据董事长兼CEO…

ECharts之柱状图 饼状图 折线图

1.柱状图 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>柱状图</title><script src"https://cdn.bootcss.com/echarts/3.7.2/echarts-en.js"></script> </head> …

ChatGPT工作提效之数据可视化大屏组件Echarts的实战方案(大数据量加载、伪3D饼图、地图各省cp中心坐标属性、map3D材质)

ChatGPT工作提效系列文章目录 ChatGPT工作提效之初探路径独孤九剑遇强则强ChatGPT工作提效之在程序开发中的巧劲和指令(创建MySQL语句、PHP语句、Javascript用法、python的交互)ChatGPT工作提效之生成开发需求和报价单并转为Excel格式ChatGPT工作提效之小鹅通二次开发批量API对…

100天精通Python(可视化篇)——第93天:Pyecharts绘制多种炫酷饼图参数说明+代码实战(百分比、环形、玫瑰、内嵌、多个子图饼图)

文章目录 专栏导读1. 基础饼图add函数简单案例改变颜色 2. 百分比饼图3. 环形饼图4. 玫瑰饼图5. 内嵌环图6. 多个饼图书籍推荐&#xff08;包邮送书5本&#xff09; 专栏导读 &#x1f525;&#x1f525;本文已收录于《100天精通Python从入门到就业》&#xff1a;本专栏专门针…

李宏毅对ChatGPT的原理剖析—包括常见误解、背后的预训练和其所带来的研究问题...

一天前&#xff0c;李宏毅老师突然在youtube上更新里了三个关于【生成式AI】ChatGPT 原理剖析的视频和一个使用ChatGPT玩文字冒险游戏的视频&#xff0c;很有深度&#xff0c;所以我搬到了视频号上了&#xff0c;请大家享用~ 【生成式AI】ChatGPT 原理剖析 (1/3) — 對 ChatGPT…

分享一款全网最全的 AI 工具导航网站:未来百科

我们来让ChatGPT帮助我们写一篇短文来介绍这个强大的AI工具网站。鄙人才疏学浅&#xff0c;就不费口舌了。【欢迎转载】。 未来百科&#xff08;https://nav.6aiq.com&#xff09;是一个全面收录AI工具的导航网站&#xff0c;涵盖了多个领域和应用场景的优质AI产品。该网站旨在…

《花雕学AI》大揭秘:ChatGPT 如何让你的聊天机器人更智能、更有趣、更有用

你是否想过有一个可以和你聊天、陪你玩耍、帮你学习、给你创意的机器人&#xff1f;如果你的答案是肯定的&#xff0c;那么你一定会喜欢 ChatGPT。 ChatGPT 是一个基于 GPT-3 或者 GPT-4 技术的聊天机器人&#xff0c;可以与人类进行自然和流畅的对话。GPT-4 是目前最先进的自…

table表格转Excel

我定义的js文件为table.js 下面的html中引入 $(document).ready(function () {var base64 function (s) { return window.btoa(unescape(encodeURIComponent(s))) };var format function (s, c) {return s.replace(/{(\w)}/g,function (m, p) {return c[p];});};var uri &q…

怎么把图片转换成表格?分享三个简单方法给你

你们是否在工作的时候会遇到这样的情况&#xff1a;收到同事发来的一张表格图片&#xff0c;需要你进行汇总登记&#xff0c;通常这种时候&#xff0c;你们都会怎么做呢&#xff1f;是根据图片的内容&#xff0c;手动输入制作成一份表格吗&#xff1f;虽然这样子可以进行表格的…

想学习如何把excel图片转表格?1分钟教会你图片转表格怎么转

应该有不少小伙伴接收过上司或领导以图片格式发送过来的excel表格吧&#xff1f;并且还会要求我们将里面的内容整理为电子档&#xff0c;便于后期的内容编辑以及数据修改。 而当你们收到这种任务时&#xff0c;是怎么去操作的呢&#xff1f;是不是大部分人会选择手动重新制作&…

想知道图片转表格怎么转?简单实用的转换方法分享

最近收到了小伙伴的私信&#xff0c;上级让他把表格进行汇总归类&#xff0c;重新制作一份新的表格&#xff0c;但是上级发来的却是一张表格图片&#xff0c;这下子让他有点摸不着头脑。表格数据很多很杂&#xff0c;如果照着这些数据来制作表格的话&#xff0c;会非常麻烦。所…

图片转excel表格方法介绍,办工常备工具

图片怎么转换成excel表格&#xff1f;Excel表格作为一种文件格式早就被大家习以为常&#xff0c;我们经常会通过它来处理问题、汇报成果。有时候在网上查找资料时也会碰到表格形式的文件&#xff0c;整理起来还算方便&#xff0c;但如果是图片想整理成表格就会麻烦很多&#xf…

vCard通讯录(vcf文件)转excel表格的方法

vCard通讯录文件也是vcf文件&#xff0c;一般用来导出导入手机通讯录&#xff0c;vcf文件基本上手机都通用都支持的&#xff0c;很多人都是用这个格式来备份通讯录。但是vcf文件除了手机通讯录&#xff0c;在其他地方查看起来不太方便&#xff0c;这时候我们就想要把vcf转为exc…