7

鉴于 C# 正沦为"小众"语言,想向大家介绍一下它,各位想看点什么?

 4 years ago
source link: https://www.v2ex.com/t/786457
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  程序员

鉴于 C# 正沦为"小众"语言,想向大家介绍一下它,各位想看点什么?

  Rwing · 1 小时 12 分钟前 · 984 次点击

有感于 想学一门后端语言,哪个比较用的多,写起来比较爽

想向大家介绍一下这门"写的爽"的语言,又怕才疏学浅介绍不清楚。

不知道各位想看点什么?

不谈论生态就业等等问题,单纯说语言本身,有可能涉及到 .NET

第 1 条附言  ·  37 分钟前

我开头已经说了本帖不讨论生态就业等问题,单纯的向“想了解其他优秀语言的人”介绍一下 C#,烦请后来者不要再讨论生态就业等问题了,让我们聚焦在语言本身
35 条回复    2021-06-29 14:45:54 +08:00

Cbdy

Cbdy   1 小时 7 分钟前 via Android

抛开语言本身,国内 C#的现状是:工资低、岗位少、社区不活跃

这样的情况下,还给人推荐 C#,是真爱了

lixingjun

lixingjun   1 小时 5 分钟前

即便是开发桌面应用,也都直接 web 化了,C#前景堪忧

smilenceX

smilenceX   1 小时 3 分钟前

看到 2 楼,我觉得,楼主不妨介绍一下 C#桌面程序 相对于 web 化的桌面应用的优势

icyalala

icyalala   1 小时 3 分钟前

没关系,还有 Unity 呢~

heyhumor

heyhumor   1 小时 1 分钟前

简洁,优美

smilenceX

smilenceX   1 小时 1 分钟前

呃 ,楼主说的是语言本身,3 楼说的主题更偏 .net ,忽略 3 楼吧

Rwing

Rwing   1 小时 0 分钟前

我开头已经说了本帖不讨论生态就业等问题,单纯的向“想了解其他优秀语言的人”介绍一下 C#,烦请后来者不要再讨论生态就业等问题了,让我们聚焦在语言本身

tabris17

tabris17   58 分钟前

社区不活跃,三方包太少了

tabris17

tabris17   58 分钟前

语言是个好语言,就是没啥用

imshawer

imshawer   56 分钟前   ❤️ 1

C#,丝般顺滑,行云流水。

.NET ,连环境都不用装,self-contained 直接就可以欢快的跑在 Linux 上。

甲方说,.NET ? 还是用 JAVA 吧。

dxxzst

dxxzst   54 分钟前

放到十年前,还可以

Cbdy

Cbdy   52 分钟前 via Android

@Cbdy 打完一般就发出去了,就语言语法本身,现在各大语言其实都在同质化,区别越来越小了。

