GPWiki.org
GPWiki.org
It is currently Thu May 23, 2013 4:27 pm

All times are UTC




Post new topic Reply to topic  [ 6 posts ] 
Author Message
 Post subject: Thought dilema~
PostPosted: Sun Oct 31, 2010 8:18 pm 
Rookie

Joined: Sun Oct 31, 2010 7:14 pm
Posts: 4
Hello, my name is Pascal.

I've been learning Python bits by bits for maybe a month now and i've came across a lots of issues and i dont know how to attack them anymore;

Firstly, to give an idea of where i'm at. I've just recently made a well working dice generator, using PythonCard for the gui. The dice generator work just perfect for my d&ds-like nights.

...

I wanted to post the code here with [hide][/hide] BBCode but i cant get it working here for some reason. (So the code dosen't take up huge space.)

Anyways. The issues are related to the tools i'd use. A good example of this is how i had to use a older version of python/PythonCard/wxPython (since some of the dependencies does not work on newer version of python. In this case wxPython stop at 2.7.), to build my dice generator with PythonCard. (Which were the tools the documentation i used to learn the basics of python used.)

Now i wanted to compile my dice program so my friend could use it easily, but i cant manage to compile my program into w32 binary because of the specific python version i used to build doesn't use the same .dll or something.

When i then use the correct python version for my plugin, my program doesn't work anymore because it cant load PythonCard(which require wxPython which require an older version of python).

All this become even more problematic because the IDE i felt confortable with (and also the only one i could get working with the specific python verson i was using) dosen't work with an other said version of python.

Then in the long term, i was interested in learning and developing projects using stackless python, but this just increase the complexity of the version issue;

Come the event that i finaly find a :
1. IDE
2. Python Version
3. Gui creation tools
4. Other tools
5. engine or w/e
6. compilation method
etc that all work on the same python version, and that in a long long time, i finally make some piece of software that might be worth selling. (Because i'd just like being able to live modestly off programming.) Now come the additional problem that some tools can't be used for commercial purpose.

I'd love just being able to fire up that IDE, start programming. Test the code, debug it. At some point end up with a working version of a program, then, i'd want to compile it to use on windows (i cant even have my friend install a said version of python and then pop they fire up my little program. No! They also need this thing and that plugin and that and blablabla, thus the need to just compile it to a self-contained working package, by that i mean .exe for windows.

So, what could any of you tell me about my situation? Did i just miss some important points ? Like maybe a package that all work with the latest stable version of python ? Or something else entirely ?

A complete "developer" kit that can be simply used and exploited without having to following endless rules due to many of the tools being under different licenses?

Thanks,
Yours truly,
Pascal


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 31, 2010 9:52 pm 
Harmlessness does no harm
User avatar

Joined: Tue Sep 14, 2004 8:37 pm
Posts: 3808
Location: Ferriday, LA, US
Wow, that sounds like a real pain! Unfortunately, this situation is common with some languages - different tools, updated at different times, with different requirements... it becomes a confusing web of anti-productivity, doesn't it?

Anyway, it's hard to give you a hard-and-fast "right" answer. It may be that you have to learn to do what you want without the dependencies that aren't adequately updated. This means you will have to do without some of the nice bits that make life easier, but in the end, it's not making your life easier at the moment, is it?

I would personally recommend changing languages altogether. While Python is a powerful scripting language, it does have the problem of not always being backwards-compatible, and it's yet another dependency clogging up your system.

If you want a nice GUI library and IDE, I would suggest C#. It's not the most platform-independent, but it is really, really easy to write GUI-reliant programs, and as long as your user has .NET framework version whatever-you-target, it will work.

C++ is another choice. It is more standard, and there are some cross-platform GUI libraries that can help you out. C++ probably has the widest selection of those, and there are also a plethora of IDE's for C++ for all platforms. It's not the most friendly language - GUI or not - but it can do pretty much everything.

If, on the other hand, you want to stick with Python... I would suggest you try and use as few dependencies as possible. Libraries are nice, but if you manage to weave yourself into a net of dependency-entanglement, it kind of defeats the purpose of code reuse - especially if you can't use it in the first place. :)

_________________
What most people don't understand about "enlightenment" is that it is not an end-goal; but where you find yourself just before taking a new "first step."


Top
 Profile  
 
 Post subject:
PostPosted: Mon Nov 01, 2010 9:33 pm 
Rookie

Joined: Sun Oct 31, 2010 7:14 pm
Posts: 4
Indeed... I'd be comfortable using several languages for programmings in the first place, depending on the need. I really like python, but the non-backward compatibility do get annoying and kinda break the usefulness of some to-be-reused code... Anyways...

Is it possible to go through all the steps of making software, from planning to commercial distribution,(either app. or game) with either C# or C++ without requiring to buy this licence to use that necessary tool ? (2or3d engine, gui, coding)

Thanks


Top
 Profile  
 
 Post subject:
PostPosted: Mon Nov 01, 2010 9:54 pm 
Harmlessness does no harm
User avatar

Joined: Tue Sep 14, 2004 8:37 pm
Posts: 3808
Location: Ferriday, LA, US
Depends on the license terms of each tool, language, and piece of software.

The GPL and LGPL require that you put a notice in with your program that uses GPL/LGPL licensed code. Also, you may have to distribute your program's own source code if any of said GPL'd code is contained therein.

The MIT license is more liberal. You can do *anything* with it, and you can use, sell, and distribute the code with few/no strings attached.

Other than that, you will have to actually read the license terms for each and every piece of software/code you use.

C++ is your best bet, if you want to go from start to finish without buying any licenses, or be restricted as per the terms of the GPL/LGPL. Of course, I don't know if it's possible to be totally free of restrictions and have a good toolset - the two concepts seem almost mutually exclusive. The best thing to do is research each option that looks appealing to you, and be willing to get your hands dirty writing your own libraries at times.

Just don't be surprised if you find it extremely difficult to set up a "perfect" toolset.

_________________
What most people don't understand about "enlightenment" is that it is not an end-goal; but where you find yourself just before taking a new "first step."


Top
 Profile  
 
 Post subject:
PostPosted: Wed Nov 03, 2010 5:41 pm 
Rookie

Joined: Sun Oct 31, 2010 7:14 pm
Posts: 4
Oh, of course. Thanks a lots of your inputs.

I do know sooner or later things will come up and expenses will arise, but i feel like aiming for as low cost as possible from the start will help keeping things under control.

Lastly, could anyone give me any advices on how to "master" programming or progress ? What i mean is i now believe i have a good understanding of the basics, but the next step would be to make a 2d game and i don't even know where to start. Since the first book i read, the followings one dint really teach me anything new.

They all "teach" to make "basic" stuff using already made modules or libraries. Is it the way to go ? Use stuff made by others? Anyways, if you have any suggestion before i jump deep into studying, i'd love to hear them.

Thanks yet again


Top
 Profile  
 
 Post subject:
PostPosted: Wed Nov 03, 2010 9:34 pm 
Harmlessness does no harm
User avatar

Joined: Tue Sep 14, 2004 8:37 pm
Posts: 3808
Location: Ferriday, LA, US
To make a 2D game, you would need to use a library (either one within the OS, or a third-party graphics library).

For Windows, you would have GDI or GDI+. For Linux, there is the toolkit for your window manager. For Mac OS, you have Cocoa. These are the graphics-drawing toolkits for the OS of choice. They are obviously tightly integrated into your operating system, so (in general) if you write a program using these tools, your software will be quite unportable.

As for third-party libraries, you have a load of different options. For 2D, check out SDL - or for a more complete library, SFML. Either of these are much more portable, meaning that if you use them, it would be possible to recompile them and have them work on other platforms which are supported by the libraries. There are also other technologies, like Adobe Flash, Java, and HTML5 that can be used to create 2D graphical solutions in a platform-independent manner.

In any of these cases, your best bet would be to look up the libraries (Wikipedia has some useful things like comparisons of 2D libraries), and if you find one that suits your needs, consult the documentation and tutorials. Before too long, you'll be on your way. :)

Be sure and stop by again if you have any other questions or concerns!

_________________
What most people don't understand about "enlightenment" is that it is not an end-goal; but where you find yourself just before taking a new "first step."


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group