V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
imwower
V2EX  ›  程序员

请问 V2 上 C#党多么。。说说对未来的想法呗= =

  •  
  •   imwower ·
    imwower · 2014-07-17 12:03:23 +08:00 · 9750 次点击
    这是一个创建于 3784 天前的主题,其中的信息可能已经有所发展或是发生改变。
    包括但不限于WPF、asp.net、asp mvc、windows phone等。
    看看各个招聘帖,基本都是只要PHP、android、IOS或者python ruby的,
    难道C#党都没人要了么?。。
    80 条回复    2014-07-18 21:10:04 +08:00
    datou552211
        1
    datou552211  
       2014-07-17 12:10:31 +08:00 via iPhone
    c#。正在积极转平台,windows开发你只能知道怎么做,却不知道为什么。
    multiple1902
        2
    multiple1902  
       2014-07-17 12:28:43 +08:00
    @datou552211 呵呵。
    ipconfiger
        3
    ipconfiger  
       2014-07-17 12:33:14 +08:00
    swift你一定喜欢
    jiangpeng
        4
    jiangpeng  
       2014-07-17 12:35:39 +08:00
    @datou552211 为什么?
    multiple1902
        5
    multiple1902  
       2014-07-17 12:37:47 +08:00   ❤️ 1
    我猜是因为用 Swift 你不仅能知道怎么做,还能知道为什么。
    dong3580
        6
    dong3580  
       2014-07-17 12:40:16 +08:00
    C#,正在边做边转,所有代码尽量少用C#多用json到前台jq处理,能用html全都不用aspx了。
    Quaintjade
        7
    Quaintjade  
       2014-07-17 12:40:41 +08:00 via Android
    .NET工资高,所以招的少吧。
    C#刚入门,感觉开发环境很舒服
    mhycy
        8
    mhycy  
       2014-07-17 12:46:02 +08:00   ❤️ 1
    .NET。。。我只会在做桌面应用的时候想到他
    shadowzcw
        9
    shadowzcw  
       2014-07-17 12:48:27 +08:00
    微软不跨平台,软件也价格不菲,自然用的企业就少。
    当然资深的.NET平台开发者也不会只局限于MS平台。
    multiple1902
        10
    multiple1902  
       2014-07-17 12:50:52 +08:00
    @shadowzcw 微软跨平台,软件很便宜,自然用的企业很多。
    yueyoum
        11
    yueyoum  
       2014-07-17 12:52:14 +08:00
    对微软那一套不懂

    如果微软将 .NET 支持到各个平台, 包括 linux和 mac
    那么 C# 的应用将会广的很多。

    我知道有MONO,但MONO也有自身的问题,还是不能替代 .NET

    当然了,微软这么做以后,用C#的项目 也就不用windows服务器了。



    但为了让别人用自己的windows,就把 .NET平台锁死在 windows上,
    我个人觉得是个不明智的做法。

    比如 适马最近出的黑科技镜头 效果比原厂的好,价格只有三分之一甚至更低。
    尼康居然在新出的相机上 不支持 适马镜头的 防抖和自动对焦!!!


    这个时候就算再喜爱尼康,也忍不住要骂了
    multiple1902
        12
    multiple1902  
       2014-07-17 12:54:45 +08:00
    为了让别人买自己的 iPhone,就把 iOS 平台锁死在 iPhone 上,我个人觉得……
    kmvan
        13
    kmvan  
       2014-07-17 12:59:29 +08:00 via Android
    我的机器打开vs,都要几分钟才能显示界面,太庞大了。
    wzxjohn
        14
    wzxjohn  
       2014-07-17 13:01:05 +08:00
    看了回帖发现一大堆的人都认为C#只能在Windows平台上用。。。Orz。。。这是误解有多深哦。。。
    multiple1902
        15
    multiple1902  
       2014-07-17 13:03:44 +08:00
    @wzxjohn 不是误解,是故意假装看不见。
    tjmao
        16
    tjmao  
       2014-07-17 13:06:35 +08:00 via iPhone
    首先C#的语言规范写得很优秀。巨硬的文档管理向来比那些开源厂商有序到不知道哪里去了。

    我觉得巨硬好冤枉啊。.NET CLI的多数细节是公开的(ECMA),也提供了1.0和2.0的跨平台实现代码供研究和参考。Micro Framework也是开源的,Apache License。虽然细节公开,其它厂商估计考虑到成本和战略因素懒得动手实现,微软见你们大家都不积极就失望地自己单干了。
    timothyye
        17
    timothyye  
       2014-07-17 13:07:42 +08:00
    目前C#仍然是主业,正在学习golang,以及web开发相关知识
    ksword
        18
    ksword  
       2014-07-17 13:11:40 +08:00
    已转php,互联网公司用.net的太少了,当然学unity也是不错的选择
    multiple1902
        19
    multiple1902  
       2014-07-17 13:13:08 +08:00
    @tjmao 人家这不是捂着眼睛假装没看见嘛。学 C# 多傻啊,微软的平台学不到东西的。
    Narcissu5
        20
    Narcissu5  
       2014-07-17 13:19:45 +08:00   ❤️ 1
    @Quaintjade 90%的公司采用.net就是看中程序员便宜,.net码农一直就是码农中的屌丝
    Narcissu5
        21
    Narcissu5  
       2014-07-17 13:21:26 +08:00
    @datou552211 《windows internals》看完了?
    datou552211
        22
    datou552211  
       2014-07-17 13:27:20 +08:00 via iPhone
    @multiple1902 ==我少了个前提,和其他开源项目作对比。诟病与dll
    multiple1902
        23
    multiple1902  
       2014-07-17 13:28:54 +08:00
    @datou552211 太好了,你提到了 DLL。有什么比 Windows 的 DLL 处理方法更好的方法吗?

    希望你不是说 Linux / OS X / Solaris / BSD 上没有 .dll 文件所以没有这个问题。
    reeco
        24
    reeco  
       2014-07-17 13:31:34 +08:00
    我觉得C#还不错
    likaci
        25
    likaci  
       2014-07-17 13:34:01 +08:00
    VS和C# 确实是很好的入门工具/语言
    写代码,F5,加断点,啪啪啪。
    lm902
        26
    lm902  
       2014-07-17 13:42:11 +08:00   ❤️ 1
    我大.NET程序猿前途一片光明,不可限量。总结完毕。
    MForever78
        27
    MForever78  
       2014-07-17 13:43:14 +08:00
    @multiple1902 能好好说话吗,阴阳怪气的。说自己的观点能不讽刺别人吗
    multiple1902
        28
    multiple1902  
       2014-07-17 13:45:01 +08:00
    @MForever78 好的。
    knightluffy
        29
    knightluffy  
       2014-07-17 13:48:45 +08:00
    @shadowzcw 用的企业少..美国大多数不差钱的金融企业用的都是MS的东西...其实我朝也是..
    dong3580
        30
    dong3580  
       2014-07-17 13:50:01 +08:00   ❤️ 1
    @MForever78
    这就不懂了吧,人家这是高级黑。
    既然说到讽刺,我想说另外一点,.NET程序员素质真的很差,不信,你可以尝试在V2发个贴说java是最好的语言,C#不行;然后在cnblogs发个同样的贴。看看素质对比,可以证明出C#社区素质明显低下,这也是C#群体性问题,工资低除了技术性的,素质上也可以看得出了。
    love
        31
    love  
       2014-07-17 13:51:54 +08:00
    曾经的多年MS平台程序员路过,现在资深MS黑,别问我为什么,学开发请尽量远离MS~
    jarlyyn
        32
    jarlyyn  
       2014-07-17 13:53:42 +08:00
    C#党是什么东西……
    程序员不是应该啥语言都能上手么,无非是库的熟悉程度不一样么……
    ipconfiger
        33
    ipconfiger  
       2014-07-17 13:53:56 +08:00
    @yueyoum 三句话不离本行啊
    shikailun
        34
    shikailun  
       2014-07-17 14:03:23 +08:00
    表示cnblogs社区那些.net程序员呐的素质呐, 唉
    wzxjohn
        35
    wzxjohn  
       2014-07-17 14:15:44 +08:00
    P9
        36
    P9  
       2014-07-17 14:16:50 +08:00   ❤️ 1
    @multiple1902 ”为了让别人买自己的 iPhone,就把 iOS 平台锁死在 iPhone 上,我个人觉得…… “
    这个理解我觉得不正确。

    苹果是整体(硬件和软件),整系统的出售给消费者的。并非只是侧重在硬件的贩卖上。
    jsonline
        37
    jsonline  
       2014-07-17 14:19:56 +08:00 via Android
    我已经抛弃C#两年了。。。
    pp3182429
        38
    pp3182429  
       2014-07-17 14:35:59 +08:00
    我只知道以前在VS里编译过的代码,后来自己尝试用gcc各种编译不过。。VS里养成了不少写代码的坏习惯,已经不用VS半年,但是在里面debug还是很爽的。。
    NCE
        39
    NCE  
       2014-07-17 14:38:16 +08:00
    10年C#党。

    已转PHP。
    multiple1902
        40
    multiple1902  
       2014-07-17 14:40:50 +08:00
    @P9 那这么说可以不可以:微软是整个解决方案(操作系统、数据库、应用服务器、开发工具)出售给用户的,虽然不是说硬件和软件,但是也不是只有 Windows,而是操作系统和以上的各种组件。我并不觉得这个「整体」跟「硬件和软件构成的整体」不能比较。

    所以说微软既然已经有 Windows 的话,开发个 .NET 自然是在 Windows 上为主。微软没给别的系统写 .NET 不能说成是「锁死在 Windows 上」吧。开发软件是要花钱的,何况微软也并不是没有支持 Mono 的开发 —— 微软不会利用专利控告他人实现 .NET 里的专利技术。

    @MForever78 @dong3580 我也不想讽刺的,无奈人们喜欢选择性无视,比如「Windows 开发你只能知道怎么做,却不知道为什么」这样。想学的人都能知道,不想学的人换什么平台都不知道。你看我用「微软跨平台,软件很便宜,自然用的企业很多」来回复「微软不跨平台,软件也价格不菲,自然用的企业就少」,多和谐呀。
    loryyang
        41
    loryyang  
       2014-07-17 14:45:18 +08:00
    实习的时候做过,感觉C#的开发特别舒服,整套平台做的不错。只是,更新换代也太快了点,各种新东西层出不穷
    haoba
        42
    haoba  
       2014-07-17 14:47:08 +08:00
    呵呵,,好多年没写C#的东西了。
    dong3580
        43
    dong3580  
       2014-07-17 15:07:25 +08:00
    @multiple1902
    其实win是个相当不错的平台,但是MS却是个坑队友,导致用户和开发人员为了更好的兼容和体验需要不断的砸钱升级。用着盗版当然不用考虑,但是未来必然要走向正版,所以这就导致.NET程序员不断发现,这一块走不通了。Mono方案并不能代替.NET,两者的.NET并不是一样的,而且同样有技术性的坑。所以。。。诶,既然不是诺基亚,多掌握一点语言多给自己留条后路,面对这么多坑,解决坑所消耗的经历还不如去学习一门语言,所以,顺便还是转吧,
    multiple1902
        44
    multiple1902  
       2014-07-17 15:15:12 +08:00
    @dong3580 「砸钱升级」这个点我不是太懂,不太理解它为什么是个缺点。生意上做决策不光看砸了多少钱,而是看赚了多少钱。赚钱多的话,砸钱也是值得的。所以这个 point 我真心不赞同。

    学习一门语言的话,别的语言就没有坑吗?别的语言可能不需要砸钱升级,但就不需要花时间继续学习新的知识吗?不是只有钱才是代价。而你这里提到了「转」,我唯一直接看出的就是省了「钱」,这样的话我觉得挺没说服力的。
    ravenw
        45
    ravenw  
       2014-07-17 15:25:44 +08:00
    用C#没问题,但要是自己把自己局限在了Win/.NET平台上,未来就呵呵了
    dbfox
        46
    dbfox  
       2014-07-17 15:28:35 +08:00   ❤️ 1
    我觉得 MS 产品很好用,我喜欢C#、 喜欢 .net Entity Framework MVC 还有好用的控件

    不仅仅是网站方面,还可以开发win 下的很多程序 wpf winform 等等等等

    服务器 也很好用,图形化界面 方便易用,不需要太多学习成本

    我觉得好用的产品是好产品

    数据库我以前用 mssql,现在觉得mysql做得也不错,功能选项比较直观,在windows 下也很好,现在管理工具好用了

    美中不足是不跨平台
    dong3580
        47
    dong3580  
       2014-07-17 15:37:08 +08:00   ❤️ 2
    @multiple1902
    .NET中cnblogs社区的连续反问作风被你学到了,不要问这么多,自己想答案,.NET,局限性在win/iis上了(不要提“mono”跨平台哈)。
    来,欣赏一下.NET社区的攻击性言论,反正我在v2ex看到的少:
    http://www.cnblogs.com/zlfucku/p/3254185.html
    http://www.cnblogs.com/subwayline13/p/3255345.html
    icedx
        48
    icedx  
       2014-07-17 16:02:00 +08:00
    C#没有未来
    tjmao
        49
    tjmao  
       2014-07-17 16:14:57 +08:00 via iPhone   ❤️ 1
    @dong3580 API冻结和技术革新不冲突。同一代产品API理应稳定,而新生代产品必须具备前瞻性,现在不怎么用到的功能,过几年或许会成为主流。另一方面,时代总在进步,技术创新推动了业界发展,新旧版本之间存在重大改动是自然的。

    你说兼容性吗,1998年写的VB6程序,到了现在2014年,Win8.1u1仍然支持运行。非常良心吧。
    skingtree
        50
    skingtree  
       2014-07-17 16:22:28 +08:00
    为了unity而用
    min
        51
    min  
       2014-07-17 16:44:03 +08:00   ❤️ 1
    非互联网企业
    erp用jde,通过biztalk server和其他系统连
    后台关键业务系统完全自研,基于微软系统,各种c# wpf wcf SQL server
    前端网站用asp.net 应该都进化到mvc了
    mobile用hp的一套技术做手机和平板app

    前一家公司也类似,erp是sap,其他方面类似。由于历史长,有少数系统是vb和cpp写的,也还能用。
    Funni
        52
    Funni  
       2014-07-17 16:51:05 +08:00
    未来怎么样很难说,10年PHPer用过一年C#,觉得 .NET C# 的MVC开发效率太高了。。。另外VS也是见过最好的IDE,没有之一
    mimzy
        53
    mimzy  
       2014-07-17 16:55:46 +08:00
    我是刚工作一年的 .NET 程序员,开发 WPF 程序。很大一部分 .NET 程序员确实眼界太窄了,而且学得不够深入(也包括我自己)。但 C# 和 WPF 我觉得都是好东西,真的没必要黑微软。至于前途,只要肯努力钻研,广泛涉猎,几乎任何一种语言都是光明的吧。
    mwylaoma
        54
    mwylaoma  
       2014-07-17 17:09:11 +08:00
    c# 开发效率还是挺高的,IDE也好用,当然JAVA的 Idea也好用,正在努力再次学习JAVA和准备学习一本脚本语言和ios开发
    Funni
        55
    Funni  
       2014-07-17 17:14:51 +08:00   ❤️ 1
    @mwylaoma 专心java就好,脚本语言不需要学,因为。。。。。实在太简单了。

    难的部分是在分析和方案,解决问题的能力方面,这个和语言的关系就不大了。
    zkd8907
        56
    zkd8907  
       2014-07-17 17:15:07 +08:00   ❤️ 3
    =。= .net程序员路过
    从早期的winform到wpf,asp.net到mvc,再到现在的wp/win8,基本上全搞过。
    其实我想说,巨硬的东西,给一般开发者提供的东西太好用了,封装得也很全,确实会导致一些程序员忽略了巨硬大礼包背后的东西,但是这不能怪巨硬啊。举asp.net来说,上到web常用的元素下到http连接控制,业务里不管是读写数据还是身份验证,巨硬都帮你直接打包搞定,在企业开发的时候效率高这是没话说的。但是打包的这些东西,要么提供了一堆接口让开发者去自定义,要么你自己用Reflector去看MS怎么实现的自己再封装一套。大部分asp.net开发者了解到request和response就完了,但是IIS怎么把请求转到request上,中间经历了哪些步骤,这些步骤可不可以自定,或者自己接管http请求,这些细节的东西根本没去了解过。
    所以说,用巨硬大礼包学不到东西,真不是巨硬的错,该反思的是开发者自己。
    yinian1992
        57
    yinian1992  
       2014-07-17 17:53:56 +08:00 via Android   ❤️ 1
    因为 M$ 现在不够 cool,C# 的逼格不够高,甚至很 low。
    TMajier
        58
    TMajier  
       2014-07-17 17:59:09 +08:00
    @multiple1902 确定!swift也是高级语言,怎么会能够知道为什么呢,而且很多东西还参考了c#和java!
    semicircle21
        59
    semicircle21  
       2014-07-17 17:59:26 +08:00   ❤️ 1
    @mimzy 好好学习C#, 你的前途是光明的, 至于C#, 就不一定了..

    说多了都是泪, C#和MS一套环境是把开发者伺候的最好的, 用起来最舒服的, 奈何Win的市场搞得不给力, 移动端没有用ObjC开发App赚得多, (又一次, 对这个money talks的世界感到失望...)
    服务器端规模大一点的, ASP.NET又hold不住, 导致很多场景下转向了Java和其他开源技术.

    再爽的开发体验, 没有需求也是白搭了...现在C#的问题就是, 需求量在逐渐衰退吧, 就连微软自己, 也搞什么Going native的运动, 简直了.
    semicircle21
        60
    semicircle21  
       2014-07-17 18:05:22 +08:00
    @mimzy 不好意思, 刚刚跑题了, 我的意思是, 像C#和Java这样的语言之间转换起来相对容易, 因为很像.
    jtacm
        61
    jtacm  
       2014-07-17 18:09:12 +08:00   ❤️ 1
    作为一个.NET程序员,我一般把.NET一般分为2个大块,一块是C#+ CLR,另一块是什么Sliverlight, WPF, WCF, Entity Framework, ASP.NET 等等其他队友。
    C#+ CLR这组合是相当牛逼的,从编程语言设计角度以及底层实现上来说,是相当优秀的,很多地方要甩出Java几条街。你真是不知道M$是花了多少人力物力在这个上面,而且请了很多相关方面的大拿在这里面。但由于它不开源(虽然最近才开源roslyn, https://roslyn.codeplex.com/,但只是给大家看看代码,几乎没有contribute), 也不跨平台(MONO不是官方full support),再加上运行平台Windows + SQL Server的成本很高,所以导致用的人不多(国内)。

    至于另一块什么Sliverlight, WPF, WCF, Entity Framework 和 ASP.NET等等,我就不做评价了,就像C罗在葡萄牙,你懂的。
    min
        62
    min  
       2014-07-17 18:23:42 +08:00   ❤️ 1
    下班路上更新
    最近好久没写code了,前段时间想去做架构设计,被招聘的bs了,性价比太低了:-S
    现在只好管人,不码c#了
    lz一道走到黑估计就像我这样了
    建议认真考虑js php oc流
    20150517
        63
    20150517  
       2014-07-17 18:36:04 +08:00
    @jtacm 瞎扯了,怪不得别人要骂.net程序员水平低.一个是语言,一个的framework,你这两块怎么放一起比较?你光有C#你没framework怎么写程序?
    lsj5031
        64
    lsj5031  
       2014-07-17 18:44:08 +08:00
    CLR不错……
    Quaintjade
        65
    Quaintjade  
       2014-07-17 19:05:41 +08:00 via Android
    @Narcissu5 好吧,大概是我样本偏差的关系吧。
    不是码农,所以不关注社会上的招聘信息,只是偶尔瞄一眼学校bbs上的招聘信息,看看不同行业的情况。
    knightluffy
        66
    knightluffy  
       2014-07-17 19:20:13 +08:00
    @semicircle21 c罗去阿根廷如何?
    semicircle21
        67
    semicircle21  
       2014-07-17 20:19:34 +08:00
    @knightluffy 什么意思?
    towser
        68
    towser  
       2014-07-17 20:34:38 +08:00
    优秀的现代编程语言哲学和实现、完善详尽的文档、迄今为止这个星球上最优秀的IDE。

    虽然不能跨平台是主要黑点,但有时候编程语言为了跨平台搞的不人不鬼,所以这事还是见仁见智吧。
    rannnn
        69
    rannnn  
       2014-07-17 20:37:44 +08:00
    c#和java比,语法优美太多了。。。
    jtacm
        70
    jtacm  
       2014-07-17 21:52:29 +08:00
    @20150517 ,请您看清楚再说话。我说的是C#+CLR是很优秀的,包括.NET Framework。另一块很烂和Sliverlight, WPF等并列的那个东西叫做“Entity Framework”。
    heqichang
        71
    heqichang  
       2014-07-17 22:11:09 +08:00
    c#是个好语言,vs是个牛逼的ide。
    感觉正是因为vs很牛逼,让人感觉写c#很low逼,没有程序员那种猛敲代码的geek范。
    ChiangDi
        72
    ChiangDi  
       2014-07-17 23:06:14 +08:00
    这里的招聘贴创业公司居多,所以用C#的比较少
    mathgl
        73
    mathgl  
       2014-07-18 00:44:38 +08:00
    C# 从语言和标准库api 来看比java要好。同样功能的代码行数短不少。
    4.0后增加不少动态语言的成分。适当利用。开发效率接近python。
    5.0 增加 async, 并发什么的也毫无问题。从语言演化的角度看java现在反而要学c#。

    当然 依赖微软的技术与否是另外一个问题了。
    akfish
        74
    akfish  
       2014-07-18 01:01:01 +08:00
    纯技术角度来讲,C#不管是语言特征、演化速度、还是工具链,没有第二种语言赶得上。如果你还跟风怀疑M$的技术实力,认为M$出品必属废品,那你真该考虑换换职业了。
    当然有人说C#不受待见是因为学习门槛太低导致大量低水平开发者,node用的js门槛更低笑而不语,也没见多少人喷。
    显而易见,败就败在M$的无脑黑太多了。

    当然我不会以C#/.Net平台为职业,我就折腾过.Net CLR的编译器而已。
    Panic
        75
    Panic  
       2014-07-18 08:54:45 +08:00
    我是微软无脑粉,虽然我没用过没学过C#, 但自从得到知乎vczh轮子哥的熏陶之后,确实觉得C#肯定在语言,开发层面上很有优势, 可能从一开始语言的设计上就甩了其他大部分语言一条街。但是入门的方便同时也带入了一大批初学者,导致整个大环境并不是特别待见C#开发人员。这个矛盾确实比较痛苦。
    cxshun
        76
    cxshun  
       2014-07-18 08:56:23 +08:00
    @datou552211 .net已经开源,你可以知道为什么的,但还不是完全的开源那种,只是代码放出来了,你能不能贡献代码就不清楚了。但其实就算可以贡献,有几个人会贡献。就跟Java一样,你可以知道为什么,但现实中有几个人会去深入。在国外,貌似.net架构师比java架构师工资高蛮多的,这里的.net我们就指C#吧,也包括ASP.net和其他的了。
    zkd8907
        77
    zkd8907  
       2014-07-18 09:27:40 +08:00
    @cxshun @datou552211 其实未必要等.net开源,用Reflector多xxoo .Net Framework,你可以理解非常多应用实现层面的原理。比如之前不太清楚await的机制,那就写一个await的小程序,然后用Reflector看编译后的代码,马上就可以理解到await其实在编译器上做了很多优化和xxoo的东西。至于CLR,把CLR via C#啃下来以后几乎就没遇到哪里难理解了。
    mx1700
        78
    mx1700  
       2014-07-18 11:01:14 +08:00
    已转PHP,c#工作机会太少。
    c#是个好语言,vs是个牛逼的ide。
    diffo
        79
    diffo  
       2014-07-18 11:55:54 +08:00
    生产环境用mono会不会被坑?个人觉得C#比Java好多了.....
    zhxiaog
        80
    zhxiaog  
       2014-07-18 21:10:04 +08:00
    我做了两年.NET,去年转Java。但是不得不说,.NET 前途一片光明。其实无所谓。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5548 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 08:25 · PVG 16:25 · LAX 00:25 · JFK 03:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.