[gqq] Re: [gqq] Re: 关于开发语言

  • From: Iven Day <ivenvd@xxxxxxxxx>
  • To: gqq@xxxxxxxxxxxxx
  • Date: Sat, 12 Mar 2011 13:45:32 +0800

Eros 的话我也同意,本来对这个项目听感兴趣的,不过看到需求变来变去,而且还要支持多协议,总有种不靠谱的感觉。
看看现有的多协议软件就知道了, Pidgin、Empathy 等,哪个都不好用,兼顾各种协议,最终只能把各种协议都做得很烂。
各个协议的要求不一样,有的支持发图片,有的不支持,体现在 GUI 界面上就混乱不已,想要设计出通用的架构就更难了。
反观 linux 下的飞信,因为是单协议,实现起来不用缚手缚脚,现在实现的功能上要多得多。
退一步说,多协议开发的速度必然缓慢,需要经常重构,等到软件做出来,协议没准都变了, QQ for linux 没准都更新了也说不定。

至于语言,我还是建议 Python 或者 Genie(Vala 的类似 Python 语法的版本),pygtk 已经是发行版标配, GNOME
本身很多软件都是 pygtk 编写的;而 Genie/Vala 只依赖 glib/gtk+,更加通用了,库的话,做 IM 的话我觉得 GNOME
那套库已经足够足够了。

Python 的话现在面临问题有点多,pygtk/pygobject,py2/py3,gtk2/gtk3,都是过渡阶段,将来要面临代码升级的问题。

在 2011年3月12日 下午12:39,Mike Ma <zhtx10@xxxxxxxxx>写道:

