首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  .NET

.NET Core 感觉比 Golang 好啊

  •  1
     
  •   TangMonk · 2018-01-07 12:05:56 +08:00 · 32621 次点击
    这是一个创建于 654 天前的主题,其中的信息可能已经有所发展或是发生改变。

    也可以跨平台编译,性能也和 golang 差不多,而且 c# 比 golang 更好用,还有 VS 这种很方便的 IDE

    137 回复  |  直到 2019-07-26 13:53:17 +08:00
    1  2  
        101
    fyooo   2018-01-08 11:10:19 +08:00
    『.NET Core 感觉比 Golang 好啊。也可以跨平台编译,性能也和 golang 差不多,而且 c# 比 golang 更好用,还有 VS 这种很方便的 IDE 』


    同意题主的观点,可惜没机会用,业界的开源生态没有太多.NET Core 的第三方库。
        102
    darrh00   2018-01-08 11:10:32 +08:00
    @hjc4869 呜,CentOS 6 被加入鄙视行列了。 我们的生产服务器还有一堆 CentOS 5。。

    不过 rhel6 明明在支持的列表 https://docs.microsoft.com/en-us/dotnet/core/rid-catalog
    我的 dotnet 版本为 2.1.3,却无法给 rhel.6-x64 打包:
    ```
    /usr/local/share/dotnet/sdk/NuGetFallbackFolder/microsoft.netcore.app/2.0.0/build/netcoreapp2.0/Microsoft.NETCore.App.targets(19,5): error : Project is targeting runtime 'rhel.6-x64' but did not resolve any runtime-specific packages for the 'Microsoft.NETCore.App' package. This runtime may not be supported by .NET Core.
    ```

    不得不吹几句 Go:
    1. 打出的单个文件,又干净又清爽,
    2. 可执行文件小很多,(当然对我来说,还是有点偏大),
    3. 没有 libc 的依赖,
    4. windows xp 都还在被支持的行列里
        103
    nannanziyu   2018-01-08 11:17:44 +08:00
    @darrh00
    dotnet core 内置的 Kestrel 可以直接开放端口外部使用,但官方建议用 nginx 来反代
    另外 dotnet core 系统要求在这里 https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x
        104
    wekw   2018-01-08 11:46:23 +08:00
    跨平台不足,go 就是 网络 C,跨平台能力不是一般的强。。。。
        105
    eaglexiang   2018-01-08 11:48:50 +08:00 via Android
    @TangMonk 你说的是加-r 参数以后的效果,而且其实-r 参数的作用就是把目标平台的 core 库拷贝一份,再生成一个可执行程序调用你的.dll 文件
        106
    hjc4869   2018-01-08 12:15:08 +08:00 via iPhone
    @darrh00 没鄙视 CentOS 6,不过 scd 确实没法跑 CentOS 6 上,CentOS 6 缺的东西太多了都要手动编译。
    CentOS 5 今年就结束支持了,支持的必要性不大。

    你说的 golang 的优点从来没哪个说过 .NET 能胜过,不过现在有 docker 部署什么都是一键了。连 ruby 那么麻烦的东西现在都没人抱怨部署了。
        107
    huobazi   2018-01-08 12:35:44 +08:00
    同意楼主观点
        108
    hst001   2018-01-08 12:48:52 +08:00
    两种语言我都有用,都很喜欢,各有优劣,不吹了
        109
    abcbuzhiming   2018-01-08 13:07:21 +08:00
    @hujianxin 继承本来就不是对象范式里必须的东西,它只是学术界在第一次面向对象范式崛起热潮时加进去的,最初的对象范式只有以下描述“程序的最小组织单位是对象,对象彼此之间发消息来组合完成功能”,压根就没对象什么事情。当年 C#之父其实就不想要继承这个特性,最后是屈服于市场才加进去呢,而且现在这个时代,学术界才关注继承封装多态这些玩意,工程界关注的是“组合”,这也是为啥 golang 的接口模式大受欢迎的原因
        110
    ifsclimbing   2018-01-08 14:00:45 +08:00
    同意楼主观点
        111
    zengyuxi   2018-01-08 16:27:01 +08:00
    @wuethan 敢问大佬,做了什么软件和站点,能发出来,让小弟弟们摩拜一下吗?
        112
    lbp0200   2018-01-08 16:57:41 +08:00
    要性能,C
    要生态,Java
    要开发速度,Ruby、Python、PHP
        113
    huangsw   2018-01-08 17:17:54 +08:00
    @jeremaihloo #91
    不会写 .net 的 java 程序员不是好 pythoner
        114
    itfanr   2018-01-08 17:40:11 +08:00
    @CatCode 可惜了
        115
    atcdef   2018-01-08 17:58:58 +08:00
    我也这么觉得,然而微软的船不好上啊,谁知道会不会哪天不玩了?
        116
    ruchee   2018-01-08 18:07:25 +08:00
    我觉得楼主说的很有道理,所以呢?微软家的技术,能不用就不用,不要问我为什么
        117
    halFKing   2018-01-08 18:29:14 +08:00
    上微软的船很多年,出来一看才知道世界这么大,这么灿烂
        118
    0Kelvin   2018-01-08 19:25:07 +08:00
    哎,公司用.Net看到.Net Core 算是一丝希望吧,希望能火!!! T_T
        119
    qq1054000800888   2018-01-09 09:32:35 +08:00
    Golang 语言级别支持协程,并很好利用多核
    编译速度快
    与 C 交互很方便,这些不是. net core 能比的
    至于泛型,这些以后会加上,但是 .net core 想引入 golang 的协程就不可能了,除非废除线程,但是不可能
        120
    TangMonk   2018-01-09 10:14:53 +08:00 via Android
        121
    karlakte   2018-01-09 11:00:28 +08:00
    微软的船不好上,这船要么开得太慢跟不上其他船,要么开得太快然后沉了
        122
    luodaoyi   2018-01-09 13:37:56 +08:00
    微软技术变得太快。。。。追不上啊
        123
    mosliu   2018-01-09 14:49:43 +08:00
    .net core 好东西啊!!
    然而我选择 go 和 java。。
        124
    zhujiulin   2018-01-09 18:00:47 +08:00
    .NET 本身是好东西, 但是生态太差。 跨平台的语言多了,delphi 还可以跨所有平台呢
    另外我觉得 go 的语法很优美很干净啊
        125
    loqixh   2018-01-09 19:55:01 +08:00
    @TangMonk await 不仅是差不多, 而且是更强大, go 是 M:N 而.net 不仅能 M:N 还能自定义实现 1:N 那些说要.net 引进协程的, 真不知说什么好
        126
    TangMonk   2018-01-09 20:29:05 +08:00 via Android
    @loqixh 但是 Task 不太好类似 channel 那样通信啊
        127
    loqixh   2018-01-10 09:34:54 +08:00
    @TangMonk 这个简单 比如用 corefxlab 里的 System.IO.Pipelines 基本和 channel 一样, 以前命名都叫 channel 来着
        128
    wuethan   2018-01-10 23:09:40 +08:00
    @TangMonk

    用 c# winform 做的魔兽 Dota MH 外挂 https://github.com/wuethan/wjewar
        129
    wuethan   2018-01-10 23:11:37 +08:00
    @TangMonk 不过这个一分钱也没赚 刚毕业做的玩的 网上都有魔兽 3 的内存基址和偏移 照猫画瓢 当时很火的小众软件 被 11 禁了
        130
    wuethan   2018-01-10 23:14:31 +08:00
    @bestkayle 大概我的意思是 学好 c#可以做很多终端软件包括网站 微软的集成很智能 推崇的东西也很流行 而 php 和 asp 是比较早的语言 有一定的局限性
        131
    wuethan   2018-01-10 23:21:04 +08:00
    @zengyuxi 嗯...商业的 .net2.0 做的 M1 发卡串口通信软件配合 充电桩、闸门 卡储值消费的,自助终端机纸币器串口通信充值和消费的会员系统,asp.net 微信 H5 站和公众号集成开发 小程序 等等... 截图就算了。
        132
    bestkayle   2018-01-10 23:21:18 +08:00
    @wuethan #130 要说做的多还是 js 厉害,前端后端移动端,pc,mac 端都行,哈哈。
        133
    zonghua   2018-01-26 21:21:07 +08:00
    @luodaoyi @karlakte "这船要么开得太慢跟不上其他船",也可能微软开着开着无聊自己把船凿沉然后换名叫神舟。
    @bestkayle UWP 支持 C# C 艹 VB.NET Javascript
        134
    hez2010   266 天前 via Android
    @LukeEuler dotnet publish -c Release -r linux-x64 可以发布无需 runtime 的自托管 app
        135
    downstairs   178 天前
    go 但论性能,和C#不相上下。但C#开发速度是GO的十倍。。。
        136
    whevether   171 天前
        137
    jon   89 天前
    .net 本来就比 go 好,可惜了
    1  2  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4705 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 02:23 · PVG 10:23 · LAX 19:23 · JFK 22:23
    ♥ Do have faith in what you're doing.