作者pig (欢迎加入猪头党)
站内MAC
标题Re: [麦书] 用mac写程式的好处
时间Sat Apr 7 12:23:49 2012
※ 引述《iincho (世界的尽头)》之铭言:
: ※ 引述《Killercat (杀人猫™)》之铭言:
: : 5. 强迫自己跟别人POSIX标准
: : 这个应该很多人有这种经验,接手一组code想要重复利用结果发现编译错误一堆
: : 仔细一看里面居然充斥了一堆win32 api像是CreateThread(...) CSocket...
: : 为什麽不乖乖用POSIX标准的__beginThreadEx跟SOCKET呢(怒吼)
: 这个Linux底下可以做得更好。
理论上来讲,Mac OS X 的 POSIX 相容会比 linux, freebsd 这类的
unix-like os 来得完整,我看不出有 linux 会做得更好的理由。
再者 linux 的 developer 常常会把 linux 当作 unix 的全世界,
结果写出一堆 linux only 的东西,别的系统要用还要 patch 来 patch 去,
最有名的就是 bashism 的现象,明明 sh 就可以实作的东西,就是硬要
#!/bin/bash 啊这样是比较潮吗?
--
Do you hear the people sing? Singing a song of Angry Birds.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.42.22
1F:→ iincho:问题就在OSX目前还是小众,很多东西都是Linux only... 04/07 12:26
2F:→ iincho:这年头连FreeBSD都有可能有些程式跑起来怪怪的... 04/07 12:27
3F:→ iincho:这个不是技术问题,而是目前生态就是这样,你跟我说没用啊. 04/07 12:27
4F:→ iincho:就像我前几天要用Python的MySQLdb, 你可以去看一下网路上 04/07 12:28
5F:→ iincho:有多少人在哀嚎OSX上面不能装.. 04/07 12:28
6F:→ pig:所以Killercat说在mac下面可以强迫自己跟标准,结果你却说 04/07 12:28
7F:→ pig:在linux下面可以做得更好? 更好生出一堆linux only的程式叫更 04/07 12:29
8F:→ pig:好? 本来写一堆windows only的程式变成写出一堆linux only的 04/07 12:29
9F:→ pig:程式,你跟我说这叫生态,我无法接受。 04/07 12:29
10F:→ iincho:我就算用Windows写我也可以写出符合POSIX标准的code.... 04/07 12:30
11F:→ iincho:这个和RD程度有关系,但是问题在於你没有办法控制别人... 04/07 12:30
12F:→ pig:"强迫自己跟别人POSIX标准" 04/07 12:31
13F:→ iincho:我说过那是RD程度的问题..... 04/07 12:31
14F:→ pig:人家也没说要限制别人啊 04/07 12:31
15F:→ iincho:问题是你总有东西会碰到Linux only的,我不是说你用的lib 04/07 12:32
16F:→ iincho:而是很多人家写的tool就是Linux only... 04/07 12:32
17F:→ pig:所以在linux下面可以做的更好是什麽情况? 04/07 12:33
18F:→ pig:你一直讲说就是会遇到linux only的和这个有什麽关系? 04/07 12:33
19F:→ iincho:有些还限制某些distribution才能跑, 玩过gentoo也很惨烈 04/07 12:34
20F:→ pig:所以说哪套linux才是linux? 04/07 12:34
21F:→ iincho:工作没必要替自己找麻烦,什麽场合用什麽东西就好... 04/07 12:34
22F:→ pig:如果是看工作的话,那当然是看板子,看SDK挑平台啊,除非你是 04/07 12:36
23F:→ pig:hacker想要挑战。 04/07 12:36
24F:→ pig:不过这边又可以讨论到开发机跟工作机的区分了,好像也没那麽单 04/07 12:37
25F:→ pig:存就是。 04/07 12:37
26F:→ pig:只是这段原本Killercat是认为用mac可以强迫自己写出标准的东西 04/07 12:39
27F:→ pig:我觉得没什麽不合理的就是,要考量别的因素那又是另外一回事了 04/07 12:40
28F:→ iincho:如果你写的东西跑在server上很多时候根本不会deploy到OSX.. 04/07 12:41
29F:→ iincho:这时候你手上有个lib OSX偏偏跑布起来你用是不用..:p? 04/07 12:41
30F:→ iincho:这就是开发环境和布署环境不同会出现的矛盾..... 04/07 12:42
31F:→ iincho:所以我个人认为Macbook不写iOS或是OSX程式基本上没啥优势 04/07 12:43
32F:→ pig:so what? 这已经超过原题了吧 04/07 12:43
33F:→ iincho:没有,现在最大宗的非Windows开发基本上都是走Linux... 04/07 12:44
34F:→ pig:你要也抓一个共通可用的东西来讲,像是开发php ror 之类的 04/07 12:44
35F:→ iincho:你只写PHP/RoR可能感觉不出来,做比较底层的就...嗯... 04/07 12:45
36F:→ pig:原题是 "强迫自己跟别人POSIX标准" 你要不要看清楚再回? 04/07 12:45
37F:→ pig:做底层废话,你写linux driver当然需要linux 04/07 12:46
38F:→ pig:不过我可以告诉你,其实我linux kernel module 几乎都是在 04/07 12:46
39F:→ iincho:不一定是driver,我写App的时间恐怕还比较多... 04/07 12:46
40F:→ pig:freebsd + kde 写的,没有为什麽,纯粹就是爽,然後就用习惯了 04/07 12:47
41F:→ iincho:所谓的强迫POSIX标准另一种解读就是一堆Lib没有啊.. 04/07 12:47
42F:→ pig:那你一定养成没事就从 proc 乱挖东西以为全世界都通的良好习惯 04/07 12:47
43F:→ pig:"强迫自己跟别人POSIX标准" 跟 "有些lib没有" 是两回事 04/07 12:48
44F:→ iincho:说真的啦对大部分的情况我不觉得这是优势就是....XD 04/07 12:48
45F:→ pig:他只说这是他喜欢用的原因啊 04/07 13:08
46F:→ vanix:猪大的freeBSD+kde是用PC-BSD吗,还是自己装的 0.0? 04/07 17:09
47F:→ pig:那台是自己装的,不过 pc-bsd 我也有在用就是 04/07 20:13
48F:→ jyuny1:所以我之前都是用 #!/bin/tcsh 支持 FreeBSD (误) 04/07 22:03
49F:→ ilay:我也曾经坚持freebsd...但跳去debian後就没回去过了0rz 04/07 22:49
50F:→ vanix:thanks! :D 04/07 23:28
51F:→ pig:我现在的主力是freebsd 跟 archlinux 04/08 21:08
52F:→ pig:debian 玩票性质的用 mint 来灌,轻松不费力 04/08 21:09