程序员都是胆小鬼 -- 两个凡是

宏哥 发布于 2016/09/06 17:34
阅读 1K+
收藏 0

程序员有个怪现象

做java的 见不得说java不好

写php的见不得说php不行

这个逻辑非常奇怪 说到底就是胆小 不敢面对问题本身

忘记自己要做什么 才纠结语言

我是从 c++ java开始编程 然后觉得它们效率低

 抛弃他们 其它被我抛弃的还有python

能达到 目标 任何语言都可以抛弃


抛弃

加载中
2
yak
yak

这不是胆小,这只是证明了屁股决定脑袋是宇宙真理

程序员真正胆小的地方在于那怕有劳动合同法支持,也是宁愿自己耗一身病过劳死也不敢要加班费,只有老板跪在地上把加班费高高举过头顶,程序员才敢战战兢兢地接过来

乌龟壳
乌龟壳
回复 @yak : 补充一点,当然你觉得不爽也可以和老板谈。不过谈之前先考虑清楚,你现在拿的工资,是不是已经代表了不加班企业同等岗位的工资+加班费的水平,不然自己不占理
乌龟壳
乌龟壳
回复 @yak : 本来这就是你情我愿的事,如果老板耍手段压榨不喜欢走人就行了,如果你眼里所有老板都这德性我觉得是你自己的问题
乌龟壳
乌龟壳
回复 @yak : 老板付出1块钱就能用10k把你招进来,老板为了10k招你,实际每月支出15k这都是老板的事。只要你能满意你的收益就行了。至于你说的老板从其它地方要求你比如加班不给加班工资什么的,你不乐意这个买卖就不做了走人就行。但另一方面如果你去哪都这样,10k的工资老板让你加班不爽,后来找了20k的老板让你加班也不爽,估计就是你自己的问题了
乌龟壳
乌龟壳
回复 @yak : 没看懂你的逻辑,说那么多不就和做买卖一样吗,你管人家买一送一,买纸巾送杯子,满100送50代金券等,最后你把整体作为个人收益考虑一下性价比就可以了,规则再复杂不也是钱的事嘛,五险一金也是钱的事儿。加班身体不好也是钱的事儿。你综合所有考虑就行了。
yak
yak
回复 @乌龟壳 : 这就是码农的想法,只管自己,不管洪水涛天,实际上5险1金码农要负担一部分,老板要负担另一部分,如果码农的生产率没有提高但要求涨工资,那涨工资多出来的成本谁来承担呢?老板说,这好办,羊毛出在猪身上
下一页
1
乌龟壳
乌龟壳
说好的只下命令呢
1
黑狗
黑狗

怎么老是喷语言? 不如来点儿实际的 做做开源多分享分享经验和案例多好 比如xxx你在用c++,java和py的时候 做了什么东西 后来改成xx以后又怎么个好法了 虽然不见得顶用 但是比每日一喷强多了

。。。。 如果已经又了 发出来我也学习学习啊 talk is cheap show me the code

理顺了我可能每天和你一起“凡是”了 - -

1
pwroselove
pwroselove
天天瞎扯淡,不就是谋生的工具么?
1
螃蟹大叔
螃蟹大叔

引用来自“eechen”的评论

@刘万杰 你知道PHP官方为什么不支持多线程么?不是开发组没有能力支持,而是开发组根本不待见多线程.为什么?因为PHP追求稳定,如果让程序员随便在程序里尤其是PHP-FPM这些服务里使用多线程,除了产生线程安全锁的开销,还容易导致PHP-FPM/MOD_PHP这些开发组用C实现的多进程架构的服务发生崩溃.当然了,PHP开发组也是对多线程提供了支持的,比如Apache的event MPM就是一个线程化的MPM,PHP会编译为线程安全版本配合其运行,另外PHP也提供了pthreads多线程编程扩展,但仅建议在CLI下使用.总而言之,PHP开发组就是不想让开发者掉到多线程这个坑里,PHP开发组不相信大部分开发者能用好多线程.

同理,为了稳定,PHP开发组设计的Web运行时都是一个请求一个生命周期,完成后释放资源,不依赖GC.对于PHP-FPM来说,一次请求释放一次资源,这种内存释放非常彻底. PHP基于引用计数的GC甚至都还没发挥作用程序就已经结束了. 而且,在PHP脚本中用unset显式释放内存也是立竿见影的,不会有延时. 函数外的变量(全局)手动unset或者脚本执行结束后就会被回收. PHP垃圾回收基于引用计数实现.GC关闭时,unset依旧能够正常工作. PHP-FPM下PHP脚本的生命周期很短,只在一个请求内,这时GC根本发挥不了作用. 可见GC主要影响CLI下长时间运行的PHP程序,比如swoole/workerman/composer. 因为内存得到彻底释放,所以PHP-FPM这类程序基本不会出现内存泄露和膨胀的问题.

峰哥的Swoole可以看做PHP界里的Node,多进程多线程事件驱动架构,内存常驻的服务,类似的还有WorkerMan.但这显然不是PHP的设计哲学.所以其他语言的拥趸不要看到PHP不这样做就以为PHP不能这样做或者PHP开发组没有能力这样做.

