佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1376|回复: 10

编程界里的DEPENDENCY

[复制链接]
发表于 24-8-2004 03:40 AM | 显示全部楼层 |阅读模式
看了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 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 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 | 显示全部楼层
goatstudio 于 24-8-2004 09:44 AM  说 :
Java 也是 Open 的, BEA 有自己的 JVM, 那就是 JRockIt, 也是免费的.


你所说的应该是FREE TO USE,不是OPEN SOURCE。
我找了关于JRockIt 的LICENSING,他更本不是OPEN SOURCE 的。
http://cpan.cybercomm.nl/pub/gentoo-portage/licenses/jrockit

http://www.caucho.com/support/resin-interest/0204/0053.html

出名的KAFFE JVM,也称自己为:
Kaffe is not an officially licensed version of the Java virtual machine. In fact, it contains no Sun source code at all, and was developed without even looking at the Sun source code. It is legal -- but Sun controls the Java trademark, and has never endorsed Kaffe, so technically, Kaffe is not Java.


以下的文章都呼吁SUN 把JAVA OPEN SOURCE:
http://zdnet.com.com/2100-1104_2-5159134.html
http://zdnet.com.com/2100-1104_2-5165427.html

[ Last edited by exiang on 24-8-2004 at 11:05 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 大哥说的这句话,小弟认为事实的确不如此,
原因是可以接触太多了,这反而不好
无法集中去学习和开发。
再者也可以说是就因为价钱便宜,所以就少了一份坚持、誓死的学习心态
回复

使用道具 举报

Follow Us
发表于 24-8-2004 12:21 PM | 显示全部楼层
我觉得 exiang 大大讲得对。如果没有翻版,我相信,我可能连什么是 Visual-Studio 都没有见过。。。有了翻版,大家都用翻版,本地反而没有人去开发 compiler。。。因为不划算。
回复

使用道具 举报

发表于 24-8-2004 12:50 PM | 显示全部楼层
各位高手,小弟才疏学浅。 想问一下什么是OSS?
回复

使用道具 举报


ADVERTISEMENT

发表于 24-8-2004 01:04 PM | 显示全部楼层
Open Source System
回复

使用道具 举报

发表于 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 | 显示全部楼层
马来西亚的人只会高谈OSS, 用的是MS
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 28-11-2024 05:51 AM , Processed in 0.140598 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表