查看: 1374|回复: 10
|
编程界里的DEPENDENCY
[复制链接]
|
|
看了dark_heaven 的MFC 教程,当说还是不当说,也看了dark_heaven的贴,我也来学学dark_heaven 来接酒行凶,写了这篇文章。
内容纯粹为个人看法,意见相同者可以顶,意见不合者可以反驳。
以下将是我的一长篇肺(废)腑之言,请坐稳了。
一直以来我都被LICENSING 困扰着,虽然许多在籍学生都不以为意。
显然的,翻版是其中一个让他们对LICENSING ISSUE 不SENSITIVE 的重要因数。
这里,我并不是责怪使用翻版的人,因为我自己也使用着好些盗版软件。
我甚至向朋友说过:我能够读IT COURSE 是因为盗版商是我的SPONSOR。
试想,一个VISUAL STUDIO 要几千马币;如果不是盗版,我也不可能学会使用它。如果你电脑里录有盗版PHOTOSHOP,FLASH, 3D STUDIO MAX,VISUAL STUDIO, XP, OFFICE, CRYSTAL REPORT……这台电脑不算HARDWARE 价钱,在外国可要好几万USD 了。在马来西亚- 7 X RM5, 只要RM35。
看得出,马来西亚IT 界学生因该利用这个机会,可以同时学习掌握多个软件的操作,可比任何美国学生强多了?!(这一句话有待考验,因为事实并不如此)
当然,我还是不鼓励使用盗版的。
对LICENSING 不敏感的学生,自然不会察觉到DEPENDENCY 的 ISSUE 了。
当作出使用Visual Baisc 或 wxWidgets 的分别时,就不把LICENSE 放入为考量之一(RM5 和 0 没分别,VB还好用得多)。使用JAVA 和 .NET时也并不管这两者的VIRTUAL MECHINE的LICENSING。
JAVA 和 .net 都是跑在VIRTUAL MECHINE 上的。唯一的分别是,.net 的VM DESIGN 是OPEN的(所以有OSS 的IMPLEMENTATION - MONO), JAVA 的DESIGN 却是CLOSE 的(完全属于SUN 所有)。 更重要的是,两者都是CLOSE SOURCE。大家应该知道VIRTUAL MECHINE 是整个CORE,没了他们,你的JAVA 或.net PROGRAM 去到哪里都不会跑。
这就是一个简单且严重的DEPENDANCY。而这些VM的持有者是大集团-MICROSOFT 和 SUN。他们可以为了任何商业考量而更改VM 的IMPLEMENTATION。而当这些基层的东西一变动,难保任何依附在上的东西不会受到影响。
人们在编程世界里的历史都是从LOWER LEVAL 爬上HIGER LEVAL。
上了更高的LEVAL/LAYER,可以使开发时间减少,越容易使用,同时会越多DEPENDANCY,却也会更PORTABLE。下到越LOW LEVAL,可以使PERFORMANCE 跑得越好,越多CONTROL,越少DEPENDANCY。这两者都是相对的,你越多我就越少。
大集团创造出HIGHER LEVAL 的东西,越多人使用它就越有价值,就越多人被他控制。又拿JAVA 为例子,现在很多人用着他,SUN 也没向任何人收钱;突然一天,SUN 决定向JAVA 使用者收钱时,许多人才惊觉自己已经被CONTROL 了。如我不要给钱,但已用JAVA编程了这么多年,突然叫我转去其他LANGUAGE, 不行啊!(写到这里觉得有点像MATRIX 世界……)可见,DEPENDANCY通常也都和权利、金钱挂钩。
当然HIGHER LEVAL 的东西不是罪恶。曾经,C的推出让许多ASSEMBLY 使用者抗拒。多年之后,C成为了一个STANDARD后,人们也就开始接受了。这其中最主要的是:C LANGUAGE 不属于任何商业集团所拥有。
那么,用C/C++ 来编程就不会有DEPENDENCY 吗?不然,除了对PLATFORM 的DEPENDANCY 外,你还会使用其他的LIBRARY。拿写游戏来说,你可能需要用到DIRECT X,那就是DEPENDANCY。如果你要好的SOUND LIBRARY, 用FMOD,FMOD 就是DEPENDANCY(COMMERCIAL 的FMOD 是要付钱的)。如果你写COMPRESSION,有用到 LZW ALGORITHM, 那也是DEPENDANCY(对!连ALGORITHM 也有LICENSE,GIF 便为了它闹到风风雨雨)。
我们不可能完全脱离DEPENDANCY,也不应该完全依赖某个集团的技术(除非你在哪个集团有很大股份可以作决定)。
收费的DEPENDANCY可以是一个雪球,越滚越贵。拿FLASH 作例子。MACROMEDIA 要使到FLASH 收许多人的欢迎,首先是每个BROSWER 都要SUPPORT,最好是BUILD-IN FLASH PLUGIN 的。要在IE 里BUILD-IN,当然要付费,也便是DEPENDANCY了。这钱算在谁的头上?就是开发者了。你买MACROMEDIA MX STUDIO,要RM2000 多,里边可包括了OUTPUT GIF 的LICENSE,IE DEFAULT PLUGIN的费用等等。而你作为开发者又算在顾客的头上。过了那么多层,价格就更贵了。
学生应该老老实实从基层做起,学习真正的PROGRAMMING LANGUAGE。
工作了的PROGRAMMER受商业限制,顾客要什么就做什么给他,而往往开发时间的考量不应许使用少DEPENDANCY 的东西。我也知道许多老板都不介意买个LICENSE,为长远打算出点小钱无妨。但是现在OPEN SOURCE 已慢慢成熟,许多OSS 的LIBRARY也可以和商业竞争,不妨一试。
创业的PROGRAMMER,资金永远不够,当然是越少DEPENDANCY 越好。他们通常都会选择少DEPENDANCY 的方案,如OSS。
当然这里所说的是技术上的DEPENDANCY。在现实生活中,还有许多其他人为的因素,也可以造成一种DEPENDANCY。随便打个例子,你老板便是你的DEPENDANCY,他说要用什么就什么。
如果你是有志人士,希望对马来西亚的IT业贡献,就因该决定脱离集团性的技术、采纳OSS 的东西,化为己有。这可以减少外汇的流失,同时提高国家的保安程度。
(这也就是为什么中国要开发自己的OS)
对于DEPENDANCY,越少就越好,完全没有就是理想(幻想)世界了……
我写得好累了,要睡了。长编文章中不可能没有漏洞和错误,还有望指出。
[ Last edited by exiang on 26-8-2004 at 08:54 PM ] |
|
|
|
|
|
|
|
发表于 24-8-2004 09:44 AM
|
显示全部楼层
Java 也是 Open 的, BEA 有自己的 JVM, 那就是 JRockIt, 也是免费的. |
|
|
|
|
|
|
|
发表于 24-8-2004 09:55 AM
|
显示全部楼层
我一位前辈就是为了 independency 走一条花了三年还没出炉的 电脑语言。
纯用 C 开发,不加任何 MFC 或 第三者软件。 |
|
|
|
|
|
|
|
楼主 |
发表于 24-8-2004 10:57 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 24-8-2004 11:34 AM
|
显示全部楼层
JRockIt 的确不是 Open Source, Java 不完全是, .Net 也不完全是.
Java 只是 Open Standard (公开了部分 sturcture/framework 什么的, 我也不知道...), BEA 才能根据 Java compiler 的基础, 制造出一个更好的 compiler. 如果 Java 好象VB6 那样, BEA 也无法制造另一个 VB6 compiler. |
|
|
|
|
|
|
|
发表于 24-8-2004 12:15 PM
|
显示全部楼层
小弟也是支持用正版,因为毕竟自己是开发人员嘛
但可悲的是自己的翻版比正版多。
想当年计划开发 3D 虚拟环境,其中需要 Maya 来协助开发
岂知 Maya 一个 Copy 就是 RM 46 000++
只好放弃
试想,一个VISUAL STUDIO 要几千马币;如果不是盗版,我也不可能学会使用它。如果你电脑里录有盗版PHOTOSHOP,FLASH, 3D STUDIO MAX,VISUAL STUDIO, XP, OFFICE, CRYSTAL SPACE……这台电脑不算HARDWARE 价钱,在外国可要好几万USD 了。在马来西亚- 7 X RM5, 只要RM35。
看得出,马来西亚IT 界学生因该利用这个机会,可以同时学习掌握多个软件的操作,可比任何美国学生强多了?!(这一句话有待考验,因为事实并不如此)
exiang 大哥说的这句话,小弟认为事实的确不如此,
原因是可以接触太多了,这反而不好
无法集中去学习和开发。
再者也可以说是就因为价钱便宜,所以就少了一份坚持、誓死的学习心态 |
|
|
|
|
|
|
|
发表于 24-8-2004 12:21 PM
|
显示全部楼层
我觉得 exiang 大大讲得对。如果没有翻版,我相信,我可能连什么是 Visual-Studio 都没有见过。。。有了翻版,大家都用翻版,本地反而没有人去开发 compiler。。。因为不划算。 |
|
|
|
|
|
|
|
发表于 24-8-2004 12:50 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 24-8-2004 01:04 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 24-8-2004 02:01 PM
|
显示全部楼层
写得非常好,言之有理
别比较其他Compiler 只说MS 的 Visual Studio系列...
基本上写Windows Compatible 的程式没有人会用不到MS的东西
用MS的东西 = 制造机会给 MS 加强用户对它的Dependency
现在连买一个MP3 Player..DigiCam 都要付钱给MS (如果没搞错 FAT16 要收Licence Fee ) |
|
|
|
|
|
|
|
发表于 24-8-2004 02:04 PM
|
显示全部楼层
|
|
|
|
|
|
| |
本周最热论坛帖子
|