473,404 Members | 2,178 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,404 software developers and data experts.

C++/Python programmers for a MUD's gamedriver wanted.

Hi everyone.
We are looking for a volunteer co-programmers for a MUD's gamedriver
project. As of now, a gamedriver is divided into two separate but
tightly interconnected systems - C++ driver and Python lib.

C++ Driver is supposed to be managing memory, proccesses and
communication between them (transparent as far as net is concerned).
Python lib is to define the user's interfaces. Both of them are
designed to work in an object-oriented enviroment, with lib's classes
being driver's child-classes.

Competent level of knowledge on C++ and Python (especially embedding
Python's interpreter in apps) is required. Alternatively, we are
seeking people skilled in a use of Unix sockets and C++ system
programming.

If you are interested, email me at ry****@gmail.com (subject:
Gamedriver project) with a brief summary of your skills, C++/Python/mud
experience and things you are looking to find in this job.

You are welcome to ask any additional questions at ry****@gmail.com
(subject: Gamedriver project).
Take care,
Michael

Jan 6 '07 #1
2 1527
"Rythin" <ry****@gmail.comwrote in message
news:11*********************@42g2000cwt.googlegrou ps.com...
Hi everyone.
We are looking for a volunteer co-programmers for a MUD's gamedriver
project. As of now, a gamedriver is divided into two separate but
tightly interconnected systems - C++ driver and Python lib.

C++ Driver is supposed to be managing memory, proccesses and
communication between them (transparent as far as net is concerned).
Python lib is to define the user's interfaces. Both of them are
designed to work in an object-oriented enviroment, with lib's classes
being driver's child-classes.
Have you considered whether the C++ Driver is even necessary? Python's
run-time engine already implements the memory and process management tasks,
and does so in compiled C code (and has been tested and retested by
hundreds, nay thousands, perhaps even millions of Python users).
Interprocess communication can be done using CORBA or Pyro add-ons.

You may do better by "letting Python be Python" instead of confining it to
limited user graphical and/or text interaction, and then
marshaling/unmarshaling commands and responses to and from the C++ layer.
Before getting too wrapped up in the C++ core/utility layer, get this (or a
prototype) running in pure Python first, measure the performance, and then
reimplement in C/Pyrex/ShedSkin/C++ for the performance-intensive bits.

-- Paul
Jan 6 '07 #2

Paul McGuire wrote:
Have you considered whether the C++ Driver is even necessary? Python's
run-time engine already implements the memory and process management tasks,
and does so in compiled C code (and has been tested and retested by
hundreds, nay thousands, perhaps even millions of Python users).
Interprocess communication can be done using CORBA or Pyro add-ons.

You may do better by "letting Python be Python" instead of confining it to
limited user graphical and/or text interaction, and then
marshaling/unmarshaling commands and responses to and from the C++ layer.
Before getting too wrapped up in the C++ core/utility layer, get this (or a
prototype) running in pure Python first, measure the performance, and then
reimplement in C/Pyrex/ShedSkin/C++ for the performance-intensive bits.

-- Paul
The idea of writing C++ layer for Python lib seemed to be great, as far
as the only programmer involved in the project knows C++ a lot better,
than Python - we hoped to start as soon as possible, get the basic
services running in few weeks, learning Python 'by the way'. But in the
meantime we've realised, that even with much more people developing
this project it will surely last for years, so carefull consideration
of every little part of it is needed before writing even single line of
code. Extreme programming is nice, but we lack of proper skills -
instead we have a lot of time.

You're right - writing prototype with pure Python seems to be very good
idea. If we encounter any performance problems, reimplementing just a
part of code would be the best and easiest way to deal with them. Also,
using Python in the whole app will result with much cleaner code, the
integration between diferent modules will be done in more natural
manner.

We have to rethink whole app architecture, slowly and precisely. But
still, of course, everyone who wants to help is kindly welcomed :)

Sorry for my english if I made a mistake somewhere, and thank you for
your reply.

Piotr Klibert.

Jan 8 '07 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

38
by: kbass | last post by:
In different articles that I have read, persons have constantly eluded to the productivity gains of Python. One person stated that Python's productivity gain was 5 to 10 times over Java in some in...
23
by: assaf__ | last post by:
Hello, I am beginning to work on a fairly large project and I'm considering to use python for most of the coding, but I need to make sure first that it is reliable enough. I need to make sure...
0
by: Josiah Carlson | last post by:
QOTW: "I still think this is a silly idea, but at least it doesn't track mud all over Python's nice clean rugs." -- Michael J. Fromberger...
68
by: Lad | last post by:
Is anyone capable of providing Python advantages over PHP if there are any? Cheers, L.
6
by: JW | last post by:
I have a lousy little Python extension, generated with the generous help of Pyrex. In Linux, things are simple. I compile the extension, link it against some C stuff, and *poof*! everything...
2
by: Rythin | last post by:
Hi everyone. We are looking for a volunteer co-programmers for a MUD's gamedriver project. As of now, a gamedriver is divided into two separate but tightly interconnected systems - C++ driver and...
0
by: Lee Harr | last post by:
TZMud is a Python MUD server. http://tzmud.googlecode.com/ A MUD is a text-based virtual environment accessed via telnet, or with a specialized MUD client. TZMud development is still in...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.