1
susecjh 2020-03-27 12:44:31 +08:00
不流行不代表不受待见吧
|
2
raycloud 2020-03-27 12:49:00 +08:00 1
看前面半句我以为是说域名...
|
3
hoyixi 2020-03-27 12:50:34 +08:00
|
4
QiShine 2020-03-27 12:50:57 +08:00
互联网公司用得少,但是在工控软件里用得很多,博图、800xa 、Intouch 、rslogix 等等几乎全是.net 的。可惜这些企业不会把关键岗位放国内的,目前都在向三哥那边转移。
|
5
darknoll 2020-03-27 12:56:15 +08:00
制造业的软件很多用.net ,互联网的很少吧
|
6
LokiSharp 2020-03-27 13:18:42 +08:00
国企和很多事业单位都在用,不过多数是外包的。还有就是 CAD Office 之类的二次开发
|
7
Rwing 2020-03-27 13:24:26 +08:00 2
历史惯性,无他
其实单纯说语言,C#数一数二 |
8
sanjusss 2020-03-27 13:27:03 +08:00
真正不待见的,你连问这种问题的机会都没有。
|
9
Jirajine 2020-03-27 13:28:24 +08:00 via Android 2
@Rwing C#是 Java 那个时代的,和 kt 、dart 、go 等更现代的语言比起来还差点意思。
|
10
ddup 2020-03-27 13:32:49 +08:00
岗位是不多,可是后端语言除了 Java,其它语音都不多的,.NET 算还行的了,go 这种,岗位就更少了,那个火得不得了的 python,其实没多少公司招。
|
14
Jirajine 2020-03-27 13:53:24 +08:00
@onecode #11 说的就是单论语言,C#在那个年代确实优秀,放现在虽然算不上过时,但开发体验上确实赶不上这些吸收了各种先进理念、没有历史包袱的新生代语言简洁优雅。Java->kotlin,c++->rust 的进步显而易见,F#也许能接任 C#,但函数式很难流行起来。
|
15
manshisan 2020-03-27 13:57:52 +08:00
公司今年打算换掉.net ,我和几个同事已经在写交接文档了,等文档写完估计就要被裁了
|
16
pantilesoft 2020-03-27 13:58:34 +08:00
|
17
mogutouer 2020-03-27 13:59:13 +08:00
大人,时代变了。
|
20
onecode 2020-03-27 14:10:41 +08:00 1
|
21
fbly 2020-03-27 14:11:25 +08:00
用了 C#12 年,挺好用的,windows 下写桌面应用真的很方便
|
22
JerryCha 2020-03-27 14:14:06 +08:00
土澳挺流行昂
|
23
rockcat 2020-03-27 14:15:04 +08:00
不至于,例如医疗行业,大多数是基于.net 技术架构的。
|
24
afirefish 2020-03-27 14:18:08 +08:00 2
@Jirajine 不吹不黑,目前用过 Java 、python 、go 、C#。要说简洁优雅和先进理念,C#还真不输另外三门语言中任何一门。当前,目前个人主用 C#,以后转其他语言也很有可能(毕竟面向吃饭编程)。多说一句,个人觉得 pyhton 才真的有点反人类,经常看的头都炸了。
|
25
afirefish 2020-03-27 14:18:46 +08:00
对了,用过不代表熟悉和精通。
|
26
shmily000u 2020-03-27 14:22:03 +08:00
医疗信息化行业 东软 卫宁 等等 你都可以很容易找到相关工作=。=
|
27
guolaopi 2020-03-27 14:22:26 +08:00 6
做了将近 5 年的 .NET ,最近在看 go,web 服务写起来跟 js 的 express 感觉差不多,就是语法差异罢了。
其实现在语言大都这个套路了: 入口一个 main 函数, 然后 app.run()挂在 host 上, 然后 app.use()各种中间件, 然后映射路由写业务。 用习惯了微软背书的 mvc 和 webapi,觉得路由不能自动读取 controller 中 action 来生成很是蛋疼。 就是一堆 github 上搜来的大佬们写的库堆起来用,跟前端拼乐高一样, 又或者每个人都在造轮子: 你造个 goJwt,我造个 gJwt, 你造个 goLogger,我造个 GLogger..... 至于性能,仁者见仁智者见智,过度设计和优化可能是小公司由于技术而倒闭的主要原因, 而且隔壁 java 已经人均百万并发了(滑稽 昨天翻了一下某直聘, 发现大家更愿意 15K 甚至更高去招一个 2 年左右的 go, 却不愿意 14K 左右招一个 3-5 年的 .NET , 这个世界怎么了,我也不知道我们做错了什么,但是大家都不喜欢我们。 说归说闹归闹, 面向工资编程的话,还是学一下 go 吧,比转 java 强。 最起码不会面试张口就问 jvm/底层源码 /百万并发 /...直接劝退。 |
28
guolaopi 2020-03-27 14:23:54 +08:00
|
29
guolaopi 2020-03-27 14:25:50 +08:00
|
31
guolaopi 2020-03-27 14:29:03 +08:00
|
32
Rwing 2020-03-27 14:31:13 +08:00 2
@Jirajine 您这句话真不敢苟同,C#不像 JAVA 一样一直停滞不前,相比 kt 、dart 、go 只强不弱,例如属性、真泛型、async/await 、模式匹配、可空引用类型、元组、异步流、lambda 、linq 等等特性,甚至性能,比这些语言都只强不弱。
|
33
guolaopi 2020-03-27 14:36:20 +08:00
@Rwing
赞。 其实从引入元组开始一下子跨进“现代语言”的感觉了, 既然大家都喜欢直接返回多个参数而不是一个 Model 的话,直接引入元组,配合 dynamic 甚至能写出 js/python 的感觉。。 |
34
hantsy 2020-03-27 14:37:57 +08:00
@Rwing 一句话,C#站在前人肩膀上。
再者,Java 8 后发展非常快。其它语言的一些特性也在不断的补充进来,Text Block,Pattern Matching, Data Class ( Record )这些特性 Java 也已经有了,Sealed 也会加入。 |
35
onecode 2020-03-27 14:38:07 +08:00
c#一声叹息:为何生态不行!!!
在一公司待了 6 年,.net -> .net core ->azure |
36
hantsy 2020-03-27 14:39:12 +08:00
C# 最终让 Typescript 出了名,Typescript 的设计很多来源于 C#,但应用广泛。
|
37
hantsy 2020-03-27 14:41:20 +08:00
@onecode 按道理讲,.net core 应该会很快流行了,现在跨平台,支持 Linux 。但 .net 一直是不蕴不火,国外相对用得多一些,Redhat 也是第一时间站队支持 .net core 。国内几乎可能把 .net 还定位在桌面开发吧。
|
39
onecode 2020-03-27 14:44:20 +08:00
@hantsy 目前我们公司(小公司,外资合资,主要是国外业务)在我的力荐下开始全面.net core,外加 azure,反正还好
|
40
Jirajine 2020-03-27 14:47:14 +08:00
|
41
LokiSharp 2020-03-27 14:50:50 +08:00 via iPhone
@Jirajine 你如果了解一下,你会发现 Kotlin 的历史包袱更重。由于逃不出 JVM 的魔咒,导致很多预想的特性都没法实现,所有的特性都是给 Java 加糖。
|
42
Rwing 2020-03-27 14:53:18 +08:00
@hantsy 既然有比巨人更高的人,那为什么不选择他呢?所以还是惯性,跟语言是否优秀无关。
java8 及之后还是太慢了,还差的远啊,步子还这么小。 我拿我在这里之前的一个回答来举例,按日期分组求和,看看 C#是否简洁明了? https://dotnetfiddle.net/zUSwU7 ``` var data = new List<Sample> { new Sample {id = 1, date = "02-10", clicks = 1, views = 2}, new Sample {id = 1, date = "02-10", clicks = 2, views = 2}, new Sample {id = 1, date = "02-19", clicks = 3, views = 2}, new Sample {id = 2, date = "02-11", clicks = 4, views = 2}, new Sample {id = 2, date = "02-11", clicks = 5, views = 2}, }; var result = data.GroupBy(i => new { i.id, i.date }) .Select(g => new Sample { id = g.Key.id, date = g.Key.date, clicks = g.Sum(i => i.clicks), views = g.Sum(i => i.views), }); ``` |
45
guolaopi 2020-03-27 14:56:41 +08:00
@hantsy
C# 转 java 是更容易,但是 java 面试题是真的一言难尽。。。Go 目前感觉面试还没有到让你造核弹的地步。 从 C#转到 java 是一回事,转完之后找工作又是一回事, 可能你会发现你对 java 语法或者 spring 等用的很熟练了,面试官一个 Map 源码的问题甩出来,各种分布式事务锁原理实现问题甩出来。。。。而且传言多数 javaer 看不上从 C#转过去的开发= = 就业岗位多不代表就业就容易,面试门槛越来越高了(不知道跟过滤培训班是否有关 |
46
guolaopi 2020-03-27 14:58:51 +08:00
@Jirajine
建议了解一下 async/await 以及 x?.func() 等语法糖,js(TS)和 python 都在借鉴 C#一些优秀的设计,这是事实。 |
48
opengps 2020-03-27 15:01:44 +08:00
只是不热衷于互联网风口,毕竟做到一定规模需要正版
|
49
hantsy 2020-03-27 15:02:27 +08:00
@LokiSharp 语法上 Kotlin 优雅简洁一些,运行时 Kotlin 可以跑 Native 的,Kotlin 自己就是 Native 项目。
另外,Oracle 有一个 GraalVM,借助基本上 Java 8,Java 11,Kotlin 跑纯 Native 一点问题都没有。现在很多框架支持 Graal 了。Quarkus,Micronaunt, Helidon 从开始就支持,Spring 现在也在 Experimental 阶段。 |
50
guolaopi 2020-03-27 15:02:35 +08:00
@Rwing
import fucker from "whatever_fucking_thing" result = fucker.group_and_sum([{id = 1, date = "02-10", clicks = 1, views = 2}....]) 公众号宣传标题可以起名:“天啦噜,一行 python 代码搞定 C#16 行代码才能完成的事....” (滑稽 |
51
LokiSharp 2020-03-27 15:04:01 +08:00 via iPhone 4
@guolaopi 我觉得 C# 光十年前的 LINQ 这一个特性从先进性上就够吊打他说的所有语言了
|
52
jtwor 2020-03-27 15:04:34 +08:00
c#语法糖很舒服的~
|
55
guolaopi 2020-03-27 15:06:53 +08:00
|
56
hantsy 2020-03-27 15:07:17 +08:00
以前 Hibernate,Spring 都有 。net 版本,现在还有人用吗?
|
57
aguesuka 2020-03-27 15:09:28 +08:00 via Android 1
sg:lgd 硬实力是冠军。 v2ex:单论语言,c#差这几个?
|
58
LokiSharp 2020-03-27 15:10:16 +08:00 via iPhone
@hantsy 讲真的。。。Kotlin Native 有人用么,没有 JVM 的生态,我觉得 Kotlin 没法用。JB 自家出的 Ktor 和 Exposed 我也只看到 JB 自己在用。
Kotlin 还有个问题,JB 负责人 Kotlin 的核心团队很多是说俄语的斯拉夫人。。。有些东西的文档只有俄语 |
59
iriyave 2020-03-27 15:15:35 +08:00
c#在 win 上确实 NB,之前一直用的 QT,后来了解了下 xaml 和 prism,感觉思想先进的多,prism 那套 di 配 module 解耦在 qt 里想实现还是挺麻烦的。唯一不爽的就是 xaml 的 xml 语法了,真的难看,这点 QT 的 qml 可读性要好的多,写出来很像 c++代码,可惜 qml 算个半成品,等 QT6 出来再看看。
|
60
EKkoGG 2020-03-27 15:52:17 +08:00 2
抛开偏见,.net core 真的很棒
|
61
dhssingle 2020-03-27 16:07:06 +08:00
真要说生态也就 Java 比 C# 强,想不通为啥说弱。
|
62
charlie21 2020-03-27 16:40:41 +08:00
从历史角度,微软背书的编程语言嘛
自成一派,和其他任何语言是门派不同。意识到门派化了还说什么呀 不是同一个门派的人还说什么 |
64
hippieZhou 2020-03-27 16:57:46 +08:00
5 年 .NETer,不受待见倒没觉得,但是岗位少确实是真的,尤其是合适的岗位
|
65
rioshikelong121 2020-03-27 17:03:04 +08:00
后续比较看好.NET 系的发展 阿三上台以后大动作不断。
|
66
Jooooooooo 2020-03-27 17:17:30 +08:00
确实不行
找不到工作 |
68
JB18CM 2020-03-27 17:51:29 +08:00
不知国内大厂有哪个使用 C#的, 好像没有.
|
69
charlie21 2020-03-27 18:35:53 +08:00
微软没有给人们选择 C# .NET 的机会,Oracle 给了人们选择 Java 的机会
|
70
xuanbg 2020-03-27 19:27:18 +08:00
企业开发比较多,互联网公司基本不用。国内大厂的话,以前携程是,但已经转 Java 了。据说腾讯有些项目是.NET 的。
|
72
JohnChiu 2020-03-27 23:13:36 +08:00
做游戏的话,国内 C#占据了大半江山,Unity 选择 C#也能说明 C#很不错吧。
|
73
ragnaroks 2020-03-27 23:21:40 +08:00
国内确实不多,但是绝对不是"少",实际需求和你在各种网站里面看到的广告可差别太大了
C#唯一的问题就是硕大的运行时,虽然 java 的更大更丑陋 |
74
wanguorui123 2020-03-27 23:26:28 +08:00
C#写的代码挺简洁的,就是被微软的尿性,搞砸了。每次微软都有一副好牌,全部被打的稀烂!如果当初全平台无缝支持,现在也没有 JAVA 什么事情
|
75
begga 2020-03-27 23:56:11 +08:00
以前没有云服务器,微软查盗版查的厉害,我们公司就被查了好多次,后来就都转成 java 了。
|
76
xcstream 2020-03-28 00:21:56 +08:00
C# 是个很强的语言 只是默认绑定了 windows 平台,
|
78
zjsxwc 2020-03-28 07:45:57 +08:00 via Android
Windows phone 凉凉
|
79
jatai 2020-03-28 08:58:09 +08:00 via Android
楼主问 .net 是不是岗位少,楼上一群大佬(傻 diao)在吹自己用的语言如何如何优秀,这就是 v2 常态🐶
|
80
stoneabc 2020-03-28 10:04:54 +08:00
微软早个七八年开源.net ,现在就完全不一样了。。
|
81
shijingshijing 2020-03-28 10:14:18 +08:00
@guolaopi 不看应用场景,单论语言和开发效率,C#配合 VS 写起来真的是行云流水。
从应用场景和生态来看,C#国内的主战场还是在桌面应用开发这一块,国内基本上很难看到拿 C#来写 web 的互联网公司了,再加上微软在 Mobile 方面一错再错,因此互联网这一块微软其实没什么优势了,现在就看微软如何利用 Office 和 Azure 制造翻盘机会了。 从就业市场来看,分两块,一是从求职者角度,Java 不仅后端吃香,稍微学一下 Android 框架也能写移动端;二是从公司角度,Java 轮子多,流水线操作,人力充沛,不选 Java 选什么?而且选择 C#意味着我还需要额外付一笔钱去购买操作系统、开发环境等等。 至于求职面试,现在不仅很难找到 C#的程序员了,而且对 C#的要求其实比写 Java 的要求低多了,举个例子,都是招 2-3 年经验的程序员,C#基本上就问问项目和 .Net framework 的内容吧,而 Java 除了项目和轮子,一般都还要问问 JVM 吧,如果换做 C#的话,那就要问 CLR 和 MSIL 。 只能说微软错过了太多机会,自己挖坑弃坑又太多,耽误了 C#这门优秀的语言了。 |
82
wangbudong 2020-03-28 10:34:10 +08:00
都是微软闭源闹的,现在好了,开源了。开源+微软这个大佬+c#本身优秀,还有现在有.net core 。真不觉得会输给谁,输给当前的环境咯?
|
83
g00001 2020-03-28 10:50:50 +08:00
C# 用来写一般的桌面软件有点杀鸡用牛刀 - 有时候反而浪费时间。
让公司里一个员工写个小桌面软件,他非要用 C#,还说 C# 是微软的亲儿子效率高开发工具强大,他用 C#什么都能做什么都能解决,结果搞了一个月没搞好每天磨蹭,最后还是让其他人拿了 aardio 搞了一下,不到一天就写好了。 |
84
ifxo 2020-03-28 11:05:49 +08:00
岗位都被占满了,给你留的少
|
85
encro 2020-03-28 11:12:06 +08:00
|
86
shijingshijing 2020-03-28 11:17:23 +08:00
@g00001 他说的没错,开发慢估计他不熟悉 C#,稍微要做点异步或者底层操作,C#和其他语言就高下立判。
|
87
GTim 2020-03-28 11:18:50 +08:00
.net 哪里不受待见了?只不过用这些人的,几乎都成家了,都是在国厂里,他们一天到晚围着家庭转
|
88
dbskcnc 2020-03-28 11:28:42 +08:00
|
90
leeeeee 2020-03-28 11:36:22 +08:00
目测有撕逼的趋势,我先来,PHP 是最好的。
|
91
LokiSharp 2020-03-28 11:37:46 +08:00 via iPhone
@shijingshijing 不用和他理论,他这个号的发帖历史记录,从第一条到现在都是在推广他的玩具语言
|
92
cabing 2020-03-28 11:38:13 +08:00
国外还是挺流行的。
微软出来的基本自带生态链的感觉。。 |
93
g00001 2020-03-28 11:38:56 +08:00
@shijingshijing
他不是不熟悉 C#, 他是四十多岁的老程序员了 - 玩了一辈子 C#,所以他很自信用 C# 无所不能,但没有一个编程语言什么都能解决。C#很强大那是肯定的,我觉得比 aardio 这种只有 6.5MB 的小型开发环境肯定是强大万倍, 但有时候太强大了 - 也会带来麻烦,例如 C#简单的调用个 WINAPI 语法都很啰嗦,就不要说异步底层什么的了。 |
95
TimeRain 2020-03-28 11:50:41 +08:00 via Android
制造业和外企很多用,不过工资整体来说还是 java 好,java 的生态也更完善
|
96
g00001 2020-03-28 11:54:54 +08:00
LokiSharp 果然一钓鱼,你马上就来咬了,哈哈哈,昨天不是喷的很猛吗,怎么最后哑了?!本来我就没有兴趣推广 aardio,不过看你积极的搞一言堂和政冶审查,所以特意发这个回复来逗你玩。昨天的怎么不喷了?!不是说玩具语言吗?哟,玩具语言有很多人喜欢,要不要我找更多来?!找了你又说是推广是吧?!逗逼了,中国的编程论坛,我只提了一个国语语言的名字 - 压根就没有任何说他好的话,你就狂咬了一天。
本来就没想在这里讨论 aardio, 你非要一直踩,那就不好意思了,你踩的太用力,就不要管旁人有所回应。一言堂从来不是我等的追求。 这又是一个 python 用户写的(还是把所有桌面软件玩了个遍的用户): -------------------------------------------------------------------- 前阵子在用 python 写一些小程序,写完后就开始思考怎么给 python 程序配一个图形界面,毕竟控制台实在太丑陋了。于是百度了下 python 的图形界面库,眼花缭乱的一整页,拣了几件有“特色”有“噱头”的下载下来做了个 demo,仍旧不是很满意,不是下载安装繁琐,就是界面丑陋或者难写难用,文档不齐全。后来那天,整理电脑文件发现了 6 年前下载的 aatuo (现已更名 aardio ),顿时一阵惊喜.....先说说 aardio,2011 年 7 月的时候,它还叫 aauto,那时的自己还醉心于开发桌面应用,VC++( MFC ),C#( Winform ),Java ( Swing ),Delphi 都被玩了个遍,偶尔网上百度到了 aauto,下载下来试用了下,你会被它的 IDE“免安装”和“使用友好”感动到,而且最终发布的 EXE 文件也很小,确实是一个很适合开发小工具或者小应用的语言。后来,aauto 更名为 aardio,我也有幸成为目睹 aardio 一路成长的开发者。 这又是网上一个 delphi 用户写的: -------------------------------------------------------------------- 用了 n 年 delphi,比 delphi 用起来爽太多,方便太多。解析型自动释放内存,面向对象,丰富的类库函数,简洁的语法,强大的 table,table 和 php 的 array 很像,用起来很方便,json 函数很方便地 json 字符串和 table 互换。。。方便的东西太多了,桌面软件开发者有福音了,从此抛弃 delphi 哦,这种评论我能翻出好几页 - 当然你都要说是推广水军了, 有意思,这么努力地踩这么个免费个人软件,有人给你钱吗?! |
97
g00001 2020-03-28 12:03:45 +08:00
https://v2ex.com/t/656419?p=1
不发一下链接,都对不起你上一堆小号相互点赞这么努力的喷一天,你可以一直跟着我,我真不介意身后跟个小“保姆”,太逗了 |
98
Cloutain 2020-03-28 12:23:29 +08:00
C#这门语言很强,.NET 这个平台也很强。
|
99
guolaopi 2020-03-28 12:23:37 +08:00 1
@shijingshijing
.net core 之前,买服务器或者 ide 确实要钱, (但是云服务器和社区版 VS 了解一下,就我接触的圈里还没听说过掏钱买 vs 的 .net core 之后跑 Linux 完全没问题,docker 甚至 iot 都可以直接在 linux 做, 且完全可以用 vscode 来开发。。。这种问题希望不要再提了。。。 况且昨天还见一 java 老哥以付费购买 jb 家的软件开发为荣,说.net 连个 ide 都不舍得买。。。 另外说一句会被喷的话, 我不觉得面试被问 jvm 有什么自豪的,甚至很反感,这也是我一直对转 java 找工作面试时的蛋疼的点,为什么一门语言不是关注特性和设计思想,而是天天把调优虚拟机挂在嘴边,甚至调优虚拟机等都成了入门门槛? |
100
g00001 2020-03-28 12:27:14 +08:00 1
C#虽是 Windows 的亲儿子,不过令人意外的是,他写桌面软件并没有想象的容易。
我举一个最简单的例子,调用 Windows API,一个非常简单的 API,C#代码主要如下(因为还要写类这些,实际代码更多) public struct Point { int x; int y; } [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern bool GetCursorPos(ref Point point); Point point = new Point(); bool result = GetCursorPos(ref point); 但如果我们用玩具语言 aardio,只要一句代码, aardio 实现同样功能的代码如下: var ret,point = ::User32.GetCursorPos({int x;int y}) 我再上一个稍微复杂一点的例子,桌面软件最常用的多线程异步、图标字体、按钮动画等等,用 aardio 编写只要数句代码,我写了一个非常简单的例子: 这样短短的几句代码就可以创建一个小的桌面软件,只要一页代码。 发布的 EXE 也非常小,不需要.Net 运行库,可以支持 XP 到 WIN10 的所有操作系统。 我再发一个稍微复杂一点的开源软件例子 wubi-lex 发行体积只有非常小的 820KB, 仅仅相当于一个普通的 JPG 图像文件那么大。 所以有时候,只是写点玩具的时候,我还是喜欢用 aardio 这样的玩具语言比较省事。 |