Introduction
FAQ
Who We Are
News
License
Mailing Lists
> Technology <
Design Specs
Documentation
Screenshots

SourceForge Logo
SourceForge


Python


TrollTech - Qt

PyQt
PyOpenGL

Technology

This page is intended to explain why we chose the technlogies we chose.

C++

C++ won out over C for our speed-sensitive applications. First, it is easy to integrate with Python. Second, it is Object-Oriented, meaning it was meant for human use. Also it is a very popular language and almost everyone who programs either knows it or knows about it.

Python 2.1

Python is an excellent Object-Oriented Programming language. It is much more than a scripting language like awk or Perl. It has a very simple syntax and supports all the features you need in an Object-Oriented language with none of the ones you don't.

The only thing against Python is the fact that no one uses it yet. It is a powerful language, and 2.1 has the features you wonder why they didn't put in there from the beginning (weakrefs, for instance.) However, it is not mainstream or popular yet. It is trailing behind Perl, and Perl is trailing behind everything else.

I intend to make it more popular and to spread the good word about this language.

Qt

Slots and Sockets. Need I say more?

A gui set built with OO in mind, and it adds a new feature to C++ that I can't imagine living without. (Note mysignal.py).

If you are new to widgets and GUIs and stuff, I highly suggest avoiding Win32 and MFC and GTK and Tk/Tcl and Motif and going straight to Qt. It will make you feel like there is a God and he loves us.

PyQt

Python is good. C++ is good. Qt is good. PyQt is AWESOME. If you ever want to just start building a GUI, start with Qt Designer, use pyuic and PyQt and you will be done in minutes compared to days.

OpenGL

OpenGL is the de facto standard for 3D computer games. Direct3D is new, and full of horrible bugs. OpenGL is portably, Direct3D is not.

PyOpenGL

This is really only to prototype the C++ OpenGL code that will come later. However, it may be useful in itself for experimentation and fun.