Mono专家Nat Freidman聊天

主持人 :
本次聊天的主题是:研究Mono技术感受SuSE Linux魅力
[2005-9-26 14:15:00]


 主持人 :

如果您有问题想问嘉宾,请直接向JDMBA提问,我们的工作人员会收集问题和提交给嘉宾。
[2005-9-26 14:26:00]


 

主持人 :
我们的聊天活动稍后马上开始。
[2005-9-26 14:33:00]


 

主持人 :
各位网友,大家好,我们现在正式开始了。
[2005-9-26 14:36:00]
主持人 :
各位网友大家好,我们今天的主题是感受Mono的魅力。我们请来了胡欣蔚先生,他是Novell中国的专家,现在各位网友可以提出问题,并将我们的问题提交给主持人。下面是我们这次活动收集的一些问题。 第一个问题是Mono项目现在不但表明了开源社区是力量非常强大,同时体现了联通一切的思想,Mono项目被认为是开源界的平台,请问一下Mono项目会对将来开发产生哪些深远的影响?
[2005-9-26 14:40:00] 
 
主持人 :
我们已经有了新的编译器,为了吸引更多的开发人员进入这个社区我们需要一个功能更简单、内容更丰富、编程更容易,不容易出错的编辑语言,这就是在创办公司的时候就提出了这个计划,利用Mono可以更简单的使用已经有的开源的那些东西来进行开发,他们已经用到Mono做很多的软件。利用Mono可以更容易的把Windows下的程序员吸引过来,也便于Windows的程序员向Linux下迁移。
[2005-9-26 14:47:00]
主持人 :
在SUSE Linux Mono10会给大家带来什么新的更酷的特性?
[2005-9-26 14:48:00]
Nat Friedman:在SUSE Linux Mono 10里面会带一个全新版本的Mono,大概是1.2正式版本,因为我本身是做Linux桌面的,所以其中有很多特性非常好,第一个特性是新版面Mono有更好的垃圾收集机,1.2版本升级的时候可以对内存进行压缩,可以保证桌面应用,在随机操作时不会占用太多的物理内存。
[2005-9-26 14:50:00]
 
Nat Friedman:SQL server就有数千个客户端连上来进行各种各样的操作,可以确认Mono在这方面的性能越来越好。 还有一点,很令人激动的是有了一个完整实现的系统实现,在Windows和Linux上是完全一样的界面。还有很多的增强,Mono 1.2应该是一个很重要,并将是一个很吸引人的版本。
[2005-9-26 14:55:00]
 
网友:Linux的发展瓶颈一直是应用比较少,一直以来Linux java是比较喜欢选择的方案,现在Linux 和Mono又成了人们选择的一种方式。
[2005-9-26 14:56:00]
 
Nat Friedman:如果利用Java的简单的来说比较有名,它可以支持多种语言的,因此没有必要把Java分的那么清楚,因此我们有一些相应的技术可以实现。第二个有点Java底下如果要调用编码的话是非常难用的,而Mono提供的机制就简单得多,这样可以很容易把Linux平台上存在的成千上万的C或者C++更有效的利用起来。最后一点就是相对于Java来说,Mono是一个真正完全开放源代码的项目,如果真正需要一个完全开放的系统来做你的应用的话,那么Mono比Java更合适。
[2005-9-26 14:57:00]
 
网友:Mono本身是一个非常成功的项目,它的成功之路被认为是给开发者带来了RED的体验还是能帮助开发者开发出更安全的代码,跨平台性能更好的软件。
[2005-9-26 14:58:00]
 
Nat Friedman:Mono成功的一个最重要的原因是让开发过程变得容易和更加有趣。一般刚开始学习开发的时候比如说有一个小程序,能出现一个小窗口,是很有乐趣的,但是随着开发的程序越来越大,项目设计的内容越来越多,可能要花成倍的时间解决代码里面的Bug,这样让开发过程变得越来越误区,如果你使用Mono这项技术就可以最大程度的减少类似的问题,可以保证开发者的开发乐趣,我认为这是Mono成功的原因。 另外一个创始人在招人上面很有一套,能够招到最好的程序员做这件事情。
[2005-9-26 15:02:00]
 
网友:目前是否有大型的Web运行在Mono之上,如果把一个跑在Asp.net迁移到Mono上面需要多少工作量、迁好已经稳定性如何?
[2005-9-26 15:03:00]
 