>  或许我们可以用Vala来处理GUI,用C处理底层事务?
> C根本不是GUI的料,如果大家一致反对,也就PASS吧。。
>
>
>  mono 是 ms 认可的 .net 的 linux 移植版
>
> 大家都知道,MS巴不得MONO赶紧死掉
>
>
>  mono项目 包含了 .net 运行时 以及 开发环境
>
>  还有火狐 sliverlight plugin 也是 mono项目 的 moonlight
>
>  ms 的官方网站上面的 slivelight 的火狐 plugin 的连接就是 moonlight
>
>  vala 相当于 GOBJECT的 C#绑定 底层还是 GOBJECT
>
> Vala准确说不是C#绑定,相当于Gobject + C的一种预处理器
>
>
>  印象里面 vala 不存在运行环境的问题
>
>  但是也是存在 复杂的依赖关系
>
> 复杂倚赖关系是从GTK以来就有的,GNOME一个平台依赖全部都复杂
>
>
>  两个在语法上面没有太大区别 都是使用了 类似 C# 的语法规则
>
>  当然 mono 还可以运行 vb F# c++ 等其他 dotnet 语言
>
>  不过 觉得 mono 资料 要比 vala 的健全一点
>
> 这个不反对
>
>
>  所以 提议的是 mono
>
>  python 虽然在linux发行版中 一般都已经安装
>
>  但是版本不一 同时 pygtk pyqt 不一定是标准安装
>
>
>  库的依赖关系可以通过 打包解决 deb rpm 都有相应的解决方案
>
>  编译安装 很多软件 都必须安装相应的开发库 同样的情况
>
>  不过 如果是真的作出一个 gnome 环境下面的 软件
>
>  首选的 肯定是 gtk+ 其次就是 gtkmm+
>
>  其他的总是存在 或多或少的问题 与不容易实现的部分
>
>  =======================================================
>
>  现在项目需要的是一个比较完整的体系
>
>  确定需求 比其他神马都重要
>
>  同时 让每个人 明白需求也同样重要
>
>  然后是分工合作 模块独立 不要畏惧连接模块的工作
>
>  如果 遵循设计模式 这个不是特别困难的事情
>
>  现在 项目已经基本混乱了 进行下去很困难了
>
>  在使用 gtkmm 的时候 我已经实现了主面版的界面以及大部分逻辑功能
>
>  但是 项目发生变化 代码无效了
>
> 这个实在是对不起了
>
>
>  Mike Ma 你是主要的项目发起人
>
>  你首先要有一个相当清楚的思路 给大家明确的信息
>
>  这个样子大家才能工作
>
>  vala 属于你熟悉的领域 但是不代表大家都需要进行再次学习
>
> 准确说我也不熟悉
>
>
>  vala 的语言结构并不复杂 但是他的库 能符合项目的要求么 能一定找到解决方案么
>
> 这个不用担心,VALA可以直接调用C库
>
>
>  我这次说话很重 但是我觉得有必要来这么一次谈话
>
>  我一直很感兴趣这个项目 希望这个项目能够成功 达到像openfetion一样的高度
>
>  如果 能像 ubuntu tweak 那样成功基本也是一个梦想
>
>  =================================================
>
>  对于 这个项目 我给一个我自己的完整思考
>
>  我希望 这个项目是一个比较纯粹的 单一协议的 IM
>
>  这个样子 在小团队中的设计中不会出现太多问题
>
>  如果 要做成多协议的 IM 一般都会顾此失彼
>
> 做成协议的最小公共子集
>
>
>  不管 是要做成什么 都可以参考现在已经存在的项目
>
>  分析出别人的实现 同时也可以为别人 已有的成熟理念进行修正
>
>  这个样子就算最终的项目没有成型 但是也算奉献了开源的成果
>
>  大家 还是需要分工合作 最终交换检查与测试
>
>  不过这个是建立在 已经有明确的功能分析上 有确定的 API 商定的基础上的
>
>  我们现在 需要的是讨论 确定各种相关问题
>
>  而不是 在一个随时都在变动的项目上面消耗编写代码的时间
>
>  还有 Mike Ma 告诉大家一个目标 是告诉大家
>
>  而不是 通知大家
>
>  让大家为这个目标奋斗
>
>  以上的观点 来自个人 可能过于偏激
>
>  希望 能够谅解 = =
>
> 在 2011年3月11日 下午9:25,Mike Ma <zhtx10@xxxxxxxxx>写 道:
>
>>  我错了。。其实Mono的C#和Vala语法都是类似的,C#和Vala的一大优点是类似C/C++,会很熟悉~
>> (然后C#要用GTK#,不还是GTK?还要个RUNTIME,还真麻烦,虽然比JAVA快)
>>
>> python的调试我觉得还真麻烦,没有变量定义啊!而且运行效率不怎么地(虽然比MONO快)
>>
>> 于 2011年03月11日 21:06, Mike Ma 写道:
>>
>> python/mono运行效率低
>> python在各种linux上是标配,没问题,就是mono还要一堆依赖,跟java一样。。。
>>
>> vala是纯C代码
>>
>> 于 2011年03月11日 13:46, Eros 写道:
>>
>> python 不错啊 pygtk pyqt 都行
>>
>>  如果是 vala 不如直接使用 mono = =+
>>
>> 在 2011年3月10日 下午10:17,Mike Ma <zhtx10@xxxxxxxxx>写 道:
>>
>>>  于 2011年03月10日 21:19, Iven Day 写道:
>>>
>>> 追求开发效率的话,既然可 以用 Vala,那何不用 Genie 呢?
>>> 另外观察 GKiu 的开发,感觉技术换得很勤啊,汗……
>>>
>>> 在 2011年3月10日 下午9:05,Mike Ma <zhtx10@xxxxxxxxx>写 道:
>>>
>>>> C语言开发效率实在不敢恭维,所以我们看到有很多东西都是Python + PyGTK开发的。
>>>> 如果大家倾向于OOP,不知道大家认为Vala语言怎么样 (最好的一点是,不必手动
>>>> 管理内存了,可以用类C++的*引用*机制)?
>>>> 提议C++的一律抹杀,因为GKiu就是从C++的转化过来 的。
>>>> 虽然需要重写代码,但是还是相当简单的,只是把不易理解的代 码改成易于理解的
>>>> 代码(见valadoc.org)。
>>>> 开发效率可以从DeskQ里面看到。
>>>>
>>>> 大家是喜欢C一点还是喜欢OOP呢?
>>>>
>>>> --
>>>> Mike.
>>>> Blog: http://ekd123.org/
>>>> Fedora Project Contributor - Translator.
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Wanna be the biggest dreamer~
>>> K.I.S.S: http://www.kissuki.com/
>>>
>>>  为了方便开发嘛,现在麻烦将来轻松
>>> 观察一下iceplayer的代码,我立马就汗了。。。
>>> 不想成为下一个iceplayer,而且C的开发效率确实很低很低很低。。。。就 GString都要手动回收内存 (这个 最烦)。
>>>
>>>  --
>>> Mike.
>>> Blog: http://ekd123.org/
>>> Fedora Project Contributor - Translator.
>>>
>>>
>>
>>
>> --
>> I'm Authur.
>>
>> Mail: authurg@xxxxxxxxx authurg@xxxxxxxxxxx authurg@xxxxxxxxx
>> Blog: www.dark-cloud.org
>>
>> 我只是在代码中爬行的一只虫子...
>>
>>
>>
>> --
>> Mike.
>> Blog: http://ekd123.org/
>> Fedora Project Contributor - Translator.
>>
>>
>>
>>   --
>> Mike.
>> Blog: http://ekd123.org/
>> Fedora Project Contributor - Translator.
>>
>>
>
>
> --
> I'm Authur.
>
> Mail: authurg@xxxxxxxxx authurg@xxxxxxxxxxx authurg@xxxxxxxxx
> Blog: www.dark-cloud.org
>
> 我只是在代码中爬行的一只虫子...
>
>
> --
> Mike.
> Blog: http://ekd123.org/
> Fedora Project Contributor - Translator.
>
>


-- 
Wanna be the biggest dreamer~
K.I.S.S: http://www.kissuki.com/

Other related posts: