• Re: 语言重要性排名

    如果你问的是泛指性能,c#性能还说的过去,这有个比较全的各语言web framework测评

    https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=plaintext

    c#性能排第二

    在ios和Android上的性能,有两个旧一点的测评

    https://www.altexsoft.com/blog/engineering/performance-comparison-xamarin-forms-xamarin-ios-xamarin-android-vs-android-and-ios-native-applications/

    https://medium.com/@harrycheung/mobile-app-performance-redux-e512be94f976#.kfbauchtz

    一个测的性能略低于objc,另一个测的性能高于objc和java,低于swift

    最近几个版本微软一直在吹性能有提升,不知道会不会有进一步改进

    如果你问的是await(task)性能,这个性能提升非常多,贴个我之前别的帖子的回复

    简单的情况举个例子:保存设置,一般传统代码是

    var setting = GetCurrentSetting();

    SaveSettingToDisk(setting);

    SaveSettingToServer(setting);

    假设两个save各花25ms,总共花掉50ms

    现在c#代码是(仅示意,可能有语法错误)

    var setting = GetCurrentSetting();

    var t1 = SaveSettingToDiskAsyc(setting);

    var t2 = SaveSettingToServerAsyc(setting);

    await Task.All(new []{t1,t2});

    30ms就结束了。

    复杂例子可以看task scheduler,task.dataflow和rx,可以实现协程的并发,流控,级联和管理。这个东西可能后台有经验的工程师才能用得上.互联网常见的流控和服务降级,用task.dataflow也就几行代码的事情,不需要额外的msg queue服务器

    两行代码可以把一切耗时的操作都扔进线程池,能方便的提升很多性能

    【 在 iMx 的大作中提到: 】

    : 性能跟得上?

    星期日
  • Re: 语言重要性排名

    我觉得task和真·跨平台挺不错的

    现在这个时代跨windows和linux不能叫跨平台,得同时能跨ios,Android,macos和wasm才叫真跨平台,除了c,c#应该是唯一一个能真·跨平台的而且用着还不错的语言了

    【 在 xiaoju 的大作中提到: 】

    : C#两件传家宝,await加linq,单独一件就可以吊打C++业务代码了。业务逻辑代码无非担心两件事,不要瞎jb阻塞,不要在数据集合里面淹死。

    : 不过现实世界也有大批C++程序员,把C#当C++甚至C来用。。。

    星期日
  • Re: 普及计算机的逆过程正在发生,是我的幻觉吗?

    其实就算有好奇心,长年保持好奇心和进取心,事实上是个很困难的事情,绝大部分人都做不到的

    用水木技术版块举个例子,十多年前水木最火的版块是cpp版,常见的id有netmd,ctrlz,rockcock(?)等等,其中很多人以读cpp标准那个大几百页的文档作为入门基础。

    现在这些人都不见了,也许有些是环境变化了不在来水木了,但更可能的是,大部分人不再保持好奇心了

    【 在 vfivept 的大作中提到: 】

    : 有一部分人永远不会对任何技术有好奇心。之前手机和计算机不普及,到不了这些人的手里,现在可以到这些人的手里了,才被你看到。

    02月18日
  • Re: 为什么 java 的 UI 能跨平台, c#的 wpf, winform 还不能跨

    都支持,包括移动端,主要是老浏览器,只能支持到ie11

    blazor分两种模式,一种是给浏览器发wasm,一种是兼容模式,给浏览器发js

    【 在 Hrun 的大作中提到: 】

    : 现在那些浏览器支持 WebAssembly 了?

    02月15日
  • Re: 遍历了一下电脑上的照片、视频和录音,将近7万个文件

    赞,winform的

    【 在 Laugon 的大作中提到: 】

    : 本青这个写得基本就绪了,正在审视清理重复的文件

    02月10日
  • Re: Kotlin Multiplatform Mobile前景咋样?

    我们开始项目之前仔细评估过,除了看到你这个性能测评之外,还看到了另外一个测评https://medium.com/@harrycheung/mobile-app-performance-redux-e512be94f976#.kfbauchtz

    他的测评结果是c++性能最好,其次是swift,然后是xamarin c#,都优于objc和Android Java。

    对于我们来说,不管这些具体测评结果的差异,至少可以得出xamarin做到了和平台原生语言的基本一致的性能,去除了我们的性能担忧。

    具体实践中,这种全平台一致性,有个别小坑,总的来说确实带来了不少开发和测试的便利

    【 在 z16166 的大作中提到: 】

    : xamarin在ios上是AOT编译为native code的,性能比Object C的差一些,大多数情况下用户对这个差异无感知

    : 这有个2017年的性能测试:

    https://www.altexsoft.com/blog/engineering/performance-comparison-xamarin-forms-xamarin-ios-xamarin-android-vs-android-and-ios-native-applications/

    : ...................

    02月08日
  • Re: Kotlin Multiplatform Mobile前景咋样?

    c# xamarin都已经实现这些功能,正式版好多年了

    我们开源产品用着xamarin性能还行,感觉和原生的是一个级别的

    喜欢Kotlin/Java语言的同学可以等等看,如果仅仅是想试试这些功能成熟之后的样子,现在试试c#就行了

    【 在 z16166 的大作中提到: 】

    : Kotlin Multiplatform Mobile,目前是Alpha阶段。

    : 安卓上就是Kotlin/Java那套,JVM运行;

    : ios上是用Swift写UI,最后编译成native代码(Kotlin -> native, 跟华为的方舟编译器是一样的)。

    : ...................

    02月08日
  • Re: 对 c#的异步数据流很失望

    需要管道的地方,dotnet有上面提到的Channels,还有dataflow和rx,还有更简单的和更复杂的。

    你需要做的是先确定自己的需求是什么

    【 在 feed 的大作中提到: 】

    : rt

    : 难懂

    : 为啥不学 Golang 的管道啊

    : ...................

    02月07日
  • Re: 请问相框用什么胶粘墙上比较好

    明白,感谢LOD和CardEasy。蓝丁胶看起来不是一个完美的选择,是个可以接受的选择。

    不知道尽量用小块能不能改善情况,我试试看

    【 在 CardEasy 的大作中提到: 】

    : 能粘下来,没问题

    : 就是累

    : ...................

    02月04日
  • Re: 请问相框用什么胶粘墙上比较好

    谢谢

    这个流下来的部分,能多粘几次粘干净么?

    【 在 LOD 的大作中提到: 】

    : 时间长了以后会像沥青一样流下来,特别恶心。

    02月04日
  • Re: 请问相框用什么胶粘墙上比较好

    是说残胶么?看网上说,多沾几下就能把残胶沾下来

    【 在 LOD 的大作中提到: 】

    : 不要用,时间长了很恶心

    02月04日
  • Re: 有一个问题:大家为啥安装linux系统

    360,ssh root弱密码,rm -rf /聊这些都没有什么意思,跑题了

    等搞Linux的人能提前防止Heartbleed,再聊安全性吧。

    否则用户都是一样信息泄露,非说哪个自己更安全哪个能自主可控,没说服力

    我的帖子从@ArchLinux 开始是开始回复他的了

    【 在 lvsoft 的大作中提到: 】

    : 不不不,完全不一致。这个例子你觉得恶心那就换个例子。

    : 比如闯红灯是犯法,杀人也是犯法。所以大家都是犯法,所以在座的各位和杀人犯本质上没区别(在座的各位有人从来没闯过红灯么?应该没有吧?)

    : 我是一直在用例子和逻辑在说服你呀,你哪里觉得我在谈信仰了?我前面给出了这么多案例,这么多url,哪个不是具体案例客观事实,哪个是在跟你空对空讲信仰的?

    : ...................

    02月03日
  • Re: 有一个问题:大家为啥安装linux系统

    是指可以完全控制住的,这个算是个人喜好

    【 在 No1 的大作中提到: 】

    : 我错了,比特币就应该是,大家好像还都不知道中本聪是哪颗葱呢

    : 不过人家的论文和代码明明白白地公开在那里,足够了,这就是最大的背书。

    02月03日
  • Re: 有一个问题:大家为啥安装linux系统

    "一个是吃米饭吃到一粒老鼠屎,一个是吃老鼠屎吃出一粒米。"

    那这么说那咱俩基本观点就是一致的,反正不管用哪个,普通用户都逃不掉吃到老鼠屎。

    剩下的无非是看东西角度不同导致的认为这俩碗哪碗老鼠屎多一点。

    哪个屎更多谁吃的更香咱俩就别讨论了吧,这个话题有点恶心

    @ArchLinux 开源软件的可定制化显然好不少,这个观点一致,不需要讨论的。

    至于普通用户需不需要改代码,还是希望开箱即用,用户根据自己情况选择不同的os就好了。

    前面一直讨论的是,Linux在安全方面并不是像你发的那个帖子中的图中表述的那么靠得住。

    Linux方面,代码十分复杂,而开发组织形式又相当松散,c语言本身又太容易搞出来漏洞,安全方面还是挺有挑战性的。

    说个题外的,我也是开源软件作者。

    之前不提,是希望可以通过事实和逻辑在论坛讨论清楚事情,而不是立场和信仰。

    就我个人喜好而言,我现在更喜欢有公司或个人背书的开源软件,

    比如.net core, sql lite等,其次是商业软件中质量好的那些,再次才是松散开发的开源软件中质量好的,

    再之后就有可能自己写或改了

    【 在 lvsoft 的大作中提到: 】

    : 你用了逻辑推导的形式,但你用的是诡辩的内核,所以你总是能得出匪夷所思的结论。

    : 首先,你想说的是控制用户是什么意思?在我的理解就是MS这个主体,出于为自己某些方面牟利的考虑,通过市场垄断地位控制用户。如果是这个意思,那https://en.wikipedia.org/wiki/Microsoft_litigation#Private

    : 这里面列了很多windows为了搞竞争对手,利用自己在OS领域的垄断地位,故意在自己的系统内搞不兼容,搞隐藏api等不正当竞争手段,来打击对手的事情。

    : ...................

    02月03日
  • Re: 墙上和门上贴春联用什么胶,比较好揭

    蓝丁胶

    【 在 ykmfs 的大作中提到: 】

    : 新装修的门和新刷的走廊墙壁,分别用什么样的胶贴春联和福字,后期揭的时候不会粘掉墙,不会残留在门上呢,谢谢

    02月02日
  • Re: 有一个问题:大家为啥安装linux系统

    普通人对于同行最尊重的方式是金钱支持,其次是使用支持

    就是所谓的有钱的捧个钱场,没钱的捧个人场

    觉得好还不用,这才是最伤同行心的

    【 在 xiaoxiao910 的大作中提到: 】

    : 老本用windows性能差,但是又没有换新本的动力和需求。

    : 平时写写代码、看视频、刷网页,linux完全足够了。

    : 平时操作习惯也比较适应*nix, 想做啥事情下意识的开个terminal。win的terminal功能有点鸡肋。

    : ...................

    02月02日
  • Re: 有一个问题:大家为啥安装linux系统

    开源商业?

    你这个帖子回复的我的那个帖子中第二句话就说了“我的帖子不是在说开源不好,开源有可定制化等好处。我的帖子是在讨论ArchLinux贴的那个图,那个图在说Windows控制用户,而用户可以控制Linux的。”

    开源啥的话题以后有机会再聊,我只说说和ArchLinux贴的那个图相关的

    是不是可以质疑任何一个os试图控制用户?

    先说从逻辑上推测:

    完全可以的。微软从dos开始,30多年装机几十亿台了吧,未曾听说过Windows试图控制用户,但现在不会并不代表未来不会。

    同样也可以质疑Linux,不能说可以质疑30年没有控制过用户的Windows,同样的问题质疑时Linux就变成了这是追求绝对的安全,用户还要付出对应代价。

    同样的问题质疑Linux时,可以发现Linux的大规模匿名提交是不安全的。

    如果认为匿名提交这个说法不严谨的话,可以换成“代码提交的最终实体的可穿透性,可追踪性和可持续追踪性”。

    c语言在安全方面太容易做手脚,做了手脚之后由于匿名提交机制又不用负责任还能挣到钱,Linux不可能是100%安全的。

    再说从实际情况上讲:

    Linux用户能不能控制自己的系统(从安全角度。从可定制化等角度聊就跑题了)?

    通过讨论Heartbleed事情发现至少99.9%的Linux用户也做不到,既无法预防恶意提交的安装,漏洞的修复也要等别人出补丁。尽管名义上Linux用户可以审计每个升级包的内容,但实际行为和Windows用户一样的

    所以既然逻辑上和实际情况上,对于普通用户,Windows和Linux在控制用户方面都差不多,Windows也许可能出现微软试图控制用户,Linux也许可能出现多个组织或个人试图控制用户,那ArchLinux贴的那个图的内容就是不正确的

    【 在 lvsoft 的大作中提到: 】

    : 开源之所以诞生,就是源于对商业负责能力的不信任。

    : 开源的诉求是自主掌控,能达到自己满意的,无上限的那个目标。而商业的诉求是盈利,创造一个好的产品只是盈利的敲门砖。开源和商业在大方向上是一致的,但两者的并不在同一个终点。这是两者的本质区别。

    : 对于代码审查问题,首先回答你的问题。开源赋予你的是无上限的能力,不是无上限的承诺和效果。对应的,商业公司也无法做出无上限的责任承诺,商业公司翻车的例子也只多不少。你用这种极端例子来举例并无法反驳我的观点。追求绝对的安全需要付出对应的代价。我们做事都要看投入产出,所以我能说如果这个系统我认为非常关键,那我就可以独立的确实的排除heartbleed漏洞。事实上我在一些项目中已经经历过类似的事情了。比如在某次四方会谈中,商业公司ABCD(都是500强哦)在互相扯淡踢皮球,每家嘴上都是各种承诺各种负责态度都是好的一塌糊涂,谈到具体问题就是需要时间需要费用需要沟通需要协调各种的拖。还好因为他们用了开源的系统,必须公布产品的源代码,我在听了他们扯了1小时的皮之后生气了,掏出笔记本10分钟现场解决了问题解散了会议。

    : ...................

    02月02日
  • Re: 最近墨盒暴涨了吗?

    epson的没有涨

    【 在 transporter 的大作中提到: 】

    : 用了几年的惠普打印机,原来墨盒单个装50多元,双只装100出头。

    : 现在单只装100-150元不等,双只装要250多元。咋回事

    02月02日
  • Re: 有一个问题:大家为啥安装linux系统

    是的,有大规模匿名c语言提交的很难搞

    所以我的帖子的观点是这俩都是麻子,谁也别说自己是小白脸,对方是坑人,ArchLinux那张图有问题

    【 在 tgfbeta 的大作中提到: 】

    : 我觉得在APT开始崛起以后,这种绝对意义上的安全恐怕至少要air gap或者更严格的规范才能搞定了。在APT面前软件系统是筛子这谁都没法改变。

    02月01日
  • Re: 有一个问题:大家为啥安装linux系统

    咱们现在聊Windows和Linux那个能让普通用户不被控制呢,是你上个帖子的内容。

    私有软件维护问题以后有机会再聊

    【 在 ArchLinux 的大作中提到: 】

    : 说到代码规模这块,你的观点就没说服力。一份结构清晰的源代码,可能一个人要花很多时间看完,但是只看他关注的那一部分难度不会很大,而看汇编的话要找到感兴趣的那一部分就需要很长时间,看懂汇编/混淆过的代码就需要更长时间。而且有些私有软件对机器码都混淆了,这就更难看懂了。

    : 拿现实的例子举例,就是NTFS文件系统,MS Office文档格式,NVIDIA GPU驱动这些私有软件项目,自由软件社区花了很多年的时间做逆向,到现在都没能搞出一个成熟的自由替代品。

    : 而且私有软件还有一个维护的问题,软件作者可能会因为公司倒闭、源码丢失或商业计划等原因停止维护一个软件,Windows XP,Windows 7,还有近期的Adobe Flash都是例子。如果是自由软件的话,就算作者都不维护了,用户照样可以拿着源码组织一个团队自己维护,就像RHEL/CentOS可以长期维护一堆过时的软件,而不会在出现大量漏洞的时候都没人修。这就是软件控制用户和用户控制软件的区别。

    : ...................

    02月01日