Nat Friedman:你刚才说把一个ASP连接到一个程序上是不需要任何资源拿过来就可以用的,事实上上个月对开发中的1.1版本有很大的增强,实际上Novell和相当多基于Asp.net的企业开发合作,事实上Novell的Asp.net的实现是非常完整的,开发者可以很容易的把他的迁移到Mono上来。
[2005-9-26 15:03:00]
 
网友:我初学Linux的桌面开发需要什么样的步骤?
[2005-9-26 15:04:00]
 
Nat Friedman:这取决于你想做哪方面的应用。 第一部分就是你不一定完全写程序,事实上现在有很多很多的桌面应用,这些应用都是开源的,所以有一个很大的好处就是把这些应用直接集成起来,不一定要开发,事实上现在市场有这样的产品,使用Linux把桌面应用都整合起来就成为了一个完整的解决方案,那也是很好的事情。
[2005-9-26 15:07:00]
 
Nat Friedman:如果想成为一个Linux平台下的好程序员就是尽量多读和多写代码,至少每天得写近千条代码,才可以保证你在这方面收获。从读代码来说,读代码可以帮助你学习别人的代码,更重要的是可以训练你对代码里存在的各种模式更加熟悉,如果你要贡献到其他某一个已经有的程序里面,你首先要做的就是先阅读程序,看有没有里面在里面进行修改或者修定这个程序存在的某一个Bug,这样可以很快认识到这个程序里面存在的模式。
[2005-9-26 15:09:00]
 
Nat Friedman:另外现在在Linux桌面上已经有一些基于某种终端应用包括X-box这是做相机的处理软件,包括媒体播放软件,你可以先看这些软件来训练自己。另一方面写代码总是要的,你要尽可能的多写代码。我另外推荐一下你看下“tom boy”的程序,那个代码写的非常干净。
[2005-9-26 15:12:00]
 
网友:参与开源项目在中国已经成为一个热潮,但是还处在起步阶段,有一定的盲目性,很多开源项目也因此夭折,能不能给大家一个更好的建议,如何实施开源项目?
[2005-9-26 15:13:00]
 
Nat Friedman:实际上这不仅是软件开发的问题,很多时候人们说做这件事情,但是没有切实实行它。对于参加开源软件来说可以从最基础的做起,可以从很多方面,包括可以帮助创建很多项目的网页、软件列表,帮助做代码的分支管理,诸如此类的事情都是可以的。
[2005-9-26 15:14:00]
 
Nat Friedman:另一方面可能因为一些个人的需要去开发软件,也可能是对软件的需要,目前的软件可能没有适合你的,你可能自己写一个,重要的是你写目前软件的时候遇到了一个问题,你就可能解决这个问题,你是否把源代码的软件下载过来,你是否去编译的时候可能遇到各种各样的问题,你可能询问很多人,最后搞定如何编译,这样你可以找出之前发现的问题所在的地方,这时候读代码的训练就显得非常重要,这样可以更快让你找到整个程序的架构,并可以找到隐藏在哪儿,这样你可以为程序写一个小补丁,不定可能很简单也可能很复杂,比如为了提高性能可能需要把某些数据结构调整一下或有关算法,不管怎么样通过这样的方式来参与一个开源的项目。
[2005-9-26 15:16:00]
 
Nat Friedman: 当你在自己的系统上可以把应用的补丁运行起来以后,还可以进一步考虑,因为你发现这个问题可能别人已经发现了,可以考虑把你修补的地方写成补丁,发给维护应用的那个人,或者是正在写应用的那个人,他可能会给你比较积极的回复,比如他愿意把这个补丁收入他的应用,也有可能他不愿意或者希望你对补丁做进一步的修改,或者使用这种方式再重写这个补丁,诸如此类的事情,你或者是按照作者的要求来做的或者是你放弃了,这都不管紧要,做开源工作重要的工作是第一点是下载源代码,第二是用编辑器打开代码并且读这些代码,很多人在论坛里面发一些帖子,发表很多言论,这对开源编码是没有作用的,最重要的就是下载、编译、修改。
[2005-9-26 15:21:00]
 
Nat Friedman: 作为一个成功的Linux黑客的话,至少得有这样几种品质,首先必须要聪明,能够有一些有创意的想法或者能够很快的领会别人的意思。其次,他必须有一些品味,不然的话做出的应用只有他自己喜欢使用,但是最重要的一点就是坚持,如果没有坚持的话,前面两点都没有什么用处,一开始做一个应用的时候可能遇到很多挫折,包括开发,包括说服别人接受它,包括推广的时候只有坚持下来才能把项目做起来,所以坚持是这三点中最重要的一点。
[2005-9-26 15:22:00]
 
