C#好像在互联网上超不受待见啊,比如各种文章分析默认无视、各种文档工具默认无视……

2017-06-22 09:13:41 +08:00
 Rice
C#好像在互联网上超不受待见啊。
比如,我看一文章,说是编程语言排行榜,C#第五位、第六位的样子
然后作者把上面的几种热门语言介绍一遍,连 Ruby 都提及,唯独就把 C#给忽略了……
如果是个例那倒没什么,只不过,我发现很多文章讨论热门编程语言的时候,都选择性忽略了 C#
还有就是有些文档和工具,上面有很多语言工具库的文档,唯独就把 C#忘记了。
C#明明很多人用,在互联网上的应用及讨论却很“冷门”。
11905 次点击
所在节点    程序员
122 条回复
johnny23
2017-06-22 13:56:39 +08:00
@neutrino c#6.0 对 getset 又有增强...有一本书讲 c#新版本特点的 叫做深入了解 c#第三版 里面把到 6.0 版本的所有的都讲了一道 每次版本升级 那语法真是一种享受 现在 7.0 也出来了 开发起来真是流利啊
webcoder
2017-06-22 13:59:05 +08:00
我这边公司招不到.net 的人。所以强制转 php,好悲痛,写了快十年的.net 了,现在要换..
mooncakejs
2017-06-22 14:00:58 +08:00
不看广告看疗效,,,中国的互联网公司,巨大的那几个都不玩.net 他们的员工跳出来或创业或带队,都不用.net,所以活不起来。
johnny23
2017-06-22 14:04:08 +08:00
@neutrino var 用于匿名类型 比如你不需要对一个对象定义 比如你可以在运行的时候 直接 var person={name="johnny",age=32}
这样构造 比如在写 webapi 的时候 直接创建这样的对象 json 序列化以后输出 非常灵活 sync await 用于多线程异步 没有特别需求一般用不上 这个是把以前需要用 beginXxx 方式的异步操作模式 来弄的事情直接在语法上就可以搞了
johnny23
2017-06-22 14:10:17 +08:00
@neutrino 至于 linq 这东西熟悉了 lamda 语法以后用于操作集合对象太方便了 例如 list.where(o=>o.age>20)直接取 list 中大于 20 岁的数据 想想以前还没有 linq 的时候 得用遍历的方式判断一圈后才行..
sagaxu
2017-06-22 14:18:01 +08:00
@mooncakejs 硅谷的也差不多啊,google 和 fb 以及 aws 等等,也都远离 M$技术栈
sagaxu
2017-06-22 14:19:53 +08:00
@johnny23 语法改进这东西见仁见智,Java 万年不变的罗嗦语法,还有人觉得可读性高呢。如果语法很重要,scala 早就取代 Java 了,那可是 Java 的生态加上现代的语法。
sagaxu
2017-06-22 14:21:30 +08:00
@johnny23 C#的语法比 Java 领先 10 年以上,只可惜被生态拖累了,当年如果 C#一出来就是全平台的,可能现在都没人用 Java 了
johnny23
2017-06-22 14:28:41 +08:00
@sagaxu 嗯 主要我一直走这条技术路线 这几年 c#语法的变化我的感触是真切的...java 我也用 主要是单位的系统是用 java 每次写 java 我都是要死不活的...感觉好累
Zzzzzzzzz
2017-06-22 14:28:54 +08:00
生态缺失其实也怪不了谁啊, 当年桌面开发概念的疯狂迭代、ASP、vbscript、silverlight、WINCE/WM、WP。。。一路挖矿弃坑, 后来被坑出阴影的一代能主导项目了, 当然会本能性规避了....这种不信任感需要时间冲淡的, 就巨硬最近几年的情况, 感觉过个三五年应该能好点
fly2never
2017-06-22 14:32:50 +08:00
@est tang4c?
johnny23
2017-06-22 14:33:14 +08:00
@Zzzzzzzzz 哈哈哈 那些坑我都完美跳过了...那些坑确实把技术人员坑得够呛
10Buns
2017-06-22 14:34:20 +08:00
@xss 官方宣布跨平台才几年?请不要嘴炮
10Buns
2017-06-22 14:35:19 +08:00
@est json.net 还可以吧
Biny
2017-06-22 14:36:47 +08:00
@xss .net core 2.0 都出了,多看看新聞。
wayne712
2017-06-22 14:37:04 +08:00
@neutrino , 推荐你这本书[]( https://www.amazon.cn/gp/product/B00J94AG2A/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=536&creative=3200&creativeASIN=B00J94AG2A&linkCode=as2&tag=vastwork-23)
简单介绍几个特性:
- async await, 以同步的方式写异步函数,其他语言也在加入类似的特性。例如 EntityFramework 中提供的 API 几乎都有一个 async 的版本,调用这些异步版本的 API 只需要加上一个 await 关键字即可。
- var、匿名对象、linq 结合一起可以写出这样的语句
```
var data = from item in context
where item.foo == 'bar'
select new { result = item.a + item.b }
// 因为 new 的是匿名对象事先并没有定义这样的类型,这个时候幸好有 var, 编译器会帮我们声明这个类型。
// 这样写法实际中没什么意义,纯粹表达特性的其中一种简单用法
```
- struct 值类型用于定义一些不可变的类型,例如 DateTime 就是 struct 类型, 除了不可变的好处之外,值类型是通过栈分配空间,不需要 GC 回收,性能自然比 class 类型要好。
Biny
2017-06-22 14:37:37 +08:00
@est 自己沒試過不要忙住下結論
bombless
2017-06-22 14:39:27 +08:00
微软系还是比较热衷闭源……
说实话应该挺适合国内一些公司的……
orderc
2017-06-22 14:45:21 +08:00
二线城市用 c#,找不到工作
Phariel
2017-06-22 14:50:29 +08:00
讲真 我宁愿写 C 夏普也不愿写 Java 好太多

但生态最重要 微软都吹了这么多年了 然而。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/370201

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX