自由践行 潜水
  • 2发帖数
  • 2主题数
  • 0关注数
  • 0粉丝
开启左侧

在技术层面上,C#就是吊打PHP

[复制链接]
自由践行 发表于 2021-8-19 09:15:00 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
写过几篇关于C#的文章,引来了不少讨论。
之前我不停偶然于各种编程语言的纷争,在我的认知里每种编程语言都有它的特点,适合不同的场景,选择一个满足用户需求的才是最明智的。
但是现在不同了,C#在Anders Hejlsberg的领导下,一路披荆斩棘,现在已经遥遥领先于各类语言,而且随着微软对跨平台的支持,VS这个世界第一的代码编辑器,我好像看到了秦国要统一六国的影子,优秀的语言淘汰掉队的语言,就像汗青选择一样,不也挺好吗?
先挑软柿子捏,PHP:)
我做码农20多年,用过不少语言,C#是用得最多的,也是现在的主要开辟语言。可以说现在的C#已不再是原来那个只能开辟windows应用程序的鸡肋了,于是我就说:PHP与C#根本就不是一个量级的。结果这句话,引起了PHPer们的剧烈不满:
◆呵呵,什么时候连net的也敢来说吊打php了。什么世道?
◆吊打php就算了吧,效率瓶颈更多不是语言本身,而是数据库,架构等影响的。facebook不也用php?除了微软自己,你再找一个大规模用net的来看看?
◆Php你会吗?
◆吊打?你不感觉脸红吗?你难道没有犯罪感吗?
◆起首应用场景不同,其次很少软件有什么屌炸天的功能必要优化到语言实行效率上,软件实行瓶颈在硬件设施上,最后学习成本上,php要低许多
◆胡说八道 php是web开辟王者,不是因为成本低,而是因为它就是为web而生
◆胡说八道 继续吹net
......
今天公平起见,我不比桌面应用,就以PHP最善于的Web项目来举例子,让那些PHPer们看看,PHP跟C#语言相比有多么严峻的缺陷。
之前做过一个微信现场摇一摇的项目,时间比较紧,所以就在网上找了一套现成的PHP代码,简单修修改改,匆忙上马。成本方面,不得不说PHP有非常大的优势,复制过来修修改改就能用,Apache、MySql都不用花钱。
结果没几天,用户反馈说摇一摇人少了正常,人一多服务器就崩了,100多人一起摇就不行了。
有问题肯定要解决嘛,于是查代码,发现了此中的逻辑:每个手机每摇一次,都要到后台数据库把计数加1。极端情况下,100多人1秒钟内就可以摇5下,数据库1秒钟就要写500次,而且还要做同步处理,这啥服务器能受得了啊?这TM是哪个垃圾程序员写的代码!
当时我想,原因找到了,解决还不简单吗?根本不必要每次都写数据库,只要做一个全局哈希表的缓存,每个人的计数都只在缓存中更新,游戏结束之后再批量更新到数据库,不就解决这个问题了吗?
然而想法是美好的,我用了PHP的全局变量,也记录了结果,但是不对啊,每个用户都只能访问自己的,汇总那里根本取不到值啊,百思不得其解。查资料一看懵逼了,PHP竟然没有所有效户共享的机制,所谓的全局变量只是针对当前用户的全局变量,而不是所有效户的全局变量,要想实现只能通过数据库、文件或memcached等外部方式来实现。数据库和文件肯定性能低,memcached我一看,这不就是再设置一个网站专门存储内存变量吗?这也叫解决方案?在C#中几行代码就能搞定的事情,在PHP中因为本身不支持,就得再配一个网站,简直超越了我对软件架构设计的想象,PHP不是世界上最好的语言吗?就这?我到此刻也终于理解那个程序员为什么每摇一次都写数据库了,这种性价比最高,小规模使用没问题,大规模有问题了你得回头找我来提供服务。
理解归理解,问题还是要解决。
既然无论怎样都要再配一个网站,我就索性用c#+asp.net写一个,毕竟这个是高频应用,脚本肯定没有编译好的二进制效率高。于是用C#写了一个缓存接口,在php中调用,以后这个项目2000人的摇一摇都没再出过问题。
从成本上说,PHP确实有优势,前提是项目简单要求不高,且有现成代码可以使用的基础上。
从技能上说,PHP相比C#没有任何优势,C#就是吊打PHP!PHP能做的,C#都能做;C#能做的,PHP许多做不了;C#与PHP都能做的,C#也有能力比PHP做的好。
欢迎PHPer们来喷,也欢迎C#er们来支持:)

                               
登录/注册后可看大图

精彩评论20

自娱自c乐 发表于 2021-8-19 19:28:24 | 显示全部楼层
我就想知道,其他编程软件只需要最多500来m的空间就能配置好环境,c#是多少,而且,你能不能别占用c盘空间
无语40916896 发表于 2021-8-19 22:46:41 | 显示全部楼层
仅就语言而言,C#非常完美。用过C#、Java、javascript做过服务端、手机端、前后端分离的项目,框架使用过mvc、vue……
天涯学馆 发表于 2021-8-19 18:46:34 | 显示全部楼层
创业公司php都是首选,面向数据编程,速度快!前后台一个都能搞,迭代快!成本低!用java慢慢搞 产品没出来公司就被拖死了。
深度影响力 发表于 2021-8-21 23:27:55 | 显示全部楼层
除了部署方便,C#完胜PHP。C#飘逸的语法,写起来行云流水,扩展方法、linq、事件、异步、注解 哪个不香?web方面,asp.net core的管道机制,为系统提供了无限的扩展可能。Razor语法、强类型的智能提示、编译时错误检查,还有Blazor。项目越大,越能体会出.net的优秀。有人说VS安装后会占用多少个G,我想说现在硬盘都已经白菜价了。
大有—上吉 发表于 2021-8-19 13:04:56 | 显示全部楼层
靠,你的网站居然只有一台web服务器,当你为2台以上web服务器设计时,你就知道php 的好了。
顺势而动99 发表于 2021-8-19 21:22:43 | 显示全部楼层
php天生就是基于多进程模型开发的,但是他的多进程都已经集成到比如fpm上面了,如果是Apache,就是Apache2handler,为什么要如此设计而不是把多进程交给dev去管理,就是为了方便稳定,降低程序员门槛,如果在多进程中用全局变量必然设计到锁,并发等问题,这无疑不是php的初衷,况且现在用持久化存储软件是通用方法,你的业务更是如此,当然缺点就是牺牲掉了php的高性能
whowin1963 发表于 2021-8-21 00:17:37 | 显示全部楼层
C#居然已经沦落到去和PHP争高下的地步,可喜可贺。但是PHP既可以在Windows下运行,也可以在各种Linux发行版下运行,C#可以试着比一下这个方面。
比尔盖茨他爷爷 发表于 2021-8-19 18:58:37 | 显示全部楼层
html才是最好的编程语言[泪奔]我只会html
爱你de小鱼儿 发表于 2021-8-20 11:30:07 | 显示全部楼层
c#能写web程序吗?桌面我用delphi......web我用php
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

猜你喜欢
在线客服QQ
2241998733

24x7小时免费咨询

Powered by 创意电子 ©2018-现在 专注资源实战分享源码下载站联盟商城繁体中文