13 Aug, 2009, JohnnyStarr wrote in the 21st comment:
Votes: 0
Runter said:
I think that's going to be a bad comparison by nature. RocketMUD is a Ruby port of socketmud. As such, it really will be a poor example for a properly made ruby mud.
Agreed, it has its purpose of course, but SocketMud is a light framework in C. I do think it is a good example however of how to use non-blocking sockets. So perhaps you could nab some socket code here and there, but seeings how Python is going to have it's own libraries, you might be better off creating a mimic base from TeensyMud.
I think that's going to be a bad comparison by nature. RocketMUD is a Ruby port of socketmud. As such, it really will be a poor example for a properly made ruby mud.
Agreed, it has its purpose of course, but SocketMud is a light framework in C. I do think it is a good example however of how to use non-blocking sockets. So perhaps you could nab some socket code here and there, but seeings how Python is going to have it's own libraries, you might be better off creating a mimic base from TeensyMud.
Yeah, I don't mean it's trash. I just mean using it as a modern comparison of technology is flawed by nature. It was written to be a clone of socketmud and lacks most of the more interesting features of Ruby in its implementation. I think Tyche would agree.
13 Aug, 2009, quixadhal wrote in the 23rd comment:
Votes: 0
Sure, I agree that it won't be as good as a native implementation. However, there is something to be said for comparing the languages by comparing implementations of the same code. We know the code was written a certain way because it was done in C, and we have a ruby translation that shows how to do the SAME thing in ruby. I think a python version would be useful as one could compare it directly against both the ruby version, the original C version, and even the Java version I see is out there.
TeensyMUD is certainly a better example of ruby itself, but for folks who want to learn, solving the same problem the same way is a better rosetta stone, so to speak.
Of course, if someone wants to make something like TeensyMUD, but native to Python… that would also be cool. It would also be a slighly more ambitious project. For that matter, it would also be fun to see NakedMUD using ruby as its scripting engine.
Sure, I agree that it won't be as good as a native implementation. However, there is something to be said for comparing the languages by comparing implementations of the same code. We know the code was written a certain way because it was done in C, and we have a ruby translation that shows how to do the SAME thing in ruby. I think a python version would be useful as one could compare it directly against both the ruby version, the original C version, and even the Java version I see is out there.
TeensyMUD is certainly a better example of ruby itself, but for folks who want to learn, solving the same problem the same way is a better rosetta stone, so to speak.
Of course, if someone wants to make something like TeensyMUD, but native to Python… that would also be cool. It would also be a slighly more ambitious project. For that matter, it would also be fun to see NakedMUD using ruby as its scripting engine.
Well, I'll just respectfully disagree for the reasons I already mentioned. Making some type of silly competition to settle an even sillier "pepsi vs coke" thread by using a project already designed to mimic something in C (even with syntax) in one corner and in the other developing something designed for this competition doesn't actually settle anything. If a viewer actually wants to get some real information about both languages I suggest they actually work with both languages and then make their own judgment.
Getting things back on track, check out wxPython for Python GUIs instead of using tk: http://www.wxpython.org/
I understand some people don't like the additional dependency, but I really can't stand tk for anything more than the most trivial of uses. If you're needing to do something more complex, try wxPython, pyGTK, or if you're not commercial, pyQt.
Getting things back on track, check out wxPython for Python GUIs instead of using tk: http://www.wxpython.org/
I understand some people don't like the additional dependency, but I really can't stand tk for anything more than the most trivial of uses. If you're needing to do something more complex, try wxPython, pyGTK, or if you're not commercial, pyQt.
Are you speaking in terms of past versions of tk, or of the current version? I've been hearing so far, from various sources, that tk was improved significantly in their latest version as compared to previous versions, so I'm wondering if it still suffers from whatever problem(s) it may have that have you rating it below other GUI tools. Also, if there are particular differences between tk and other GUI tools (wxPython, etc) that you would care to describe, such as differences in capabilities, widgets, etc, then that would be useful information as well.
14 Aug, 2009, quixadhal wrote in the 29th comment:
Votes: 0
If you use the wx widget set, your GUI is supposed to work identically between various linux/unix-like platforms and windows. The other ones (GTK, Qt, etc) are available for windows, but stick out like a sore thumb when used on a windows platform.
Actually, the latest version of Tk (the one that ships with tcl 8.5) is quite powerful and reasonably good looking. For python apps, Tkinter is good enough these days that I think I'd only consider wx, Qt, or GTK if I wanted some of the non-GUI components those toolkits have to offer.
So unless this is somewhere in the repository I haven't looked…any plans to still upload this exeter? I'm actually looking for something like a pocketmud right now, as I want a base without the concept of rooms in it to hack on.
This isn't a big enough question to start a new thread, so I'm putting it here…
If I understand TeensyMUD correctly it's single-threaded. PunyMUD uses a Python module class ThreadingTCPServer and (from the readme) "uses threading to handle multiple concurrent connections". Sorry for the dumb question, but does this mean PunyMUD is multi-threaded (as is gone over in many single vs. multi threaded forum threads here and elsewhere), or is that a different beast altogether from what Puny is doing here?
eta: OK, I think I've figured this out…Puny is multi-threaded. Maybe a poor choice for a mud server that seems simple on the surface. There are other Python modules (such as asyncore, and maybe Twisted?) which would let you write a mud in the more standard (single-threaded) way.
If I understand TeensyMUD correctly it's single-threaded. PunyMUD uses a Python module class ThreadingTCPServer and (from the readme) "uses threading to handle multiple concurrent connections". Sorry for the dumb question, but does this mean PunyMUD is multi-threaded (as is gone over in many single vs. multi threaded forum threads here and elsewhere), or is that a different beast altogether from what Puny is doing here?
They both use multi-threaded network code and spawn a new thread for each accepted connection. Newer versions of TeensyMud use single-threaded network code.
Agreed, it has its purpose of course, but SocketMud is a light framework in C.
I do think it is a good example however of how to use non-blocking sockets. So perhaps you could nab some socket code here and
there, but seeings how Python is going to have it's own libraries, you might be better off creating a mimic base from TeensyMud.