Tuesday, June 24, 2008

Getting tired of C++?

I'm starting to notice, that I've been probably spoiled beyond all redemption by the wonders of Java and Python. And by that, I mean the general relaxed feeling when developing, such as not having to deal with memory management* and so on. As I've been working with Java and Python all this spring (plus we use Java at work), now writing C++ for the sekrit projekt(tm) feels cumbersome.. Dealing with const references, virtual destructors, templates and whatnot just doesn't have the same effect for me it once did.. What's happening to me? Am I really getting tired of C++? :/

But wait! There's more.. *bows head in shame*

I've been further tempted to the Dark Side by my very recent interest in Qt Jambi and LWJGL.. :P I mean, what the hell, is there really anything stopping me of doing the sekrit projekt(tm) in Java, using LWJGL and Qt Jambi for the editor (ooops, slipped that out!)? I think not!

So.. Perhaps we hear more about these shocking developments later on. Perhaps.

*) Incidentally, I'm doing my bachelor's thesis on "Automatic Garbage Collection In Programming Languages".. ;)

Saturday, June 14, 2008

Intellisense in Visual C++ Express, and getting it working with Qt 4.4

Visual Studio Express editions are nice and free, but Visual C++ 2005/2008 Express seem to be lacking in the code completion (or Intellisense as it's officially known) department. If I recall correctly, in MSVC++ 2003 (version 7.1, that is) Intellisense worked perfectly. When writing new code, Intellisense picked it right away, even without saving the source file. I never had any problems with it.


In MSVC++ 2005 and 2008 (Express editions, I haven't tried the full featured versions - although I doubt they'd work any better..), the code completion has definitely taken a step backward. It just doesn't work as nicely as it did in MSVC++ 2003. It seems to parse the source files quite lazily, and sometimes just doesn't work at all. When given a moment, it works again. I've found out that switching between Release and Debug from the toolbar dropdown causes "Updating Intellisense..." to appear in the status bar. That helps, but it's still not very convenient.


As I recently installed and compiled Qt 4.4, I noticed that Qt classes would not be in the code completion list at all. I included Qt's include-directory to the "VC++ Directories" in Options. That wasn't enough. Finally I got it working by including "$(QTDIR)\src" to the "Source files", and listing all the Qt include subdirectories separately in "Include files".



Monday, June 9, 2008

Status update

Just a quick status update: school is now over (apart from one exam), the application project course that lasted for four months is also finished. I'm glad that it's done. :) I've started going to work as well.

My sekrit projekt(tm) is proceeding, albeit quite slowly. Today I have coded it a lot, though. It's still too early to be shown - not that there is anything interesting to show in any case.. Not yet. But fear not: I'll write about it once it is developed a bit more. ^^

So yes. I'm still alive.

Monday, May 26, 2008

Plans for summer - Revisited

Change of plans: I don't think I'll do the CSSTint-rewrite this time.. I've got a much more interesting idea. While it's still too early to talk about this, it involves Qt 4.4 (yay!) and OpenGL. I will write more about it when (or if) I have something to show. =)

Right now I'm wondering whether to go with SourceForge like I always have, or to use Google Code. Google Code seems nice and simple, as I'll only need SVN and some pages (or a wiki). And yes, it'll be open source. ;)

Sunday, May 18, 2008

"Jewels" version 1.0 is out

Just wanted to mention that version 1.0 of Jewels is finally released. I'm glad it's out of my hands now, phew! :) Download it from http://www.codeplex.com/jewels.

"Jewels - Now with a Game Settings -menu!"


Thursday, May 8, 2008

Qt 4.4 released + plans for summer

Qt 4.4 framework was recently released. Hopefully PyQT 4.4 soon follows. Qt just rocks. =) Having been working with Java Swing (*cough*h o r r i b l e*cough*) these last four months, Qt 4.4 brings some light to the end of the tunnel..

Now that that's out of the table, I can talk a little about a project I'm perhaps going to do next summer. It's about remaking CSSTint. While I think the current Windows version of CSSTint is quite nice, it's still... well, Windows-only. While I am using wxWidgets, it's still doesn't work in Linux properly - I have tried. I'm doing some nasty, ugly hacks in the code, so no wonder. All this could probably be fixed, but for the sake of learning and for an interesting experience, I've been thinking of rewriting the whole shebang.

I'm sure I will use Qt for the job, but I'm still undecided between C++ and Python. Learning Python has been interesting for me, as I've blogged before. Python version would also work on Windows as is, which won't hurt even if the original is also for Windows. On the other hand I could reuse some of my non-GUI CSSTint code if I went with C++.. Decisions, decisions...

Anyway, that's my current plan - things might still change. :)

Sunday, May 4, 2008

Why my stuff is Open Source?

I have several reasons why most of my games and programs are Open Source. Here are some of them.

Let's consider an example. Why is Formido available for Windows, Linux, MacOS X, BeOS, Xbox, AmigaOS and even OS/2..? The answer is obvious. Should I have kept it closed source, it'd be for Windows only, and maybe Linux.

Here's another example. Recently I was contacted regarding a bug in Funguloids that prevented it from working with Ogre versions 1.4.6 and newer. I had no idea of this bug, as I haven't personally touched the game since its last release, which uses Ogre 1.4.1. Things have been happening on the community front however, as Funguloids has found its way into Ubuntu Hardy (for which I'm very grateful! :)) After exchanging a few e-mails, the person who reported the bug presented me a patch (an one-liner, even) that fixes the problem. I didn't even get started examining the issue myself! Very nice.

Also, as I have learned a lot by reading source code, I feel kind of obliged to do the same.. I'm not worried about people stealing my code - the code's not that good to begin with. ;)