Nat Friedman:再举一个例子,在Linux下面以前有一个很流行的方法,其实现在还比较流行。某位开源技术大师是非常聪明的人,但是他的程序代码就不是非常好,他用了一些并不是很受其他程序员欢迎的技术,他不主动释放管理器占用的内存,但是他依然非常坚持,他非常花时间研究这些代码,但是缺乏非常好的通用性,所以项目并不能算非常成功。
[2005-9-26 15:27:00]
 
网友:目前桌面搜索是非常热的话题,Beagle项目在2002年就进行了这方面的开发,请讲一下目前这方面的?
[2005-9-26 15:28:00]
 
Nat Friedman: Nat Friedman:Beagle是一个桌面搜索的工具,就在大概一个半星期之前,刚刚发布了Beagle的0.1版本,虽然这个版本号很少,但是因为开源软件和软件采取的版本号命名方式不一样。 对Beagle的版本号命名方式是从0.1开始然后往上涨,实际上0.1版本已经做了一年多的时间了,如果你用“SUSE Mono 10”的话它里面已经继承了Beagle的工具,所以它现在可以索引,包括的邮件、媒体邮件、MP3可以搜索更多的文档,包括更多的文本、网页或者word文档或者PDF或者是其他文档。现在在Beagle上的重点工作是做一个更好的用户界面,这几天正在IRC频道正在讨论这件事儿,正在着力解决这方面的问题,如果你留意的话在网上会看到一些新的Beagle的用户界面,非常漂亮。
[2005-9-26 15:30:00]
 
网友:现在很多中国政府正在大力推动使用Linux,请问一下Novell公司将会为中国的政府部门提供一个什么样的Linux的解决方案。
[2005-9-26 15:31:00]
 
Nat Friedman:我们在明年的时候会有一个针对桌面的产品叫做NLD10,这个是到时候最好的Linux的作品,其中包括各种各样对系统的增强,还包括各种各样的应用基于Novell或者企业里面应用比较广泛的,NLD10会有非常本地化的工作,并不是一个针对政府的产品,是一个针对所有桌面Linux用户的一个产品。
[2005-9-26 15:33:00]
 
网友:Mono现在相当于.net的框架,是不是打算也开发出一个增强框架增强它的能力。
[2005-9-26 15:38:00]
 
Nat Friedman:现在在开发工具上,一方面在做工作,是给ECLIPSCE,现在主要是用来做Java的IDE环境,我们通过给ECLIPSCE开发插件,支持Mono这是一方面的工作。另一方面有一个基于JJK下的开发工具,里面包括Mono的调试器,图形界面的设计环境都有,这是我们在这方面做的工作。我自己是使用EMAC。
[2005-9-26 15:39:00]
 
网友:现在很多人采用了Linux平台以后都发生了知识产权纠纷,在Mono这个版本上会不会解决这个问题?
[2005-9-26 15:39:00]
 
Nat Friedman:从美国的《知识产权法》来说,我相信世界各地也不会差得太多,说知识产权实际上有四个方面的内容,第一个方面是版权,第二个方面是专利,第三个方面是商标,第四个方面是商业机密。所有开源的代码主要是针对版权这一个方面,所以设开源的软件也一样会有其他的知识产权的问题。
[2005-9-26 15:40:00]
 
Nat Friedman:在这样的基础上,实际上是一个开源软件接受外援代码的时候可能有潜在的风险,包括贡献代码的人本身可能并不拥有那个代码,他本身没有一角那部分代码的版权,因此不管是Novell或者是开放源代码基金会这样的组织,在你向他们贡献源代码的时候都要求你签一份协议,声明你本人是这部分代码的原作者,并且把这部分代码移交给开发源代码基金会或者什么机构,并且让他们使用。 从Novell来说,其中最核心的部分会要求所有参加开发的人员都来签这样一份协议,而且所有补丁都必须通过相应的代码维护人,代码维护人会维护相应的版权问题。所以Mono的核心部分我们是非常注意的,但是它的外围就非常多了,所以在这方面没有做太多的工作。
[2005-9-26 15:42:00]
 