PHP的一些常识:
数据库连接池: PHP持久连接就是天然的透明的无需程序干预的连接池,支持MySQL/Memcached/Redis等.
内存常驻: PHP-FPM进程,ZendOpcache缓存的脚本的opcode,鸟哥开发的Yac都是内存常驻的.
垃圾回收: PHP-FPM一次请求释放一次资源的运行模式,削弱了基于引用计数的GC的作用.

下面这些配置就是给虚拟主机提供商用的,你看这贴心程度,就知道PHP开发组有多么注重PHP程序的可靠性和独立性.
pgsql.allow_persistent = On (默认允许打开持久连接)
pgsql.max_persistent = -1   (默认不限制最大持久连接数)
mysqli.allow_persistent = On
mysqli.max_persistent = -1

绝大部分JAVAer看起来不爽的地方都是有意设计的,它们是PHP开发组设计的结果.
呵呵,我只是分析两种语言的差异,你却觉得javaer的偏见,我用过很多种语言,并不是觉得java比谁好,写桌面端程序我喜欢用.net,写脚本我喜欢用python而不是shell,当然shell也会,大型项目以及工作中我喜欢用java,个人网站我喜欢用php,我觉得php开发程序成本比较低,这是其一,对于其他复杂的东西我觉得我的小站是不需要的,什么多线程、异步也是没必要的,但是对于一些复杂的系统是完全不可能脱离多线程和异步通信的,虽然php有解决方案,但是这已经脱离php本身的特性了,我还能说java可以调用c呢,.net可以调用java呢,纠结这么些东西有意思吗?一旦一门语言脱离了本身的特性,那它对于处理这样的相关业务就变得复杂了,什么线程池啊连接池呀这些更是冰山一角,那我再来谈谈php请求,php请求每次请求都会初始化一大堆东西,这些东西无法常驻内存,所以说对于并发来说,加载这些东西的时候都需要时间去加载,哪怕一毫秒一纳秒都是时间,如果能从内存中去取是不是比从硬盘中取快,当然也可以借助memcache等缓存,但基于这些总需要建立连接吧,连接需要开销吧,难道你觉得进程与进程间通信会比较快,进程之间通信有管道、有名管道、消息队列、信号量、共享空间、信号、套接字。最快的是共享内存,谈到共享内存又回到了java的原点了,对于php的实现是不是又变得更复杂了,一门技术并不是因为它难用或者容易出错就不去用它(PHP开发组就是不想让开发者掉到多线程这个坑里,PHP开发组不相信大部分开发者能用好多线程.),内存中直接读取数据是比其他方式快呀,这个是无可厚非的道理,为什么不用它,那用redis、memcache干嘛,不用呀。还有一些业务,比如说有一个请求,我要访问后台,但后台要做一大堆逻辑运算,其实我可能就只要一个用户名就可以了,其他逻辑异步的在后台处理就好了,干嘛要让用户一直等待,那这件事交给php去处理,先不谈swoole这样的一些框架,这些框架已经脱离了php的初衷了,php是不是可以用消息队列等去实现,或者交给另一个进程去处理,把当前进程释放掉返回给用户,当然方法有很多种,别说php,java、python、nodejs也能找到很多种解决方案,但这些处理方式虽然能解决问题,是不是变得相形见拙,一个应用的架构模式可以分为:分层、分割、分布式、集群、缓存、异步、冗余、自动化和安全。这些我可以说php都能找到相应的解决方案,但是其中一些东西是不是比其他语言好用那就值得思考一番了,我还是那句话,我并不是说搞php的比搞java的差到哪儿,做开发者的特别是后台研发的应该分析每种语言的利弊,在实际的场景中,这在你的项目技术选型上能找到一种更合适的技术去解决你的问题,当然做互联网的同仁们一定要清楚一点:解决互联网技术问题永远也不要想着能找到一个十全十美的解决方案,只有更合适的。任何问题都是利弊冲突的,都具有两面性,都有好有坏。
骨二
骨二
比较中肯的说法
乌龟壳
乌龟壳
木有用的,一说PHP的缺点人家就像踩到尾巴一样跳起来以为你说PHP垃圾。已经产生不健康的信仰了。
0
netkiller-
netkiller-

中国人就这德行。

开德系车的说日本车不好,开日本车的说德系车不行。


0
黑暗圣堂武士
黑暗圣堂武士
宏哥什么公司的?貌似是个外包公司?
Sel8616
Sel8616
不知道,反正移动技术群里也有他
0
pantrick
pantrick

可惜你的目标群太狭小,这种只能说明你面对的都是低层次的,很多忍各种语言都懂,不会那么

0
宏哥
宏哥

引用来自“抓瓦工人”的评论

可惜你的目标群太狭小,这种只能说明你面对的都是低层次的,很多忍各种语言都懂,不会那么

很多 CXO都是这样的
0
叫我刀刀
叫我刀刀
宏哥 威武
返回顶部
顶部