Top Mud Sites Forum Return to TopMudSites.com
Go Back   Top Mud Sites Forum > Mud Development and Administration > MUD Coding
Click here to Register

Reply
 
Thread Tools
Old 04-23-2007, 06:59 PM   #1
Aeran
Member
 
Join Date: May 2005
Posts: 208
Aeran is on a distinguished road
Hello I am working on a new MUD engine(still in design phase) and have started ponder about what programming language to use.

So far I am hesitating between C++, C#, and Java. Originally I had planned to use C++, because I know that one pretty well. However C# and Java might have other benefits.

What language is recommended for a new MUD?
Aeran is offline   Reply With Quote
Old 04-24-2007, 06:47 AM   #2
Mabus
Member
 
Mabus's Avatar
 
Join Date: Jan 2006
Posts: 213
Mabus is on a distinguished road
There are advantages and disadvantages to each language.

My advice?
1) Unless you are coding the game as a means of learning a specific language pick the language you are most familiar and comfortable with.
2) Plan the features and systems of the game before you even code one system, then pick the language that will make the systems you have designed easiest to code and modify.

Best of luck no matter which language you choose.
Mabus is offline   Reply With Quote
Old 04-24-2007, 12:45 PM   #3
cappen
New Member
 
Join Date: May 2002
Posts: 4
cappen is on a distinguished road
I would suggest looking at what other people have used. I found this webpage which gives a nice list, as a start.
http://www.andreasen.org/newmud/

Having said that, I personally like dynamic languages such as Ruby, Lua and Python.
I think they make the development a lot quicker, although come at the cost of some resources... As a result you will see results from your programming more quickly.

(And since I think the largest reason to abandon a project is a lack of seeing results, it might help to actually finish it. )
But all that depends on the reasons that you have to create an engine.
cappen is offline   Reply With Quote
Old 04-25-2007, 06:40 AM   #4
Kylotan
Member
 
Join Date: Jun 2003
Location: Nottingham, UK
Home MUD: Abattoir (Smaug)
Home MUD: ex-Jellybean (Smaug)
Home MUD: ex-Dark Chambers (Merc)
Posts: 174
Kylotan is on a distinguished road
Send a message via ICQ to Kylotan Send a message via AIM to Kylotan Send a message via MSN to Kylotan Send a message via Yahoo to Kylotan
Yes, there really is little reason to start a project in 2007 using C++, C#, or Java when more effective languages exist. Unless you need the extra performance - which you almost certainly don't - go for Python or Ruby.
Kylotan is offline   Reply With Quote
Old 04-25-2007, 07:14 AM   #5
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Quote:
Originally Posted by (Kylotan @ April 25 2007,11:40)
Unless you need the extra performance - which you almost certainly don't - go for Python or Ruby.
If you're renting server space, the performance of the mud can make a big difference in terms of hosting costs.

Some of the newer muds seem to be taking a hybrid approach - for example NakedMUD is written in C but uses Python for scripting.
KaVir is offline   Reply With Quote
Old 04-25-2007, 07:58 AM   #6
Aeran
Member
 
Join Date: May 2005
Posts: 208
Aeran is on a distinguished road
After having pondered on this I have decided to use C# for the MUD. That gives benefit of fast running speed with the JIT compiler, and "easier" memory management than in C/C++.
Aeran is offline   Reply With Quote
Old 04-26-2007, 11:23 AM   #7
Zhiroc
Member
 
Join Date: Jan 2006
Posts: 92
Zhiroc is on a distinguished road
I'd personally look for a language that doesn't tie you down to a platform. AFAIK C# is Windows-only, and most MUD/MUSH hosts are Linux-based these days.

I looked into Ruby once, and was disappointed to see that it didn't support native threads, meaning that it couldn't take advantage of multi-CPU systems.

From an ease of implementation viewpoint, I'd go Java, but from a performance standpoint, either C++ or C. The latter would make it easier to imbed a scripting language like Ruby, Lua, Perl, or what have you.
Zhiroc is offline   Reply With Quote
Old 04-26-2007, 11:41 AM   #8
Aeran
Member
 