Nat Friedman:以我本人的经验来说,我曾经在微软工作过,我又和伙伴一起创建了一个做开源软件的公司,所以根据我自己的了解和观察,实际上参与开源的程序员比只开发专有程序员对授权知识产权更敏感,开发专用程序员在网上看到一个授权下载就使用。
[2005-9-26 15:45:00]
Nat Friedman:从专利的角度来说,专利设计的问题很多,实际上有各种各样的软件专利,并且专利一旦被批准以后会成为让对手非常难受的东西。 比如说你已经写了数万行或者数十万行的软件代码,可能有人认为其中侵犯了他的某一项专利是很难处理的事情。我们Mono是基于开放标准的,因为微软已经把标准提交给了委员会。 另一方面作为.net框架本身没有什么开创性的东西,我们认为所有在.net里面能够看到的特性在之前我们都见到过,所以它也不会有专利。我们知道Java框架是有专利的,所以以后开发中如果认为在.net里面有一些专利,认为我们应该遵守的话,我们会考虑做工作绕开它,一方面是利用其他方式实现,最坏的情况是我们可能取消某些东西。
[2005-9-26 15:47:00]
网友:大部分人使用Linux的时候都觉得它的界面不是很好,请问SUSE Linux 10中会不会有非常酷的表现呢?
[2005-9-26 15:48:00] 
 
Nat Friedman:在SuSE Mono 10里面有非常多的酷的特性,包括现在的Windows系统都没有的一些特性,你利用这样的桌面会让很多伙伴非常羡慕。
[2005-9-26 15:50:00] 
 
网友:微软即将发布C#3.0的标准,Mono有没有跟进的计划,是不是打算自己开发出一套语言出来?
[2005-9-26 15:51:00] 
 
Nat Friedman:我参加了今年微软的PEC的大会,感觉C#3.0的特性挺不错,我们会尽可能早地实现但是不是现在,因为现在实现3.0的特性没有用户用它。我们现在某种程度上已经支持了C#2.8,我们尽可能把这个工作和支持性做好,之后再做C#3.0的工作。
[2005-9-26 15:52:00] 
 
网友:现在在开源平台LAMT做一个大家非常喜欢的架构,还有人会选择Java+Linux,还有人会选择Mono+Linux,请问这几种选择的适用范围是什么?
[2005-9-26 15:52:00]
Nat Friedman:用什么样的技术取决于要解决什么样的问题,所以到底采用哪种还是要看情况。对于及时或者很快做成的解决方案肯定用LAMP是比较好的方法。 如果是开发企业应用的话可能会采用Java或者是Asp.net,如果使用Asp.net一般是不愿意花太多时间来开发的程序员,他可以利用“Visual Basic.Net”的方法进行应用开发。不管是Java还是Asp.net都是非常严谨的,它的语言都是分门别类做的非常仔细,但是你用脚本语言可能都没有那么细,因此不管是Java还是Asp.net都不适合于做要非常快要结果的东西,但是它们比较适合于做比较严谨或者周期比较长的项目。
[2005-9-26 15:58:00] 
 
Nat Friedman: 一定要选择的话比较简单的做法就是看你周围的程序员在使用什么样的技术,如果你接受了微软的培训,你也在使用Asp.net,那么你可以考虑使用Mono,这是一样的。
[2005-9-26 15:58:00]
网友:在Linux华丽的界面并不是目的,性能才是最重要的,在WindowsXP下同时打开数据窗口非常快,请问在Linux下的如果打开同样的窗口是不是能保持很好的性能?
[2005-9-26 15:59:00]
Nat Friedman:开窗口取决于你开什么样的应用,比如Windows下了开了15个终端口,实际上一共就会占用20兆左右的内存,你开了第一个以后开第二个实际上净量内存是非常非常少了,而且Linux对内存的管理非常智能,实际上你开那么多的窗口根本没有什么影响,或者说你在Windows开多少窗口在Linux上也可以同样开多少窗口。这说明Linux性能是让人放心的。
[2005-9-26 16:01:00]
网友:目前国内的开发者学习新的开发技术最大的障碍是语言,Mono有没有打算出一些面对中国用户的中文主页或者中文的帮助文档,或者说有没有这样的计划?
[2005-9-26 16:02:00] 
 
