大家来讨论一下吧:.net和open-source

athossmth 2004-04-11 11:13:20
做microsoft的东西,最讨厌的就是源代码不开放,undocumented,如果不幸撞上了微软的bug,那就只能自求多福,如果发现自己居然还荣幸的是这个bug的发现者,可能撞墙的心思都有。

另一方面,为了更高的性能和更灵活的机制,微软在.net中提出了delegate、reflection这样的概念,顺便一举解决了dll hell、unicode等等带来的问题。

现在问题来了,利用reflection,可以看到.net控件的源代码,确切的说,是除了native code之外的部分,可以反汇编到IL,或者反编译到vb.net或c#,成型的作品有reflector(http://www.aisto.com/roeder/DotNet/)。

那么,微软这个为了更好的性能而建立的机制,是否会事实上打破自己的代码不开放的保护呢?这将有什么样的影响呢?

请高手们指点,多谢!

ps.俺手头没分了,那位英雄能顺手转点可用分给俺就好了,多谢……
...全文
36 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
songdan2002 2004-04-12
  • 打赏
  • 举报
回复

我觉得那些研究成果没有多大作用,我也看过清华大学出版的<<WindowsNT内核原理>>,
但是直到今天也没有发现它对我的价值,但是清华大学深圳研究院现在在搞操作系统,那
本书是他们的必学教材。像研究这类的代码只能对相关的专业人士有用。有些人不断的提到
开放源代码的好处,其实完全为了他们自己的利益,我可不想去支持他们,好处都让他们占了。
我认为软件行业内部不同领域有分工合作关系也有竞争关系,如果开放源代码形成风气,就会加大软件行业的竞争,不见得对我这样的人有利,现在.Net开发人员还要面对J2EE开发人员的竞争,我可不希望继续加大竞争压力了.

以上完全站在个人利益的角度来看问题,虽然这个对整个软件业有推动。




athossmth 2004-04-12
  • 打赏
  • 举报
回复
反编译的代码当然不会去一一细看,不过还是有价值的吧?

我是说,open-source,究竟有什么好处呢,无非
1、群策群力开发
2、群策群力纠错
3、有代码,可以查到很低层,如果有必要的话。

.net的代码如果实质性的可见,其实就实现了2和3,没有1,也避免了1带来的开发进度不可控问题。我觉得算比较好的结果了。

当然了,我是不会去细读代码了,不过会有人去读的吧。

以前微软的新技术出来一两年后,就有什么“XXXX未公开的秘密”这样的书出现,例如“DOS未公开的调用”,“SQL未公开的秘密”,也不知道这些人是怎么知道的,比如dos中断,也许是一一尝试,像黑箱子一样很辛苦的破解的把。说到底,就是“为了更高的性能,必须了解内部机制——读代码”,只不过,是少数人去读吧。

现在.net代码如果实质可见,是不是更方便了呢?
athossmth 2004-04-12
  • 打赏
  • 举报
回复
songdan2002兄很坦白,hychieftain兄也很中肯,也许hychieftain兄还是担心我太钻牛角尖,故点醒我做项目其实没必要知道内河源代码,请不必多虑,俺胸无大痣,就想挣点钱,只是有时候也想讨论一点虚的东西。
hychieftain 2004-04-11
  • 打赏
  • 举报
回复
搞项目真有时间去研究.NET的源代码吗?我是准备等着有高手像《深入浅出MFC》一样帮我分析分析!再好是微软自己的人来说就好了! ^_^
songdan2002 2004-04-11
  • 打赏
  • 举报
回复
听搞j2ee的兄弟说,j2ee有一大堆bug,而且就算撞上了,无法通过提示信息来分析错误原因,只能够靠经验来避免出错,就算微软开放了SDK的代码又如何,难道出了错,你就去看SDK或
改写SDK的代码?

通过反编译获得的代码对开发人员没有什么研究价值的,只是对一些不怀好意的人才会有利用价值。

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