Join Date: May 2005
Posts: 208
Aeran is on a distinguished road
Quote:
Originally Posted by (Zhiroc @ April 26 2007,10:23)
I'd personally look for a language that doesn't tie you down to a platform. AFAIK C# is Windows-only, and most MUD/MUSH hosts are Linux-based these days.
You can run many C# applications in Linux using mono.
Aeran is offline   Reply With Quote
Old 04-27-2007, 11:15 AM   #9
Kylotan
Member
 
Join Date: Jun 2003
Location: Nottingham, UK
Home MUD: Abattoir (Smaug)
Home MUD: ex-Jellybean (Smaug)
Home MUD: ex-Dark Chambers (Merc)
Posts: 174
Kylotan is on a distinguished road
Send a message via ICQ to Kylotan Send a message via AIM to Kylotan Send a message via MSN to Kylotan Send a message via Yahoo to Kylotan
Quote:
Originally Posted by (KaVir @ April 25 2007,06:14)
Quote:
Originally Posted by (Kylotan @ April 25 2007,11:40)
Unless you need the extra performance - which you almost certainly don't - go for Python or Ruby.
If you're renting server space, the performance of the mud can make a big difference in terms of hosting costs.

Some of the newer muds seem to be taking a hybrid approach - for example NakedMUD is written in C but uses Python for scripting.
Yet the difference in performance is unlikely to manifest itself unless you're doing something spectacularly different. The main benefit of Python is that it does a lot of the hard tasks for you, and it does that by providing libraries for them, which are implemented in C anyway.

It's also hard to see which operations would need to be in C instead of in Python in a dual approach. Well over 95% of mud code I've seen is essentially text handling or networking. Python handles both of those as quickly as all but the best C code. Anybody asking which language they should use will not be emitting such code. (No disrespect to the original poster.)

I think worrying about performance for a new text and networking game to the extent of changing the language you use is very premature optimisation.
Kylotan is offline   Reply With Quote
Old 04-27-2007, 05:11 PM   #10
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Quote:
Originally Posted by
Yet the difference in performance is unlikely to manifest itself unless you're doing something spectacularly different. The main benefit of Python is that it does a lot of the hard tasks for you, and it does that by providing libraries for them, which are implemented in C anyway.
I've not used Python myself, so I tried doing some searches for benchmarks:

http://osnews.com/story.p....e3

It showed interpretted Python being as much as 60 times slower than C++, and even the Psyco-compiled version was several times slower. Even places like python.org suggest using other languages such as C++ or Java for the performance-critical parts of the application.

I can certainly see Python's value as a scripting language, but writing a mud entirely in Python would seem to result in considerably worse performance than C++. Speaking as someone who had to spend a lot of time rewriting and optimising C++ code, after initially approaching my mud project with a "premature optimisation is evil" mindset, I can assure you that lots of apparently insignicant performance issues can really start to add up over the years.

Quote:
Originally Posted by
I think worrying about performance for a new text and networking game to the extent of changing the language you use is very premature optimisation.
I can't help but disagree - choosing the language is precisely the time when you should take into account potential performance issues (i.e., pick the right tool for the job). It's really not the sort of thing you want to discover two years down the line, when your code has become so slow that it requires a dedicated server you're not willing to invest in.
KaVir is offline   Reply With Quote
Reply


Thread Tools


What language? - Similar Threads
Thread Thread Starter Forum Replies Last Post
MUD Computer Language Imagine9718 Newbie Help 3 11-18-2004 01:50 PM
English as a Second (or Third...) Language Valg MUD Administration 8 08-19-2004 10:39 PM
Which scripting language? Gakusei MUD Coding 9 03-14-2004 09:39 AM
New Article: Speaking the Language imported_Synozeer MUD Announcements 0 07-15-2003 03:01 PM
Mud Programming Language bbg Advertising for Players 1 09-28-2002 11:31 AM

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT -4. The time now is 02:47 AM.


Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Style based on a design by Essilor
Copyright Top Mud Sites.com 2014