比如 TC39 天天琢磨怎么给 JavaScript 加特性,一年一个出个新版本,不够用还可以自己写插件; Java 再过两个月就版本 17 了,又有新特性,Loom,Valhalla 估计也快了(

很多人拿 Java 和 C#、Go 比,在我看来人才是最重要的因素,人多,社区活跃,剩下的不足可以慢慢改进嘛,这就是开源的魔法。

Go 的协程很棒,Java 对标弄了个 Loom ; Go 支持 AOT 成 Native Image,GraalVM 也对标弄个 AOT 编译器; C#是语法糖的先锋,但是加糖容易,减糖难,而 Java 也在加糖、但是更加保守(慎重),比如模式识别、Record 等

所以比起现有的语法、生态,一个语言的社区才是最重要的

wanguorui123

wanguorui123   51 分钟前 via iPhone

自己用还是可以的

Cbdy

Cbdy   50 分钟前 via Android

@Cbdy 模式识别 -> 模式匹配

vincent7245

vincent7245   48 分钟前

语言是工具,只要钱给够让我用 python 写个电商系统都没问题

dfkjgklfdjg

dfkjgklfdjg   48 分钟前

C#的优势场景?快 10 年前了解过现在已经连 C#能干嘛都记不起来了

Rocketer

Rocketer   46 分钟前 via iPhone   ❤️ 1

中国不是全部。眼光放远一点,学 C#赚老外的钱不香吗?

huangmingyou

huangmingyou   44 分钟前

java 的内存消耗,真的没人在乎吗,特别是微服务的场景下。白白浪费大堆内存。

yeqiu

yeqiu   44 分钟前

想看 c#中常用的异步方案,或者不同语言的异步处理方案。最好能深入到 cpu 内存交换和任务调度方面的
感觉 await 是一个很差劲的异步方案,难以理解也不易使用。

love

love   40 分钟前

Kotlin - 更好的 C#

zhuangzhuang1988

zhuangzhuang1988   38 分钟前

yolee599

yolee599   36 分钟前

感觉 C# 在桌面应用上更加发力还是挺不错的。

unco020511

unco020511   35 分钟前

java 也没好到哪去,上古语言

Rwing

Rwing   32 分钟前

@yeqiu 不好意思恕我才疏学浅,没有很深入的了解 Goroutines,这里有一篇文章对比 C#与 go https://zhuanlan.zhihu.com/p/279164405
我相信两种模式是各有利弊的。
至于 async/await 是否足够优秀,我个人觉得 async/await 对于初学者来说确实有些难理解,不过 async/await 应该也没那么糟,不然 python/js/rust/c++也不会竞相模仿吧

alexkkaa

alexkkaa   32 分钟前 via Android

C#表面是很好。但是.net 平台却不那么好, 就本身来说很多标准库实现都有问题, 比如 cookie 的实现还挺留在很久前

fl2d

fl2d   31 分钟前

等 VR/AR 起来了,c 井还能再闹一阵子?

kop1989

kop1989   31 分钟前   ❤️ 1

以现在这个时间点( 2021 )而言,语言之间几乎没有绝对的优劣势可言。

比如你说 C#有什么绝对突出的优势么,并没有。优势在于原生支持.net
Java 语言本身有什么绝对优势么?也没有。优势都在那些框架上。

这就像是你讨论:英语、法语、德语、意大利语在语言本身上哪个优秀?

所以抛弃既有生态和行业内既有的开发流程来探讨语言本身,基本没有意义。

Jooooooooo

Jooooooooo   28 分钟前

不如去学 rust.

还有 java 最新版本(16) 里的 gc 很值得一学, 也可以看看. stw 时间可以控制在 10ms 以内.

dinfeo

dinfeo   24 分钟前

坐标工业领域
作为一个 从 delphi C# 到 现在 java Node.js 混用的
之前的很长一段时间,工厂的 IPC 都是装 Windows 系统的,而且 OPC 、modbus 等工业协议,C#都有较好的现成的包可以用,甚至一些机器的 HMI 都是跑着 windows 。。。
工厂里的环境,一般是与外网隔绝的,系统常年不更新,所以很大一部分工业软件都是基于 C#的 winform 程序。
但随着近几年 IOT 的兴起,各种 Linux 的 IOT 设备慢慢被工业领域接受,如传感器,gateway,智能型控制器。
所以,近几年 java 和 node.js 在工业领域又流行起来。

C#觉得还是 winform 和 Unity3D 比较适合。无论在 IOT 和 Web 的开发上,C#都显得力不从心,虽然有.net core 的跨平台,但是太晚了,在非 windows 的环境.net core 的稳定性和运维都是个风险。就和 windows phone 一样,不是不好,是出来太晚,导致没有了生态,最终失败。。。

Rwing

Rwing   23 分钟前

@kop1989 不敢苟同,是没有绝对的优劣势,但是有相对的优劣势,某个语言可以"写的爽一点点"我就感觉很开心了。
本贴也不是一个比较贴,只是向有心了解的人介绍一下,这没有意义吗?如果说没有意义,那我觉得“您点进来花了大段时间打字点评没意义”这事其实更没意义

yejinmo

yejinmo   20 分钟前

同工控领域

服务端及 PC 客户端均由 C#开发,服务端正在迁移 .Net 5,PC 客户端用到了 WinForm 还停留在 .Net Framework 4.6.1

开发丝般顺滑

yejinmo

yejinmo   18 分钟前

C#也绝对不是小众语言,只是相对国内这批 Java 大军小众了些
国外接 C#的外包爽到起飞,钱多工作量少,工作量指的是实现相同功能,C#代码要比 Java 少些一大堆

kop1989

kop1989   17 分钟前

@Rwing #30 关键就在此,即便是“相对优劣”,也是需要场景的,“爽”也是要场景的。
而场景往往就诞生于行业既定的开发流程和既定生态下。

比如你要用微服务,你一定不会因为 c#的语法糖更甜、LINQ 更好用就放弃 java 转用 C#。
反之,你要开发 windows 客户端,你一定不会因为 Java 更原教旨主义的面向对象就选择 Java Swing 。

charlie21

charlie21   16 分钟前

SDK 和 编辑器 和 IDE 直接介绍跨平台的 .NET Core 和 vscode 和 JetBrains Rider
不支持跨平台的用品请不要介绍 谢谢,唯有如此才能挽救 C# 形象

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK