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

其实.net平台没这么糟

  •  
  •   Ricepig ·
    ricepig · 2013-05-17 23:33:36 +08:00 · 15435 次点击
    这是一个创建于 3990 天前的主题,其中的信息可能已经有所发展或是发生改变。
    近两年来经常听到说,.net及微软体系开发的网站/程序/应用很难扩展,容易遇到性能问题,低效等等类似的话,也有不少仇视微软平台的。对于C#语言,也因为出身不好,地位可能还不如java吧(就语言本身来说)。极端一点的,觉得用微软平台或开发语言就是坏品味的代表。

    但是,我发现许多人对这个问题的看法并不直接来自于自己的经验,而是通过阅读一些文章而得到。对此,我经常表示无奈。在一些日子以前,我看到了老赵(@JefferyZhao)的一些语言比较的文章,非常客观地说明了C#语言的优点。

    今天,我无意中阅读了Javaeye站长Robbin的一篇文章:http://robbinfan.com/blog/43/rid-off-dotnet-experience。写的很好,给大家推荐了。

    其中,他写道:“简单说来,就是单纯让.net做应用层的编程语言和框架,其他都交给Linux平台的开源解决方案。而.net框架单纯做应用层,无论ASP.net MVC的开发效率,还是.net CLR虚拟机的运行效率都非常好,目前我们单台Windows服务器上跑几百万的动态请求毫无压力,而且应用层架构是可以横向扩展的:如果请求负载非常高,只需要添加更多Windows服务器即可。总之,做到了扬长避短。”

    Robin前几年亲自将JavaEye从java改成ror实现,深深体会到ror的优势,现在他能够说.net开发效率和运行效率都很好,是有一定说服力的。

    当然,微软平台的开放性一般,而且收费较贵,这个是无法规避的缺点。但是其中一部分也是可以克服的。

    最后,还是要再赞一下Visual Studio,我心目中最强的IDE,没有之一。免费阉割版的Express都很良心。这也是我为什么还眷恋windows而没法完全转向osx的重要原因之一。
    第 1 条附言  ·  2013-05-18 04:29:17 +08:00
    补充一下我对vs的看法,或者我对ide的偏好吧

    - 是ide,不是文本编辑器
    - 速度快、流畅
    - 智能:高亮,智能感知,智能提示,自动完成,重构
    - 调试方便
    - 编辑功能强大
    - 一定扩展性
    - 别太贵

    vs的缺点比较明显:贵,快捷键捉急,对build工具支持一般
    第 2 条附言  ·  2013-06-02 02:51:55 +08:00
    有些同学认为.net没有ide就是一个灾难,其实我觉得是一个错觉

    1. vs是一个优秀的ide,甚至说是最优秀的ide之一都不为过,有这么一个ide,当然就由奢入俭难。正如一开始就用vim,然后让你用notepad当然不愿意了。
    2. .net的入门教程,很多都是从使用vs开始,因此给大家印象就是,打开vs,新建工程,拖几个控件,写两行代码的VB范儿。实际上教大家从头开始写代码的教程也是有的,Petzold的winform相关教程就几乎是ide无关的。
    3. 确实微软的很多框架依赖于vs,vs里无数模版向导给这些框架提供了很多方便。但是,也有一些框架为全手写提供了帮助,最典型的就是asp.net mvc及razor,如果大家大概地看一下mvc从1到4的变更,及razor的语法,就会发现其实对全手写越来越友好了,打的字也更少了。

    从vs 2002的.net 1.0到现在,.net已经经过了12个年头,希望大家用发展的眼光看待吧。
    149 条回复    1970-01-01 08:00:00 +08:00
    1  2  
    Ricepig
        1
    Ricepig  
    OP
       2013-05-17 23:35:45 +08:00
    寒,这贴居然还发现了一个V2EX的bug。。。MVC处被不正确转义。
    yetone
        2
    yetone  
       2013-05-17 23:35:49 +08:00 via Android
    难道我还要去花钱买个 windows 才能开始开发?
    Ricepig
        3
    Ricepig  
    OP
       2013-05-17 23:38:46 +08:00
    @yetone
    1. Mono + MonoDeveloper + Linux
    2. 找到一台装windows的电脑比较简单吧,品牌机基本都预装吧

    另外,参考一下objective-c,可能稍微能平衡一点?
    siw
        4
    siw  
       2013-05-18 00:29:19 +08:00
    不知道你有没有看过 Windows Linux File System 性能比对。。。

    “目前我们单台Windows服务器上跑几百万的动态请求毫无压力”
    这应该要亮出服务器配置和如何统计的才客观
    cyberscorpio
        5
    cyberscorpio  
       2013-05-18 00:52:46 +08:00   ❤️ 7
    微软的问题是这些年技术路线摇摆不定,不断的推出新的技术概念,过些年又将其废弃,然后再另起炉灶,重开一坨。

    微软底子厚,靠着 windows / office 的产品惯性,这么折腾倒还折腾得起。但是对于技术人员来讲,你投资在他的技术上的时间和精力,那可都打了水漂了。

    人生苦短,我们要珍惜生命,远离微软。
    offspring
        6
    offspring  
       2013-05-18 00:58:42 +08:00
    最强的IDE...比不上Xcode吧
    siw
        7
    siw  
       2013-05-18 00:59:47 +08:00
    @cyberscorpio +1
    而且网站什么的不需要微软平台限制,除了工作需求外 不碰就不碰
    insraq
        8
    insraq  
       2013-05-18 01:05:06 +08:00   ❤️ 1
    C#是个好语言,.Net平台实在不给力。
    xiaoxuxu
        9
    xiaoxuxu  
       2013-05-18 01:08:16 +08:00
    @offspring 功能上是比xcode强很多的,用户体验比较差
    reusFork
        10
    reusFork  
       2013-05-18 01:11:58 +08:00
    C#和.net都很好,mono也有windows版,不用担心微软的支持问题
    keakon
        11
    keakon  
       2013-05-18 01:21:57 +08:00   ❤️ 1
    刚用 Python 做了个应用,1 GB 内存双核 CPU 的 VPS,最复杂最耗时的动态页面也能到 420+ QPS,第二复杂的动态页面能到 670+ QPS(还都没做缓存哦),算起来每天处理 3000 万动态请求毫无压力吧。
    其实满负荷下也只用了约 100 MB内存和 40% CPU,瓶颈在网络通信上(貌似把内网带宽用完了)。

    至于这个应用做啥的,暂时保密。有 30 多个 handler(都和数据库打交道),所以别往 hello world 上猜了。

    那么多语言比 Python 快 1、2 个数量级,如果还嫌性能差真不能赖语言,一定是你打开的方式不对。
    chemzqm
        12
    chemzqm  
       2013-05-18 02:27:26 +08:00
    我相信微软的技术能力,微软的研究中心应该是中关村里半夜用电最多的了,关键的问题是它几乎剥夺了开发者部分了解底层和选择上的自由,而且我了解的.net开发人员大多倾向于偏执,不愿尝试新事物。
    ipconfiger
        13
    ipconfiger  
       2013-05-18 03:49:52 +08:00
    LZ说VS.NET是最好的IDE,敢问用的是正版么?你的windows系统是正版的么?,sqlserver是正版的么?
    好吧,Express版的IDE+Express版的数据库+预装版的windows,用起来真心爽么?真实开发的时候还是偷偷打开了盗版的vs企业版吧。
    另部署的服务器是正版的windows么?SqlServer呢?Mono + MonoDeveloper + Linux ?你真这么用的了?
    Ricepig
        14
    Ricepig  
    OP
       2013-05-18 04:03:57 +08:00
    @siw 其实我看过,NTFS在某些情况下会遇到性能瓶颈
    Ricepig
        15
    Ricepig  
    OP
       2013-05-18 04:05:04 +08:00
    @xiaoxuxu 请问哪里体验比xcode差呢?我想知道具体的例子。

    xcode其实我只是想知道怎么才能让代码区域变得更大一点
    Ricepig
        16
    Ricepig  
    OP
       2013-05-18 04:06:33 +08:00
    @keakon 其实这个时候比的是大家的字符串操作速度吧,呵呵
    tangzs
        17
    tangzs  
       2013-05-18 04:09:55 +08:00
    @chemzqm 同感
    Ricepig
        18
    Ricepig  
    OP
       2013-05-18 04:16:23 +08:00   ❤️ 2
    @ipconfiger 正在为正版化努力呢。不过用不用正版和vs是不是正版,好像相关性不大吧。不是某国人就不能说某国好了?

    部署的服务器是正版的windows,要不是服务器预装,要不就是各种云计算预装,还额外付了钱呢。

    数据库没有使用SQL Server,用不上,不是严肃的OLTP应用。不过华硕这个地球上靠谱的OLTP数据库都是要钱的呢。

    其实Express版的VS挺良心了,除了没有Team Server集成,不能装插件之外,其他几乎没限制了,我用起来比较爽。不过还是努力买正版,原因是已经买了Resharper了。

    你说express不爽,可能是因为上面还有商业版,心理不爽吧。就现代IDE功能和性能来说,vs即使是express版都是杰出的吧。

    不过每个人对编辑器/ide诉求不同吧,我遇见过觉得Eclipse速度挺快,觉得vim自动补全和智能感知强悍,觉得NetBeans插件丰富,觉得IDEA界面新潮,觉得Emacs启动迅速体积不大的各种人,哈哈哈哈
    Ricepig
        19
    Ricepig  
    OP
       2013-05-18 04:22:08 +08:00
    @chemzqm @tangzs

    倒不如说.net开发者小白和懒人多,因为开始学的时候门槛低。

    说到选择少,确实是,不过这个现象现在逐渐好转,有一些更好的替代品以后微软官方的产品也就不那么强势了。

    对于剥夺了解底层的能力的问题,我认为是一个错觉,微软把门槛搞得太低了,很多人会去了解底层。底层还是比较容易了解的,resharper或者IL Dasm,或者Mono,整个.net框架(除了win api)就在你眼前。C#本身是标准化语言,更不存在无法了解底层了。

    类比一下ror,你要按照conventional的用法,可以傻用着。造成追根究底的人相对少。c++拿来干活就不一样,不了解一点底层,说不定啥时候bug调不出来了。
    keakon
        20
    keakon  
       2013-05-18 06:46:53 +08:00 via iPad
    @Ricepig 字符串操作不算瓶颈,主要从数据库里取数据,然后 decode json,再合并字典,再 encode json。
    jjx
        21
    jjx  
       2013-05-18 07:42:23 +08:00
    @chemzqm

    得确如此,为了达到简单易用的效果, 过多的封装,过多的层次, 而且很多人都非常享受, 等n年后,发现自己都废了
    jjx
        22
    jjx  
       2013-05-18 07:44:48 +08:00
    @Ricepig

    通常看源码, 以tornado,往下翻一两层就可以触及真正的底层,如果是asp.net mvc呢,转呀转, n层后还是被封装的代码
    hooluupog
        23
    hooluupog  
       2013-05-18 08:43:26 +08:00
    @xiaoxuxu xcode别说比visual studio,比eclipse很多方面都不如。苹果自家的软件没一个好用的。
    hooluupog
        24
    hooluupog  
       2013-05-18 08:46:24 +08:00
    目前互联网比较热门,被大家认可的东西几乎都是开源或者和开源有关的,.NET和windows,微软绑的太死,有啥前途,而且微软的东西变化很快。
    zhujinliang
        25
    zhujinliang  
       2013-05-18 09:07:41 +08:00
    .net社区里的作者怎么大多爱追新版本啊我摔,我的VS2010都打不开工程,你用的2012么。。。顺便吐槽vs工程版本问题,能有多大差别,兼容一下不行么。。。

    还有啊,我想做一个简单的功能,希望.net 2.0就能行,好给xp用户,你一个USBHid库非得用Linq啊,筛选个硬件信息而已,不用这么高级的玩意不行么。。。

    .net做windows窗口程序还是不错的,asp.net做网站,我是不喜欢。不过能让半路出家的孩子拖个控件就能做出个webapp,还是有贡献的。
    archsocks
        26
    archsocks  
       2013-05-18 09:09:25 +08:00
    这位同学别眷恋windows了快格了装linux吧,扔了.net学个别的什么比如python啥的,过几年你会感谢我的。

    MS的东西会限制你的眼界,浪费你的钱,而且编程体验本身也比不上开源的,至于你说的心目中的最强的IDE,那是因为你没用过别的IDE,早在10年前Intellij IDEA就能甩VS几条街了。
    webflier
        27
    webflier  
       2013-05-18 10:00:43 +08:00
    @archsocks MS的东西会限制你的眼界?这恰恰说明你的眼界被限制了啊,亲!^_^
    Narcissu5
        28
    Narcissu5  
       2013-05-18 10:17:37 +08:00
    @chemzqm
    不愿让开发者接触底层确实是最大的问题,微软搞的很多东西,比如workflow,lightswitch,都是号称“不写代码也可以构建程序”。而对于很多重要的东西,比如IL,没有文档!!
    有时候在.Net社区会发现,小白实在太多,大神只能转身走掉。。
    @ipconfiger
    国外很多公司会给码农买MSDN Subscription,和国外码农的工资相比,这点钱还不算什么。再说了,水果MyEclipse什么的不也是要钱的么。
    webflier
        29
    webflier  
       2013-05-18 10:28:46 +08:00
    @Narcissu5 IL现在都是工业标准了,文档就在那儿摆着
    不是MS不愿让开发者接触底层,是开发者愿不愿意深入的问题。
    Winny
        30
    Winny  
       2013-05-18 10:28:58 +08:00
    @offspring 。。。。最强的绝对是VS XCODE性能不如VS,偶尔还会崩溃,重构、插件都差一大截
    @archsocks 真不敢相信10年前的IDEA能甩VS N条街 推荐你装个VS2012或VS2010试试


    在我看来,.Net输在了社区和生产环境限制上。一个仅靠官方推动的社区(或者叫做没有社区),依靠Windows平台方案,丢了太多分。国内的Discuz!NT的没落就是一个典型,整个开发者社区太小,没有周边组件/产品合力,落后于Linux服务器的性价比和高阶解决方案。

    说实话,C#是一门非常优秀的语言,适用范围也很广,可惜社区和运行环境的落后和限制导致他只有在中小企业级开发中活着。
    flyingkid
        31
    flyingkid  
       2013-05-18 10:30:09 +08:00
    VS不说了,因为不了解!
    我是来找机会吐槽Xcode的,真的挺烂的,对于新手来说这东西真的很不友好。
    feilaoda
        32
    feilaoda  
       2013-05-18 10:45:47 +08:00 via iPhone
    都精通或都用过的人才更有体会。我是从.net转到c++,再到java,和python,后面都是linux平台。如果只在.net平台,视野难免井底之蛙,外面的世界更广阔。
    LokiSharp
        33
    LokiSharp  
       2013-05-18 10:51:08 +08:00
    @flyingkid 你用过VS就会发现,除了语言问题之外Xcode实在是太友好了
    breeswish
        34
    breeswish  
       2013-05-18 11:00:09 +08:00 via Android   ❤️ 2
    个人看法:

    Visual Studio毋庸置疑是一个强大的IDE,是个入门门槛极其低但是又能很powerful的东西

    C#本身其实挺不错的

    跟着微软是没前途的: 很久以前搞什么DDE,后来搞COM,搞ActiveX,搞了一个.net以后又做一个Silverlight,现在到了win8倒好,微软说大家玩HTML5吧

    我认识的几个从高中开始玩.net的同学都对.net有一种固执的态度,不愿意接受其他事物,尤其是一些长期从事win32 api的同学更加固执。 这个不是说所有.net程序员都这样,我觉得这个可能跟他们的环境有关毕竟现在还处在刚进大学没见过社会的阶段
    tedeyang
        35
    tedeyang  
       2013-05-18 11:11:43 +08:00
    robbin那是接手了CSDN的.net烂摊子不得已而为之。
    用.net的老系统、老兄弟在那里,总不能一扫而空吧,所以就搞出一个乱七八糟的混合方案来,想想运维人员得有多苦逼,写shell脚本不够还得写坑爹的批处理。
    alexrezit
        36
    alexrezit  
       2013-05-18 11:44:07 +08:00
    我就觉得吧... 太贵了, 大坑一个, 实在跳不起.

    至于用起来糟不糟咱不知道, 因为咱根本没用过, 就说些表层的.

    咱 coding 入门是 Xcode 上写 Cocoa, 曾经想学 Silverlight 来着但是 Windows 的滚动太不平滑了, 触摸板上划拉两下代码就不知道滚哪儿去了, 头疼眼花, 然后就放弃了. VS 功能很强大倒是必须承认, 不过在我眼里就是两个字 "繁琐". 还有坑爹的 WP 模拟器. 还有坑爹的一闪一闪的 layout 预览. 而且我都不知道如何吐槽那个安装时间了, 用 SSD 安装个 VS 打上 SP1 装上 WP7 SDK 都差不多得三个小时, 够我装五次 Xcode 了.
    LokiSharp
        37
    LokiSharp  
       2013-05-18 12:01:17 +08:00
    @alexrezit 特别是,现在VS2012打update不像以前SP有iso打包了,下下来要半天。
    orasisz
        38
    orasisz  
       2013-05-18 12:56:54 +08:00
    同意楼上的观点,说实话微软的东西真心不错,包括VS、TFS、C#、F#,但是短板在社区上,人气远远不如10年以前,而且滥竽充数的所谓MVP太多。这些人大多不想去了解底层的东西,更多是靠忽悠微软自身的产品特性来炫耀,过去的10年中,我见到了太多的从微软社区出走的大牛。说到底还是微软自己的问题,但是微软社区过去这么多年中创造的技术底蕴是非常棒的,而且也不会随着时间的流失而消失,大家没看到Linunx社区中的Mono吗,就是C#能够在Linux上编写和运行的环境。学习微软的技术不见得是坏事!
    missdeer
        39
    missdeer  
       2013-05-18 13:09:23 +08:00   ❤️ 1
    我一直都说,单纯就软件质量,跟微软一比,苹果就是一群美工在写代码。
    damngood
        40
    damngood  
       2013-05-18 13:32:36 +08:00
    Xcode 单纯作为 IDE 是差了点儿, 虽然还是一直在进步.. 但是作为一个环境他附带的其他工具还是很不错的..

    比如 Clang 编译器, Instrument 工具等..
    vigoss
        41
    vigoss  
       2013-05-18 13:37:02 +08:00 via Android
    @keakon 你是怎么测的呢?这个qps也太高了吧?io应该受不了才对。
    vigoss
        42
    vigoss  
       2013-05-18 13:46:54 +08:00 via Android
    @keakon 看到你博客了,是redis看到数据库我就以为是mysql了
    youdu
        43
    youdu  
       2013-05-18 13:59:59 +08:00
    设计师觉得wpf挺强,就是.Net的程序员少。
    xupefei
        44
    xupefei  
       2013-05-18 14:14:02 +08:00
    楼上很多人说 .NET 接触不到底层,限制了开发者的视野。请问说这些话的同学有几位用过 C# 的 unsafe 标识符呢?.NET 可以接触底层,可以直接用 IL 写代码,可以用指针操作非托管内存。如果这还不算底层,那什么才算呢?汇编语言么?
    效率方面不用多说,看看 .NET 里字符串相关的函数的源代码就能了解一二(代码里大量使用了指针)。不过如果你拿 C 语言来比的话我也没办法。
    还有人说跨平台方面。举个例子,现在很多手机游戏都是拿 C#(Mono) 开发的(例如 MonoGame 框架),一套代码一句话不用改就能跑全平台,敢问其他哪种语言比这更 NB?正在内战的 HTML5?

    To 楼上某位同学:不要觉得鄙视一个平台很有优越感,不要觉得自己看到的就是全部。世界比你想象的要大很多。
    ipconfiger
        45
    ipconfiger  
       2013-05-18 14:26:09 +08:00   ❤️ 8
    @Ricepig

    .NET 的原罪,在中国最大的一条任然是盗版,然后就是封闭,大而全,full stack 。所谓的底层,IL,仍然是在微软的圈圈里转,就跟 锡安任然是Matrix的一部分一样,呆在里面的人想当然的以为自由了,其实不过依然是个幻觉。

    微软不是一无是处的废物,不然不可能几十年屹立至今,不过那是个不同的圈子,微软需要的是圈养的程序员,用统一配发的工具(VS.NET),去为微软攻城略地。而作为需要呼吸自由空气的自由派来说,是忍受不了这种味道的。有些人呆久了,就产生了奴性,听不得人说不好(比如说某些D员)。

    其实JAVA依然是如此,但是JAVA的亲爹没有微软会玩生态圈,空握着如日中天的第一开发语言,却只会去卖服务器,结果嗝屁了。后爹IBM打着靠开源大杀四方的想法,所以投钱给Eclipse,给Apache,大力给Java输血。但是毕竟不是亲生的,而且战略不同,微软靠卖软件,IBM靠卖服务,所以对于开源IBM反而更加的看得开,所以现在Java在开源领域还是很有地位。至于老赵批评Java语言僵化不思进取,那没法的事情了,后爹只想着靠这孩子挣钱,没空去搞科研,而且步子迈太大扯着蛋就不好了,毕竟这么多人靠它吃饭呢。

    怎么说呢,如果用.NET,要么在微软的亲妈环境里,windows系统,IIS,那是相当的舒适的,但是呢,外围的很多东西都没有。其实也不能说是什么都没有,而是什么都需要花钱的,biztalk什么的很强大,但是就是死贵。如果在后妈mono下运行,那么也就是后妈的娃了,稳定性且不说,外围环境也是一个问题,很多库也缺乏,要知道如Python一般这么慢的语言还能这么流行,人家库多啊,啥都有,拿来就用,ruby,node.js也是有各自的粉丝为其贡献各种库,且都有各自的在线包管理工具,添加一个库喝水般容易,测试部署都有全套的方案。

    从程序员的角度来说,微软系的程序员多是讨论下wpf啊各种微软的玩意儿如何操作啊,写手册。如老赵般拿着语言细节来指点江山的只是少数。
    而开源系的程序员可以把满地零件凑吧凑吧弄一东西出来就能各种大会上分享了,还能开个github的reponsitory等着别人来fork,然后那你的东西当零件再凑吧凑吧弄出另外一个东西出来。
    换个方式来比喻一下就是,微软系程序员就好比拿着高帅富爹买的电动汽车出来跑一圈给大家看,看,车子可以这么开。而开源系的程序员就是拿着穷爹地乐高积木自己搭了一辆车开出来,给大家看自己是怎么把这台车子搭出来的。相比之下大家会觉得穷小孩的乐高积木车更加有才一点。在各种技术大会上这个区别是如此的明显,同样是分享开发一个网站,开源系的各种炫技,看我72变,各种搭配。而微软系的同学怎么分享呢?恩,IIS,ASP.NET.......没了wpf?no,no,这个小jj微软爹地自己把它割掉了


    作为一个开发者,更愿意在工作中体现出自己创造的价值,而开源社区的坏境更容易突出个体开发者的个性,更有利于开发人员自身的成长。而微软需要的攻城略地的士兵,而不是个人英雄主义的牛仔。根本性的出发点上酝酿出了各自生态圈不同的特点。

    而好的程序员的共性是奔放的,追求自由和真理的,所以开源才是程序员最终的归宿,哪怕你现在在微软笼子里觉得很舒适,但是当你羽翼丰满的时候,终有一天会打破笼子来到外面的世界,robin为csdn的程序员打开了笼子,而你呢?
    xupefei
        46
    xupefei  
       2013-05-18 14:27:30 +08:00   ❤️ 1
    @breeswish Sliverlight 是 WPF 的子集(可理解为 WPF Lite);Win 8 里 HTML5 只是给一些非程序员提供一条写应用的途径而已。真正的开发还得靠 C++ 和 WPF。

    你同学大概是因为 C# 什么都能写太好用了才固执的吧(笑
    tuoxie007
        47
    tuoxie007  
       2013-05-18 15:11:15 +08:00
    .net糟不糟俺不晓得,因为没用过,因为windows就很糟
    zicjin
        48
    zicjin  
       2013-05-18 15:30:07 +08:00   ❤️ 1
    这地方对.NET的偏见、愚昧太夸张了~~~ 看的我触目惊心。

    麻烦说要写批处理脚本的去看看powershell,去看看tfs持续集成。

    麻烦说要买sql server的去看看entityframework对mysql的支持成熟度。

    麻烦说mono支持的库少的童鞋去看可以直接用Mono Migration Analyzer测试一下你手上有什么库是无法迁移的。

    麻烦说windwos server死贵的看看你自己手上有上千台机器的项目么?标准版1k美金包含5个授权,抵得上你一个月工资么?麻烦再去看看阿里云部署windows还需要额外授权费么?

    还有说什么xcode比vs好的人,我看到了简直天雷滚滚。我两个都用,当然烂的那个用的少。很诚实冷静地说,根本不是一个级别的。这里面的差距从技术到软件工程的架构、理解是全方位的。
    zicjin
        49
    zicjin  
       2013-05-18 15:34:55 +08:00
    另外,这都什么年代了,还在提.NET开源的问题?

    微软框架做的多做的快的时候,你们说他更新太快不尊重程序员学习成本?完了回过头来又说我们能在开源世界里凑吧凑吧“各种炫技,看我72变,各种搭配”。用老赵的话来说,这双重标准端的真是熟练。
    feikaras
        50
    feikaras  
       2013-05-18 15:42:36 +08:00
    @webflier 不理解。你既然说要开阔视野,那么第一件事情是用新环境肯定没错的。没玩过c#就去玩玩。没玩过python就去玩玩不是么?
    也许说这话的人是有过。net经验的过来人呢?
    当然东西自然有好坏。而很多事情大部分人停留在一个相对心理安全但是实质上是一个很差的平台上的可能性是最大的。不是么?
    raptor
        51
    raptor  
       2013-05-18 15:57:55 +08:00   ❤️ 1
    其实归根到底一句话:
    万一,我是说万一,哪天你发现.net里有个什么东西你很不爽的时候,你除了等微软改以外,还有什么办法?
    我害怕这种不确定性,所以在我做了将近十年的Windows平台开发以后,投奔开源世界。
    的确,论不爽之处,开源世界比Windows平台多多了,但至少在这里,我可以很明确,这一定有解决办法,不复杂的问题自己改源码,改不了的话,大不了换个东西,选择多得很,而且开源世界换来换去的多了,换东西的解决方案也都是现成的。
    .net……好吧……我用过的最后一个.net版本貌似是2.0……已经是很久很久以前的事情了……
    raptor
        52
    raptor  
       2013-05-18 16:03:11 +08:00
    @zicjin 你太激动了。powershell我还真是不希说它。VS是好,可惜它只能在windows下跑。你说windows便宜,那是你机器太少。我用的机器里跑ubuntu桌面的有三台,Mac一台,FreeBSD服务器一台VPS一台,还有两台Linux VPS。全换Windows,加上全套应用软件需要多少钱麻烦算一下……
    这不是双重标准,微软换框架,程序员全都得跟着换,开源东西多,你可以自由选择,爱换不换。所以微软必然挨骂。
    zhangdawei
        53
    zhangdawei  
       2013-05-18 16:26:44 +08:00
    我从c#转行c的原因是无可适从,
    微软的框架换的太勤(这里会有人说你不用就是了,问题是用不用不是我说了算的啊),既要伺候老板也要伺候微软,太累,
    换到c,伺候老板就够了。
    Ricepig
        54
    Ricepig  
    OP
       2013-05-18 16:55:45 +08:00
    @raptor 可以多看看现在的新版本,另外再看看nuget中的各种开源库,很多.net里不太爽的地方,都有人做出开源的方案了,NPOI,NHibernate,这些都是。

    微软并没有封死开源,或者说自己做底层的可能,但是往往微软官方的相关产品足够好了,而大家拼拼凑凑的东西已经不如官方了,所以。。。。
    mayokaze
        55
    mayokaze  
       2013-05-18 16:55:58 +08:00 via iPad
    Mono game? 哈哈哈哈让我笑5分钟。这玩意也许写写2d小游戏还行,3d的?醒醒吧,不是所有游戏都是hello world 。还有刚刚学完xna就听到xna被微软砍掉的消息我没有一丝惊讶与不满,嗯ˊ_>ˋ
    zhouquanbest
        56
    zhouquanbest  
       2013-05-18 16:56:28 +08:00   ❤️ 1
    学生党表示用过全系列.NET盗版
    Eclipse、IDEA确实不如VS 现在还在照顾“程序员用户体验”的估计就只有Microsoft了吧
    那个速度和动画效果实在是太棒了 WPF写GUI也很爽

    不过.NET也主要用于Windows开发(坑爹的HUST什么东西都要求交Windows GUI版本)
    Server还是Linux舒服 Windows配起来太难受 没Shell就发慌

    就C#来说 个人感觉是最优雅的静态语言 .NET的库确实强大 不过开源的好东西就没JAVA多了

    争论哪个平台好也没啥异议 各有所需 我反正是各大平台都用 个人感觉受益匪浅
    ayang23
        57
    ayang23  
       2013-05-18 16:56:31 +08:00
    有一次帮人弄了一下windows服务器下的php网站配置,差点没累死,我的天,远程桌面,用鼠标一下一下的点,用记事本编辑配置文件,我真不知道搞微软服务器运维的人是如何忍受的。我需要的是shell,vim。所以,后来再找我坚决不给弄了。
    Ricepig
        58
    Ricepig  
    OP
       2013-05-18 16:58:33 +08:00
    @raptor vs觉得贵可以vs express,微软新框架出来,并不意味着老框架就被禁止了,这也是爱换不换。不是说WPF出来了,winform就不让你用了。反而微软的某些向下兼容性是比较好的。看看xcode,看看ruby,版本升级以后,对已有的程序要怎么折腾就不说了。。。

    所以说你是双重标准。
    Ricepig
        59
    Ricepig  
    OP
       2013-05-18 17:00:13 +08:00
    @ayang23 开ssh上去装emacs,然后用emacs自己的shell,哈哈
    swulling
        60
    swulling  
       2013-05-18 17:02:33 +08:00
    很好奇如何管理>100台的windows server
    Ricepig
        61
    Ricepig  
    OP
       2013-05-18 17:04:03 +08:00
    @swulling powershell会进步的,哈哈
    buru
        62
    buru  
       2013-05-18 17:07:01 +08:00
    5楼说的靠谱,从.net走出来后 再也不愿意回去了 现在用php和python
    greatghoul
        63
    greatghoul  
       2013-05-18 17:19:46 +08:00
    @swulling 我也很好奇。

    经常看到有人发帖:XX 比 XXX 好,你们为什么都不用。
    luikore
        64
    luikore  
       2013-05-18 17:36:17 +08:00
    可以仿 ie6 countdown 做个 .net countdown ...
    Ricepig
        65
    Ricepig  
    OP
       2013-05-18 17:42:36 +08:00 via iPhone
    @greatghoul 引用某些果粉的句式

    xx不好用?那是你们不会用!

    哈哈哈哈
    jjx
        66
    jjx  
       2013-05-18 17:48:51 +08:00
    @Ricepig

    ruby 更新 结果还是ruby, rails 升级,结果还是 rails

    vb-> vb.net 不是vb了

    windows forms - wpf windows forms 不更新 ,不支持了

    dao -dao direct -rdo - ado - ado.net - linq to sql - ado.net ef ,折腾过的人有体会

    silverlight 哪些花时间在上面 的都在骂娘

    asp.net webforms -> asp.net mvc 不说了

    ms 在推出每项东西时都说这是未来 , 在asp.net webforms时代,说这个是未来, mvc 时,说mvc是未来 ....

    俺在ms上花了近十年,也曾经是mvp, 这几年转python/c , 从来没有这样清净过
    Ricepig
        67
    Ricepig  
    OP
       2013-05-18 17:55:02 +08:00 via iPhone
    @jjx 这个吧,你把django转flask,j2ee转ssh,hibernate转ibatis,c转c++这几个类比才对。微软这几个都是共生关系。我说微软兼容性好是说.net 4.5还可以用2.0的包,ruby这一点就很捉急了
    Ricepig
        68
    Ricepig  
    OP
       2013-05-18 17:58:58 +08:00 via iPhone
    @jjx 再提一个把。你既然说到了dao到ef,那是不是dbase到foxpro到access到sql server的升级都要算成微软的罪恶?

    其实你不妨这么理解,新框架新技术代替了旧框架。rails才几年,就升级这么几个版本了,python要升级到3000估计烂事更多。
    jjx
        69
    jjx  
       2013-05-18 18:03:56 +08:00
    @Ricepig

    说服不了你,你觉的好就好

    dao -dao direct -rdo - ado - ado.net 这些 = python 的dbapi, python的dbapi 有变过

    linq to sql-> ef 是ms 对orm 的一次又抛弃,ms 就是这样,出新的扔掉旧的

    py->py3k 同vb 6-vb.net有本质不同, 同c ++-> c++ cli也有本质不同
    hooluupog
        70
    hooluupog  
       2013-05-18 18:14:06 +08:00
    其实这个时候那些vb.net开发人员最有发言权。
    tedeyang
        71
    tedeyang  
       2013-05-18 18:14:37 +08:00
    @zicjin 嗯,我不是对.net有偏见,我也写过一段时间c#,windows服务器也用过至少5年。
    提到批处理只是想说明robbin的混合方案存在额外维护的成本。powershell我也用过,但他的理念和bash shell还是很有差异,
    显然linux的运维和windows运维完全是两套圈子,配合起来很不方便。
    你要单用windows没人拦着你,但是混用二者那就是实在是不得已了吧。
    greatghoul
        72
    greatghoul  
       2013-05-18 18:17:58 +08:00
    @Ricepig 这个说法挺有趣。

    说起来用什么东西,我挺佩服善用佳软的作者的,真的很难钻进去用软件,还能把用出来的经验分享的这么细致。
    caoyue
        73
    caoyue  
       2013-05-18 18:39:19 +08:00
    我的理解是微软没有应用商店这种分成方式,只有对开发工具收费了,所以 Visual Studio 价格就贵了。

    如果不是微软一直对 Mono 态度暧昧,相信 Mono 可以有更好的发展。C# 也是我最喜欢的语言之一,但是很多人碍于微软的封闭而不去接触,挺可惜的。
    Ricepig
        74
    Ricepig  
    OP
       2013-05-18 18:57:38 +08:00 via iPhone
    @caoyue 大家都是商业公司,总要吃饭,东边不亮西边亮。

    每个希望通过这些工具和技术养活自己的,也需要付出一点代价,这蛮公平的。

    vs和vs express,eclipse和my eclipse。就看你的选择了。

    当年xcode有分成还需要99刀一年,所以你说vs没有分成模式所以贵貌似不对
    Ricepig
        75
    Ricepig  
    OP
       2013-05-18 19:03:42 +08:00 via iPhone
    @jjx 其实ado.net从.net 1.0作为数据访问的底层一直没变过。不知道你提ado这些前.net时代的技术是不是没有看清楚本帖的标题呢?上面的linq to sql,ef,都是上面的数据访问框架,就如你可以选择hibernate可以选择ibatis可以选择active record可以选择sql alchemy。如果愿意,仍旧可以nhibernate 50年不变阿。
    微软只是提供了更多的新选择,但是你有不选择的自由。
    min
        76
    min  
       2013-05-18 19:05:21 +08:00
    这种csdn十年前就吵得昏天黑地的话题还有必要再拿出来么?

    真希望v2ex有结贴放分的功能 ^_^
    Ricepig
        77
    Ricepig  
    OP
       2013-05-18 19:06:40 +08:00 via iPhone
    @hooluupog 关于vb.net我也百撕不得骑姐,既然变化这么大,相对vb来说几乎是新语言,为何在语言流行度排名上还是稳居前十?
    按照你们的说法,既然是新语言,转用亲儿子c#算了
    Ricepig
        78
    Ricepig  
    OP
       2013-05-18 19:08:01 +08:00 via iPhone
    @min 编辑器之争都吵了几十年了,大家还乐此不疲呢,哈哈

    我会告诉你其实我是来赚钱的吗?
    LokiSharp
        79
    LokiSharp  
       2013-05-18 19:10:39 +08:00
    @Ricepig Xcode 免费+开源这就是最大的优势,99刀一年的话是想挂在App Store上的才付的。
    Ricepig
        80
    Ricepig  
    OP
       2013-05-18 19:12:02 +08:00 via iPhone
    @LokiSharp 求xcode源代码。。。

    另外,不挂在app store里,那手机要安装就必须越狱?
    LokiSharp
        81
    LokiSharp  
       2013-05-18 19:20:04 +08:00
    @Ricepig

    http://opensource.apple.com/
    这里有Apple所有开源项目的源代码。

    Xcode 不只是 iOS 开发工具啊,做Mac的App不一定要挂App Store吧。
    Ricepig
        82
    Ricepig  
    OP
       2013-05-18 19:29:16 +08:00
    @LokiSharp 木有xcode的代码啊。要说开源,www.codeplex.com上面也全是.net的开源项目呀

    vs express也不光是.net开发工具呢,还可以做js,html,python,c,c++等的开发呢,也是免费的哇
    LokiSharp
        83
    LokiSharp  
       2013-05-18 19:40:23 +08:00
    @Ricepig 里面的 Developer Tools 就是 Xcode。 嘛,Apple 的开源政策一直都是 GUI 不开源(Apple 2000 年后几乎对所有的项目都有除了 GUI 外的开源)。

    问一下,用 VS Express 写的软件能做为商业用途嘛?
    jjx
        84
    jjx  
       2013-05-18 19:48:38 +08:00
    @Ricepig

    没看到大家都在说吗? ms 现在离社区驱动的远着呢,你看看ironruby/ironpython多长时间没有更新了,dlr/iron系列是完全开放的,你看到有社区去更新吗?

    还是那句话,你觉的好,你就用, 不过要试图说服别人,效果就像别人试图说服你一样
    darasion
        85
    darasion  
       2013-05-18 19:50:29 +08:00
    哈,吵什么!?
    我大易语言天下第一,宇宙无敌.
    luikore
        86
    luikore  
       2013-05-18 19:56:41 +08:00
    Any C-like language except C sucks.

    说到apple和m$的区别, mac os x的beta版是能调试到内核态的, windows的beta版就给你个虚拟机, 太藐视我们了... 还有vs万年不支持c99标准真想找出他们负责这块的大傻逼扇几个耳光...
    plan9
        87
    plan9  
       2013-05-18 20:10:19 +08:00
    @LokiSharp VS Express写的软件是不可以作为商业用途的,用了就算盗版
    seupengdi
        88
    seupengdi  
       2013-05-18 20:20:59 +08:00
    这种帖子只能聚集一大批各语言的死忠
    jun0205
        89
    jun0205  
       2013-05-18 20:23:53 +08:00
    各种比较有什么用?都是语言,能满足自己需要就好。
    tshwangq
        90
    tshwangq  
       2013-05-18 21:00:00 +08:00
    一般屌丝,主要是玩不起。
    本来服务器就比linux贵。
    你现在要用.net4.5 的async吧。你不用windows server 2008 + 就不可能的事情。
    windows server 2008 比2003 租用的话,每个月又要多出好多钱。
    Ricepig
        91
    Ricepig  
    OP
       2013-05-18 21:42:12 +08:00 via iPhone
    @jjx 我想,社区驱动是手段不是目的。

    iron系列不热闹主要就是没有商业利益驱动吧
    Ricepig
        92
    Ricepig  
    OP
       2013-05-18 21:43:36 +08:00 via iPhone
    @plan9 @Lokisharp 可以用nant组织编译以后就行了吧,不直接用vs生成
    ololio
        93
    ololio  
       2013-05-18 22:02:48 +08:00
    hkb
    leavic
        94
    leavic  
       2013-05-18 22:20:15 +08:00
    嵌入式里的.Net MicroFrameWork是这几年最具创新性的中间件平台,简直太伟大了。
    LokiSharp
        95
    LokiSharp  
       2013-05-19 00:50:38 +08:00
    @Ricepig 这样你还不如 Vim + Gcc
    Ricepig
        96
    Ricepig  
    OP
       2013-05-19 01:26:04 +08:00 via iPhone
    @LokiSharp 做代码比较多的项目的时候,vs也还是方便的。当然vim用熟悉了也很好
    LokiSharp
        97
    LokiSharp  
       2013-05-19 03:12:33 +08:00 via iPhone
    @Ricepig 其实我们讨厌的是MS总是喜欢给用户歪曲一些正确的概念,而且常常随意改变因他所造就的用户习惯。

    他总喜欢制定一种标准然后把他推翻重做,再牵强得把他们联系到一起。
    wuxqing
        98
    wuxqing  
       2013-05-19 08:30:53 +08:00
    @tshwangq 屌丝直接用盗版了
    国内网站总体还是windows的服务器多些,小站长玩不了linux
    互联网大公司不用windows,难道是差钱?
    liyafe1997
        99
    liyafe1997  
       2013-05-19 17:46:06 +08:00
    最最最头疼的问题就是,很多XP没有装运行库。。。
    raptor
        100
    raptor  
       2013-05-19 19:57:03 +08:00
    @Ricepig 还真没兴趣再去看新版本,用一句俗话来说就是:当年哥被微软逼得滚了,现在想让哥滚回来?对不起,哥滚远了…
    你们老说别人双重标准,其实根本没理解我们要的兼容性是什么样的,才会有这样的误解。
    我可没有说过VS贵,但我不喜欢Windows可以不?尤其是做服务器的时候。这几年不用windows,真有寿命延长的感觉…哈哈哈
    其它具体的上面大家都说过了,我就不重复了。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   917 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 20:51 · PVG 04:51 · LAX 13:51 · JFK 16:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.