也许这不是一个问题,但是看来,它的确是一个需要询问的东西。通过google,我知道:
"LPC is a small, object oriented type C language developed by Lars Pensj? for LP-MUD"
对我而言,LPC更多的是一个专有名词,来給一个语言命名。
总的来说,LPC是一种面向对象的类C语言,具有C的语法,但是数据结构有着比较大的差异,没有指针、没有结构。
2. 我为什么采用它作为服务器端的基础?
这个来源应该说有点诡秘。如果让我重新做一遍选择,我可能、或者说很可能并不采用它。
在2001-2002年这段时间,我比较清闲。因为以前做过文字MUD,觉得驱动LPC语言的MudOS功能比较薄弱,并且设计上有一些令人不满意的地方。于是我花时间重新制作了一个解释器。到后来,当我进入网络游戏领域时,我便采用了它,事实上,采用VM来驱动服务器是我必然的选择(用C++实现的服务器,呃,那会是一场噩梦),问题是我应该选择哪一款VM。
应该说采用目前这个解释器,至少有以下缺点:
- 它不够流行,缺乏很多第三方库的支援,了解的人也比较少
- 它还不够成熟,因为是自己写的,开发时间有限,所以很多功能有欠缺
- 听起来它不是那么威武,不像Java和C井那么让人尊重,这是很重要的一点,因为你不能出去忽悠人 :)
- 比Java容易集成C/C++的库 - 所以第三方的库并不是大问题
- 容易掌握,很接近C,学习起来足够简单,以往事实证明,即使是策划也可以堆砌LPC代码
- 出错时容易根据Core-file进行Debug,这点JVM做的尚有欠缺
- 随着时间的进展,它现在已经足够成熟去实现现有网络游戏的功能了,而且相比之下,它更容易扩展
参考链接:http://www.lysator.liu.se/mud/lpc.html
没有评论:
发表评论