Soft_Job 板


LINE

※ 引述《y2468101216 (芸)》之铭言: : 身为一个PHP工程师,我不推荐新手学php的理由如下: : 新手会马上碰到一些5.6的规则到7不适用了。 5.6 到 7 的话没那麽容易碰到 新手比较容易碰到的地雷是 mysql_* 不能用了,这可以走 mysqli_* 或是用 pdo 另一个比较容易踩到的是 list() 有时候顺序会反,不过那是原本的行为很雷 : 2. 那些不会升级的雷坑 : php在台湾很多工作,但很多雷坑,你很难想像会有公司还在用php4这种老旧的东西。 : 基本上低於5.3的公司我觉得满多的,低於5.3的话你就没办法用composer这种好东西。 : 然後你的开发速度就会被python、ruby屌打,因为他们有pip跟gem,而且 : 技术也不会进步,更糟的是你没时间上网练习新的东西! : 3. 薪水!薪水! : 就美国统计而言,ROR薪水常常在前三,PHP经常性的在後段班。 : 新手走这行有8个是为了赚钱、1个为了创业、1个是有兴趣。 : 为了钱着想,学php实在不是说是一个很好的选项。 : 在台湾ROR薪水平均也是高於php便是。 : 参考资料:https://goo.gl/nzy3lB 这两点可以合在一起简单的说「你学 PHP,你能找的工作比较 suck」 不过我想这不是「所以别学 PHP」的理由 重点是你基本功如何,你对整个系统的掌握度多少 我身边会去学 Ruby 的人大概分两种 - 用 RPG Maker 的(不过 RPG Maker 新版改用 javascript) - code geek code geek 本来平均薪水就比较高,这因果反了。 反过来,如果今天只是个学了 RoR 的新手,但是基本功还不深厚 大概也拿不到那些高薪的工作 不过有一点很写实, PHP 5.3 之前没有 composer 的人生是满 suck 的没错.....Orz 虽然不用 composer 没有 autoload 也可以把 code 写得很乾净,但那需要非常强悍 的技术力跟政治力同时下来... : 4. 语言的局限性 : 并不是说php不能在cli下面跑这样,而是其他语言屌打cli的部分。 : python、java、javascript都不限於web上,路太窄有时并非好事。 这误会很大(正色 我自己在公司就用 PHP 写了十几二十个 cli 指令来做日常工作 甚至连 git hook 都用 php 来写 PHP 处理大量字串效能确实有点糟,但爬个几千万行的 log 还算是一片蛋糕 (速度跟 awk 比当然差很多,不过 awk 不能戳 DB..) 而且也可以像人形蜈蚣一样一个 pipe 一个,用起来没什麽不便 如果要说跟 python 比,也许 PHP 会难写一点(我跟 python 不熟) 不过用起来顶多是菜刀跟西瓜刀的差别,还不至於变成塑胶拆信刀 而且....要讲 cli,怎样都不会把 Java 拿出来说嘴 连老手都很少人能不用 IDE 能写 Java 了,谁没事在 cli 上面用这东西... : 5. 教学 : 不吐不快,我随意google了几篇php tutorials,前三篇都没提到composer, : php官网的Installation and Configuration,竟然没提到php有内置server。 : python跟node.js都会提pip跟npm欧。 : 难怪大家都说入门看php:the right way最好, : 光是想到台湾还有一堆php6的书在误人子弟,真是够了。 well, 这倒是血淋淋的事实... 所以才会很多人对 PHP 误会很深 是的,PHP 是个瑕疵很多的东西,就像我在用 array_* 或是 str* 的时候 永远搞不清楚第一个参数应该放谁,或是字串处理慢得要死(处理上G的log很有感) 或是一年至少踩到一次自动型别转换的地雷 但是 PHP 并不是不能用,他依然很好用 -- 不可以!那是黑鹰族的精神象徵! --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.218.242.230
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1456196795.A.538.html
1F:→ GALINE: https://leanpub.com/b/non-webphp 然後就被推了这个书单 02/23 11:50
2F:→ y2468101216: 可能是我误解了CLI(command line),我同事基本上是处 02/23 13:27
3F:→ y2468101216: 里oracleDB转换成mssqlDB他是选择用java写 02/23 13:28
4F:→ y2468101216: 後来我接这块时改用PHP写,效能确实是有差 02/23 13:29
5F:→ y2468101216: 对资料库做大量IO时我还是倾向於要先编译的语言 02/23 13:30
6F:推 Blueshiva: 如果是连DB的话,driver的差异有考虑进去吗? 02/23 13:54
7F:推 y2468101216: oracle跟mssql driver都是官方提供 02/23 14:32
8F:→ y2468101216: 你要用开源风险很高 02/23 14:32
9F:→ Blueshiva: 我指的是PHP/Java连DB的driver,不是很熟但印象中他们 02/23 14:34
10F:→ Blueshiva: 会对最终效能造成影响 02/23 14:34
11F:→ y2468101216: PHP我是用oci8原生,不是pdo_oci8,JAVA部分我要看 02/23 14:51
12F:→ GALINE: 用第三方 lib 来戳 DB 的时候,例如 Laravel 的 ORM,效能 02/23 15:12
13F:→ GALINE: 可能会被吃掉不少,直接用 pdo 去戳的效能我觉得过得去 02/23 15:13
14F:→ GALINE: 原生 driver 就要看官方 driver 写得如何了.... 02/23 15:14
15F:推 Blueshiva: 应该说,连DB的效能取决三段,语言/driver/DB,问题是 02/23 15:17
16F:→ Blueshiva: 不同语言连的driver就不同了,所以用连DB效能反推语言 02/23 15:17
17F:→ Blueshiva: 效能,误差应该蛮大的。不过@y2468101216的用法本来就 02/23 15:18
18F:→ Blueshiva: 是串在一起用,所以合在一起考量是必要的。只是不太能 02/23 15:19
19F:→ Blueshiva: 用这个结果来说PHP或Java效能的差异 02/23 15:19
20F:→ y2468101216: 难不成mssql跟oracle有官方以外的选项? 02/23 15:21
21F:→ y2468101216: 我懂你意思了,不过php的driver是用C写的(我的记忆 02/23 15:22
22F:→ GALINE: 是说,会需要在意这种事情的时候,也不是新手了.... 02/23 15:23
23F:→ y2468101216: java的要看就是,我跟java不熟 02/23 15:23
24F:→ y2468101216: 新手做老手的事情不是台湾常干的吗 02/23 15:24
25F:推 Blueshiva: 都是C写效能也可能差很多啊 XDD 中间变数太多了 02/23 15:37
26F:→ y2468101216: 我来搜寻看看有没有人干driver的问题 02/23 15:44
27F:推 kiwatami: db牵扯到的效能影响太多了 光是sql语法跟log buffer调 02/24 08:54
28F:→ kiwatami: 整就差了十万八千里 拿来比较效能不客观 sql语法不同 02/24 08:54
29F:→ kiwatami: 程式写法也有差异 一笔一笔写跟产生store procedure不 02/24 08:54
30F:→ kiwatami: 论是程式面还是DB效能差异都颇大 前者在程式写法的影响 02/24 08:54
31F:→ kiwatami: 又更多一些 另外Aqua Fold好像就有DB migration的解决 02/24 08:54
32F:→ kiwatami: 方案了 02/24 08:54
33F:推 Blueshiva: y2468101216讲的方式,应该可以忽略DB本身特性的问题, 02/24 10:31
34F:→ Blueshiva: 因为都是从A DB转资料到B DB,只是转移工具是用Java跟 02/24 10:32
35F:→ Blueshiva: PHP写,没理由用Java的时候就把DB tune到飞快,用PHP的 02/24 10:32
36F:→ Blueshiva: 时候就刻意tune慢 XDD 02/24 10:33
大批资料转移算是比较特定的问题,不会是新手的烦恼 而且以这个特定例子,我不觉得用 ruby 或 python 能快到哪里去 XD 主要是 PHP 堪用,市占率高,容易上手,周边支援完整 对新手来说,能完整做出东西比什麽都重要 而对於要深入的人来说,PHP 不但可以应付大部分的柴米油盐需求 真的很闲的时候也可以拿来写 Gameboy 模拟器,吃饱太闲吗这人 =__=a https://github.com/gabrielrcouto/php-terminal-gameboy-emulator ※ 编辑: GALINE (114.27.95.249), 02/24/2016 12:21:42
37F:推 v2266514: 说真的,他们都只是个工具。都能达成大部份需求,只是不 02/24 22:17
38F:→ v2266514: 同的需求用特定的语言比较有优势,或是省下功夫。所以初 02/24 22:17
39F:→ v2266514: 学者不妨从看的懂或用的顺手的语言下手,等到在一个语言 02/24 22:17
40F:→ v2266514: 奠定相关的基础後再转也不迟 02/24 22:17
41F:推 kiwatami: 不同的DB设定对於不同的程式写法差异本来就很大 02/25 08:35
42F:→ kiwatami: 调整的越不好 跑起来的差异就会越大 02/25 08:35
43F:→ kiwatami: 并不是两次测试设定值都不同的意思 怎麽可以忽略 02/25 08:35
44F:推 Blueshiva: @kiwatami不过你之前讲的那几个差异性,其实都可以设定 02/25 13:08
45F:→ Blueshiva: 成一样,所以要比较效能的时候其实可以忽略 02/25 13:09
46F:嘘 lonki719: 写程式的都很辛苦,半年一年就出新技术,要一直学习, 03/15 21:23
47F:→ lonki719: 分什麽初学者? 03/15 21:23







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP