pincai 发表于 2023-11-8 19:55:19

C# 是否是编程体验最佳的语言?

智能提醒,广泛的写好的API等等

hnlzc 发表于 2023-11-8 19:55:53

是。但没有汉语好,可以对程序员编程。

ggfggggfgg 发表于 2023-11-8 19:56:35

如果你:
讨厌局部变量。
讨厌命名。
讨厌if for
喜欢函数式编程。
那么c#肯定是体验最佳的语言。
c# 在类型安全的语言里面,语法表达能力是最强的。
大部分逻辑一行代码就能写完。
随便举两个例子
如果没有模式匹配,要写n个if,又臭又长:

http://pica.zhimg.com/v2-98c3dd27ecbc51b9bb72c684a08e907b_r.jpg?source=1def8aca
角色、部门、菜单、接口 4张表的关联查询(1对1,1对多)动态筛选排序。一行完事。
如果没有linq, expression tree,得写到吐。

http://pic1.zhimg.com/v2-1131629dbc725fd6fb8d708534fa59a7_r.jpg?source=1def8aca

gvell 发表于 2023-11-8 19:57:03

2003年,公司要开发一套新的 OA,领导让我在 Java 和 C# 之间做选择,最终选择了 C#(当时吸引我的主要魅力点是 ValueType、property、interface、event 与 delegate)。此后20年里一直都在用 C#,中间做过两年机构讲师,也给大学老师们做过相关培训。
现在,项目主要使用 Java(当然我们自己的工具和框架也支持用 C#),自己的产品则用 C#(.NET 7.0)。
用过 Java、C#、C/C++、JS、SQL、Swift、Dart 、Rust等。不用怀疑,C# 是这些语言中体验最好的。尽管 Swift 出现的较晚,且背后是 Apple,但体验仍然不够好(比如缺少 namespace 的直接支持,以及在构造函数中的一些限制等)。

现在用 C# 做产品的主要理由如下:
1、跨平台(包括跨平台编译)。
2、开源。
3、同时支持开发跨平台的服务以及跨平台的客户端(MAUI)。
4、await/async、await foreach 等异步支持。
5、Span 与 Memory。
6、Native AOT、R2R、单文件、代码裁剪。
7、运算符重载。
8、大量的官方(微软)库,比如 Kestrel Server、ObjectPool、RateLimiting、ClearScript(最后使用 Jint 取代)等。
9、对于效率和性能的一些精确调控,比如 stackalloc、inline(MethodImpl)、fixed。
10、nullable type、partial 等。
11、更丰富的基础数据类型。
12、扩展方法。
13、其他一些特性或语法糖,比如 default、ref、out、??= 、nameof等。
14、官方提供的更集中的文档资料(在国内,遇到问题能够集中、快速和顺畅的访问相关资料非常非常重要)。

当然,也有一些“不足”(在我们的应用场景下):
1、MAUI 还不够成熟。
2、interface 不支持 implicit operator。为了支持将 Span 和 Memory 作为数据库底层驱动的输入输出数据,我们抛弃了 Npgsql,自己写了一个专用的 PostgreSQL 驱动(准备开源)。该驱动是面向接口的,但因为这一点,不得不暴露一个抽象类。
3、Native AOT 还有一些限制,依赖的部分库会有相关的 analysis warnings。

baicai 发表于 2023-11-8 19:57:26

c#出来的比较晚,所以较其他语言优雅得多,加上vs这个ide,写代码非常爽,体验确实佳。
但是,也就是写代码爽,发布部署超级麻烦。
winform的exe,dll做安装包,还要带上.net,否则目标机器就要自己下载运行时。
web项目,.net core出来前,写点httpHandle/httpModule做拦截,部署到iis,版本差异引发的webconfig配置烦透了。
.net core 离开了docker,也麻烦。

dermot 发表于 2023-11-8 19:58:12

老板说,C# 是店里口碑最好,卖得最多的!

http://picx.zhimg.com/50/v2-0aa4c9eb063fbdfc5d88016a6d15ce1c_720w.jpg?source=1def8aca
我整了一件!

http://picx.zhimg.com/50/v2-b5aad9ea53cedd594070c965cdff1109_720w.jpg?source=1def8aca
奶奶的,什么破玩意儿!!!退钱!!!
<hr/>老板说,那试试 JAVA ,买过的都说好!

http://picx.zhimg.com/50/v2-3d9074d647f11a360327b55688d4b241_720w.jpg?source=1def8aca
我整了一件!

http://pic1.zhimg.com/50/v2-c6ffc82c6cd427dfd54d60f8386ab65d_720w.jpg?source=1def8aca
奶奶的,什么破玩意儿!!!退钱!!!
<hr/>亲,你咂摸咂摸,是不是一个道理?


学语言首先看用途,要做 windows 桌面应用,C#优先;要找工作,同等要求下,高工资的优先;
没想好用途,就想学一个克服焦虑,那就学通用性最强的,比如 SQL,不论你将来整什么花活儿,都用的上。
圈子里,动不动就“最”的,都是“醉”的!
不清醒的人,适当远离!
页: [1]
查看完整版本: C# 是否是编程体验最佳的语言?