Nat Friedman:实际上Mono本身带了一个叫做“MonoDoc”的工具,现在你看的时候会显示一个按纽,比如某一个文档正在补全,你可能发现一个问题,可以直接点编辑按纽对那部分文档进行编辑,比如可以添加一些新的识别代码,你做完以后会有一个按纽可以直接提交,这样你修改或者添加的东西可以提交给一些文档的维护人员。文档的维护人员会有时间看你发过来的东西,可能某些集成以后再修改。 现在没有特别的计划要针对中文做一些工作,但是我们可以考虑在MonoDoc工具上添加一个按纽,可以让人在上面直接提供相关的包括翻译的东西,如果有谁感兴趣可以考虑做这样的工作,就是给MonoDoc添加一个翻译的功能。
[2005-9-26 16:07:00]
网友:Mono这个项目是在一个什么样的背景下产生的,如果我想加入Mono项目需要做一些什么样的事情?
[2005-9-26 16:07:00]
Nat Friedman:Mono是2001的时候开始创立的,那个时候理查德是这个项目的领导人,我主要是利用Mono开发一些桌面应用的组建,现在整个项目已经非常稳定,有超过350多个非常活跃的开发人员已经是非常大的项目了。 如果想对Mono项目有所贡献的话,只要到Mono.net上面看一眼就有一些比较有意思的工作可以做,因为Mono本身的结构非常好,所以你非常着手对其中做一些贡献,包括开发一些新的外围的软件包这些东西。
[2005-9-26 16:08:00]
网友:你当初和理查德一起开发这个项目的时候,是出于什么原因选择跟他一起做这个项目?
[2005-9-26 16:08:00]
Nat Friedman:我开始玩儿Linux大概是16岁的时候,最初我们是在RIC的聊天室里认识的,在大学的时候学校里面有一个VIC服务器,那个上面有很多在Linux非常活跃的人,有一天理查德在上面出现了,他是墨西哥人,可能英语不是很好,可能上来是学英语的,他比较有趣,后来我们俩个就认识了。他曾经在微软做过实习,有一天理查德来面试,两个人那天遇到了,聊的很开心,我们在一起做自己的事业的主要原因是因为他这个人非常有活力。
[2005-9-26 16:12:00]
Nat Friedman:一开始的时候并没有打算自己做一个公司,当时是想买一个房子,里面可以安排很多喜欢做软件的黑客,我们两个可以让他们在里面开开心心的写代码,所以开始的时候是找其他公司,希望他们愿意做这样的事情,但是没有公司愿意做这样的事情,最后只有我们自己开了这样一家公司。
[2005-9-26 16:13:00]
网友:Mono项目成立了时候主要目标是什么?现在是否实现了目标或者离目标还有多远?
[2005-9-26 16:13:00] 
 
Nat Friedman:实际上创建Mono项目主要有两个目标一个是让Linux开发项目的开发人员开发更有效率,另一方面是吸引一些Windows程序员过来尝试在Linux环境下进行开发。现在已经做到了一些,但是还是有一些差距。
[2005-9-26 16:14:00]
Nat Friedman:实际上创建Mono项目主要有两个目标一个是让Linux开发项目的开发人员开发更有效率,另一方面是吸引一些Windows程序员过来尝试在Linux环境下进行开发。现在已经做到了一些,但是还是有一些差距。
[2005-9-26 16:15:00]
主持人:最后,按照CSDN聊天室的惯例,请Nat Friedman先生送给广大中国网友一句祝福的话。
[2005-9-26 16:16:00]
Nat Friedman:希望中国的程序员能够积极性参与到开源社区的构建活动当中。因为现在的开源社区在全球都有,我们不希望看到在中国有一个自己的开源社区,在美国有一个、印度有一个、欧洲有一个,所以希望大家在一起合作,尽可能的把所有的开源社区的人融入到一起,形成一个全球化的开源社区。
[2005-9-26 16:16:00] 
 
主持人:本次聊天活动已经结束,让我们再次感谢Nat Friedman先生的光临。再见!
[2005-9-26 16:17:00]
<script language="javascript" type="text/javascript"> <!--// function click(e) { if (document.all) { if (event.button==2||event.button==3) { οncοntextmenu="return false"; } } if (document.layers) { if (e.which == 3) { οncοntextmenu="return false"; } } } if (document.layers) { document.captureEvents(Event.MOUSEDOWN); } document.οnmοusedοwn=click; document.oncontextmenu = new Function("return false;") function urlclick(url) { window.open(url,"chatNew","top=0,left=0,width=640,height=480,scrollbars=yes,resizable=yes"); } --> </script>

Mono介绍专题:http://www.csdn.net/subject/mono/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值