V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
clockwork1122
V2EX  ›  问与答

为什么公共事业都喜欢用.net 开发?

  •  
  •   clockwork1122 · 2018-08-14 08:43:59 +08:00 · 5861 次点击
    这是一个创建于 2054 天前的主题,其中的信息可能已经有所发展或是发生改变。

    桌面编程用.net 写可以理解,但是为什么 B/S 架构的 Web 项目还 asp.net?大学自学的都是 java,刚毕业出来在一家做公共事业的公司,甲方都要求是 C#写的.个人觉得这种面向对象的语言除了语法差异外就是越多人用就越多框架和别人造的轮子.

    61 条回复    2018-08-14 22:33:16 +08:00
    mmm159357456
        1
    mmm159357456  
       2018-08-14 08:46:24 +08:00 via iPhone
    出活快
    kslr
        2
    kslr  
       2018-08-14 08:46:48 +08:00 via Android   ❤️ 1
    因为老人吧
    DT27
        3
    DT27  
       2018-08-14 08:49:13 +08:00   ❤️ 5
    .net 文档全,VS 宇宙无敌,IIS 也是亲爹养的,也很少有莫名其毛的坑。
    riggzh
        4
    riggzh  
       2018-08-14 08:50:07 +08:00 via iPhone
    你出钱重构?
    fisher335
        5
    fisher335  
       2018-08-14 08:51:00 +08:00 via iPhone
    我个人认为.net 死在了 vs 要收费上
    samaxu
        6
    samaxu  
       2018-08-14 08:55:41 +08:00   ❤️ 2
    同样在这样的公司里工作,我觉得原因主要有几点 可能和你情况不太一样
    1 历史遗留问题:稳定大于一切,以前使用.net 技术,那现在也是
    2 服务器很多都是甲方自己管理,那么 win server 是他们的首选 我们公司还自己开发了个管理 windows 服务的程序给客户使用
    3 与客户交接的人的能力问题 如果我这公司更换技术 最跟不上的就是给客户安装调试的那些人
    sonyxperia
        7
    sonyxperia  
       2018-08-14 09:08:05 +08:00
    我看杭州很多政务平台都是 Java 了
    zjsxwc
        8
    zjsxwc  
       2018-08-14 09:10:02 +08:00
    可能他们都买了 sql server 吧
    Mazexal
        9
    Mazexal  
       2018-08-14 09:11:44 +08:00   ❤️ 1
    .net 工资比 java 低
    开发 IDE 更加友好
    开发中小型应用足够而且稳定快速
    ytmsdy
        10
    ytmsdy  
       2018-08-14 09:17:50 +08:00
    公共单位的服务器一般都是 windows 的,减低维护成本。
    ioriwong
        11
    ioriwong  
       2018-08-14 09:27:11 +08:00 via iPhone
    实话说,C#真是一门好语言,可惜是 MS
    qilishasha
        12
    qilishasha  
       2018-08-14 09:31:22 +08:00 via iPhone
    是 java 多 而且都是清一色的 struts2 开发简单又能骗钱 但是一到漏洞披露的时候就不行了
    Mithril
        13
    Mithril  
       2018-08-14 09:43:44 +08:00
    开发是一方面,Windows + MS SQL Server + IIS 维护也要比 Linux 简单很多。
    特别是很多地方都没有专职的运维,都是 IT 兼职管理这些服务器。
    一般内网用 AD 的话 Windows Server 多少也能管理一下。基本的维护能做就行了。
    Cbdy
        14
    Cbdy  
       2018-08-14 09:48:48 +08:00
    工资低是真的,可能为了减少成本(有油水?)
    clockwork1122
        15
    clockwork1122  
    OP
       2018-08-14 09:52:47 +08:00
    @kslr 233333 还真是,公司领导是一些国企的员工出来的,都是三四十岁的开发...
    clockwork1122
        16
    clockwork1122  
    OP
       2018-08-14 09:53:51 +08:00
    @riggzh 现在就是重构...和开新项目,但是领导还是继续用 C#
    chinvo
        17
    chinvo  
       2018-08-14 09:56:51 +08:00   ❤️ 8
    “还 asp.net ”?

    Asp.Net MVC (with IIS) 的执行效率比 Java (with Tomcat) 高
    .Net 文档比 Java 全
    “官方” IDE 比 Java 强
    生态一点都不比 Java 差
    Nuget 库可是比 maven 高到不知道哪里去了

    Java 事实上比 .Net 更封闭,Oracle 以开源之名行封闭之实,各大公司在 JCP 博弈导致各种标准迟迟不能确定、确定的标准迟迟不能执行

    再一个就是管理,Asp.Net 程序的部署和日常维护可比 Java 简单多了

    另外 .Net Core 正在崛起,这是未来的大趋势,如果思想已经停留在 .Net Frameworks 2.0 的时代,只能说是固步自封
    clockwork1122
        18
    clockwork1122  
    OP
       2018-08-14 09:58:17 +08:00
    @Mazexal
    @Cbdy
    工资还好,刚毕业在某二线城市工资和生活成本比起来比北京还舒服。公司技术氛围不是很重,老板更喜欢让我们多琢磨业务
    clockwork1122
        19
    clockwork1122  
    OP
       2018-08-14 09:59:13 +08:00
    @Mithril 确实是,这些公共事业还只用内网...服务器都是自己有个机房
    opennet
        20
    opennet  
       2018-08-14 09:59:14 +08:00
    用 winOS 的多
    cjw1115
        21
    cjw1115  
       2018-08-14 10:01:14 +08:00
    @Cbdy 工资不低吧,看你干什么活,我觉着
    clockwork1122
        22
    clockwork1122  
    OP
       2018-08-14 10:02:51 +08:00
    @chinvo ok 感谢,我多多琢磨一下.net 生态吧,刚接触对这没有深入研究,公司技术氛围不是很重,连 IDE 都只让用 2010 的,框架 4.0 也不让上
    herozhang
        23
    herozhang  
       2018-08-14 10:03:33 +08:00
    都不是主要原因。

    最主要的原因是财务制度。

    1. 预算制
    2. 硬件采购 比 服务采购 更容易
    3. 一次性采购来钱快(你懂的)

    相比起采购 Windows Server、SQL Server、Visual Studio 等等,用 LAMP 啥的有啥油水?
    后续出问题了的服务费怎么列支?预算怎么做?
    clockwork1122
        24
    clockwork1122  
    OP
       2018-08-14 10:07:26 +08:00
    @herozhang ....好吧,甲方是国企这几个原因都符合...开发还是在底层被上层的油水所决定...
    holonunu
        25
    holonunu  
       2018-08-14 10:08:25 +08:00   ❤️ 1
    - 便宜:人工相对便宜
    - 有背书:整套东西成熟有微软背书,VS、SQL Server、IIS 一套同一厂商无缝链接
    - 负担得起正版费用:可以报销,通常都是小系统,服务器数量也不会多(互联网公司负载高用不起正版)
    - 易维护:不需要专业运维
    clockwork1122
        26
    clockwork1122  
    OP
       2018-08-14 10:08:54 +08:00
    @chinvo 大佬能推荐点 Asp.Net 优秀的 Web 端框架和技术吗?之前一直学习 Java 的 Spring... .net 就写写桌面窗体
    herozhang
        27
    herozhang  
       2018-08-14 10:10:32 +08:00
    @clockwork1122 你懂了,哈哈哈
    Mazexal
        28
    Mazexal  
       2018-08-14 10:15:23 +08:00
    @clockwork1122 微软就一套 MVC 吧.....没别的花里胡哨的其他框架了
    chinvo
        29
    chinvo  
       2018-08-14 10:27:50 +08:00
    @clockwork1122 #26 用 Asp .Net 的话,基本就是 Asp .Net MVC (这是微软官方框架的名字) + Rozar Page,虽然也有一些第三方框架,但是还是 Asp .Net MVC 更流行。

    如果要走这条路,一定要业余多看看新版本,停留在 VS 2010 + .Net Frameworks 3.5 人就废了,没有强制要求的话至少 4.5 起步,最好一步到位搞 .Net Core。

    MSDN (或者 Microsoft Docs ) 可以说是十分全面的了,除了一些深入的书,其他“入门”级别的书都可以说是 MSDN 读书笔记。
    min
        30
    min  
       2018-08-14 10:36:07 +08:00
    缺 sping 这样的全家桶是其弱点,框架可以看看 servicestack
    @clockwork1122
    rockyou12
        31
    rockyou12  
       2018-08-14 10:43:47 +08:00
    搞 web 就别信巨硬那套了,生态被 java 吊起来打,你只做外包或者小项目还差不多……
    唯一优势真就是中文文档齐全,入门门槛低,人员维护费用就低。我之前也接过个航天院所的单子,合同指明就是 c#开发,然并卵用 java 写人家也不管,反正他们只是需要在 windows 上能跑就行。
    mobaui
        32
    mobaui  
       2018-08-14 10:54:43 +08:00
    瞧不起我们 C#么
    hnbcinfo
        33
    hnbcinfo  
       2018-08-14 10:57:41 +08:00
    政府部门和学校机构等,因为他们很多都是 windows 服务器,喜欢用.net 主要是因为部署维护方便。
    另外,.net 挺好的,C#语言我觉得也不错啊。
    chouchoui
        34
    chouchoui  
       2018-08-14 11:01:04 +08:00   ❤️ 2
    ASP.Net Core 直接上,用 Razor Page,下面是官方文档
    https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/?view=aspnetcore-2.1
    如果.Net Core 的适用性不够可以考虑.Net Framework 4.5+,下面是 ASP.Net MVC 5 的文档
    https://docs.microsoft.com/zh-cn/aspnet/mvc/overview/getting-started/introduction/getting-started

    如果遇到问题还可以去博客园上看看,另外就是人见人爱的 StackOverflow


    ————下面送给某些货色
    开源神教技术栈的都有微软原罪的病,有些井底之蛙就好好学自己的别出来秀狭隘的眼界了。
    打着开源的旗号封闭在自己环境里面,双标还是要点脸。
    sagaxu
        35
    sagaxu  
       2018-08-14 11:01:32 +08:00 via Android
    去看看 20k 以上的职位,.net 多不多
    imn1
        36
    imn1  
       2018-08-14 11:06:38 +08:00   ❤️ 1
    全错了,windows 服务器是 M$参与维护,有问题时能上门
    linux 是全程自己维护,还有现在这么闲么?
    murmur
        37
    murmur  
       2018-08-14 11:07:47 +08:00
    MS 的东西买全套解决方案外加技术支持的时候才能展示出强大的效果
    尤其是企业那一套 域控 邮箱
    jadec0der
        38
    jadec0der  
       2018-08-14 11:20:51 +08:00
    36L 说到点子上了,Windows Server + SQL Server + .NET 这套是成熟的企业服务,不管是数据库挂了,服务有莫名其妙的问题,还是性能需要调优都有 MS 兜底,提供全套的收费服务,比 Oracle 负责的多。
    riggzh
        39
    riggzh  
       2018-08-14 12:28:48 +08:00
    @clockwork1122 #16 那就是现有员工都是 C#导致的呗,公司没有魄力也没有经济推倒重来
    rockyou12
        40
    rockyou12  
       2018-08-14 12:31:48 +08:00
    @chouchoui 你说这些大家都懂,但.net 就是没有 spring cloud 全家桶这种东西,而且文档资料少 java 几个数量级,更不要说 redis、nginx 这些原生的 linux 软件很多时候不用都不行。
    我相信.net 肯定能完成开源技术能做的那些,但自己造轮子有几个人这么闲哦,公司和个人都是要赚钱,肯花时间造这些大轮子的太少了,还不要说造出来有没有他们好呢
    tomfs
        41
    tomfs  
       2018-08-14 12:41:48 +08:00 via iPhone
    买的服务和系统 为啥不用、出问题微软的锅,要是都不采购 windows 和微软全家桶,应该很少用.net 了。
    chinvo
        42
    chinvo  
       2018-08-14 12:44:36 +08:00 via iPhone
    @rockyou12 Java 资料多 .net 几个数量级?各种中文博客转载来转载去都不保证对的内容可不算哦,你确定资料有 msdn 全面?

    redis、nginx 没法用?.net 不开源?

    所以说你们不要打着开源的旗号固步自封,都 8102 年了,.net core 开源都“一个世纪”了
    rockyou12
        43
    rockyou12  
       2018-08-14 12:59:11 +08:00
    @chinvo 中文资料不是资料,你太看得起国内的程序员的吧,有中文没人会去看英文的。而且就算国外,每年的语言趋势有看吧,c#有超过 java 过?(´・_・`)
    redis、nginx 这些在 windows 上跑性能就是不如 linux,维护也没得 linux 那套方便。但巨硬自己把这些开源软件移植到 windows 上,还是要感谢。
    而且说开源,不是你巨硬开不开源的问题,一个你开源太晚了,已经被甩这么多身位了。而且你开不开源其实都不是最重要的,google、facebook 这些大公司肯定是避免用巨硬技术栈的,我们这大部分还不是追赶人家用的东西,所以做互联网巨硬那套东西想和 java 比生态不可能了。
    chinvo
        44
    chinvo  
       2018-08-14 13:07:47 +08:00   ❤️ 3
    很多时候,我之所以反感 Java,不是因为 Java 不好,也不是因为用 Java 的人不好,

    而是因为太多人把自己绑在 Java 的战车上,誓与 Java 共存亡。

    在这些人看来,Java 的优点是优点,Java 的缺点也是优点,别的语言的黑历史全部都是 Java 的优点。

    无法理解。

    一旦一个人把自己变成了“ XX 语言程序员”,这个人离被淘汰就不远了。

    中文资料也是资料,但是那是在是“资料”的前提下,各种中文博客转载来转载去都不保证对的内容,我不认为算“资料”。

    redis、nginx 在 Windows 上是难用,但是 .net 是可以在 Linux 上运行的,不说 mono 这个社区实现,现在 .net core 是官方支持的。

    我也用 Java,所以我才反感 Java 无脑吹以及 .Net 无脑黑。

    都 8102 年了,睁开眼睛看看可好?
    Mithril
        45
    Mithril  
       2018-08-14 13:40:04 +08:00
    @rockyou12 Nginx 是官方就有 Windows 版,但是仅供测试用的。在 Windows 上性能不行是因为本身就是基于 Linux 的 epoll 做的,没用 IOCP 当然比不上 IIS,也比不上跑在 Linux 上的 Nginx
    Mithril
        46
    Mithril  
       2018-08-14 13:49:24 +08:00
    @chinvo 前段时间我们有个简单的 web 项目,本来想着直接.net core 上 C#就挺好的。VS 写着也舒服。反正都是做 Docker 也没有部署问题。
    结果同事非要 Java,连 Kotlin 都不让用,理由除了 Java 生态好就是 C#不好换工作。。。然而我也是不知道一个极其简单而且没有后续需求的 Web 项目要那么好的生态有啥用。。
    chinvo
        47
    chinvo  
       2018-08-14 14:16:38 +08:00
    @Mithril #46 为了反对而反对。

    至于“不好换工作”一说,就如我 #44 说的,以及把自己变成“ Java 程序员”了,语言等于工作,把自己绑死在车上
    rockyou12
        48
    rockyou12  
       2018-08-14 14:27:21 +08:00
    @chinvo 我也不是只会 java、其他的 jvm 语言,还有 go 这些我都会。而且现在基本也是做 devops,真正写 java 都很少了,但做 web,综合性能、生态甚至招人的成本 java 最强的本来就是事实。你做小项目或者外包,不要说 c#了,就是随便用哪个语言只要你能出活本来就都是一样的。喷这么多已经离 lz 主题太远了,后面都不回了。
    visonme
        49
    visonme  
       2018-08-14 14:48:03 +08:00
    只能说 net 不足就是缺少大厂真正的大规模大范围的应用了,所以在言语上一致落于 java 下风.....

    收公共事业项目用 C#,楼主应该接触的不多,刚毕业为公共事业单位服务了三年,基本见得 java 比 net 多,能 net 的只见过两种情况:
    1. 单位只有 net 技术人员
    2. 老项目
    hahastudio
        50
    hahastudio  
       2018-08-14 14:50:54 +08:00
    在 stackoverflow 上看了一下,C# 的提问居然比 Python 还多。。。
    clockwork1122
        51
    clockwork1122  
    OP
       2018-08-14 15:18:37 +08:00
    @sonyxperia 杭州就另说了...阿里的 java 对于周边还是有一定影响的吧
    dallaslu
        52
    dallaslu  
       2018-08-14 15:42:33 +08:00
    这满屏幕的 .net 链接看着真是太难受了
    moresteam
        53
    moresteam  
       2018-08-14 17:54:06 +08:00
    这不是好事儿吗,.net 多一条活路
    liprais
        54
    liprais  
       2018-08-14 17:56:11 +08:00
    公共事业的系统都是给回扣最多的开发商开发的
    misaka19000
        55
    misaka19000  
       2018-08-14 18:03:05 +08:00
    @dallaslu #51 哈哈 @Livid 能不能优化下
    bestkayle
        56
    bestkayle  
       2018-08-14 19:03:18 +08:00 via iPhone
    @DT27 #3 个人认为 win server 就是个坑……
    mmdsun
        57
    mmdsun  
       2018-08-14 19:16:03 +08:00 via Android
    @hahastudio stackoverflow 是 c#粉丝聚集地。。它网站本身也是.net 架构
    mmdsun
        58
    mmdsun  
       2018-08-14 19:17:47 +08:00 via Android   ❤️ 1
    连腾讯都在往.net core 上面迁移。微信支付清算网关就是。为什么不选.net ?
    mmdsun
        59
    mmdsun  
       2018-08-14 20:33:13 +08:00 via Android   ❤️ 1
    @clockwork1122 dotNET 跨平台,.net 推荐这个公总号。干货很多
    bestkayle
        60
    bestkayle  
       2018-08-14 20:35:07 +08:00 via iPhone
    @mmdsun #58 微信支付原来是什么技术栈?
    clockwork1122
        61
    clockwork1122  
    OP
       2018-08-14 22:33:16 +08:00
    @liprais 不,还有公司老板的人际关系强...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2876 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 13:04 · PVG 21:04 · LAX 06:04 · JFK 09:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.