Archive for October 9th, 2004

Computing Sciences

October 9th 2004

Regarding the recent discussion of Computer Science courses on Planet KDE, I just thought I’d mention how this kind of thing is handled at my University.

The Computer Science program there is split into two branches, (pure) Computer Science, and Information Science. The Computer Science branch contains what we’d consider the actual computer science, which includes courses on data structures, combinatorics, compilers, and other advanced things. The Information Science branch, on the other hand, has the courses suitable for those learning computers in order to become another corporate lemming, such as Visual Basic, Java, .net, Designing Insecure Applications 101, Use Case development methodologies and other such stuff.

Posted by mpyne under Uncategorized | No Comments »

Stuff

October 9th 2004

This sucks. I have to go to bed like, now, because my wife is taking the SATs tomorrow, but the lovely people at the College Board decided that the best place for this sort of thing is on the other freaking side of Jacksonville, which is the largest city by land area in the continental United States.

Now I love my wife to death, but she can’t navigate to save her life, so I have to drive her to take the test, which means I have to be up in about 6 and a half hours, assuming I fall asleep as soon as I lay down (I won’t, I’ll toss and turn for a couple of hours. :-( ).

I’ve been spending my free time recently working on abakus. I’ve investigated ANTLR for generating the C++ parser for abakus, but unfortunately it is not only too time consuming to relearn and switch, but I’ve figured out how to make the current form more or less sane without sacrificing a ton of nice code design principles. What I’m doing now is forming a syntax tree for every expression that descends from a common base (incidentally this has let me add user defined function support). The functions used to create the syntax tree are, instead of being global functions, a part of a singleton object, which can emit signals as needed. Once I’ve cleaned everything up it should be really cool.

What I also need to do is see about switching to qmake again. Since I’m compiling everything in C++ mode now that shouldn’t be a problem, although I have the feeling that qmake will somehow barf on the lex/yacc part once again. I wonder if there’s a way in qmake to indicate that some files depend on parser.y or lexer.l, since that would make my job much easier.

It has occurred to me that developing abakus has been a delightfully useful exploration of various techniques that most KDE devs don’t get a chance to practice often, which has been both good and bad. For example, we obviously don’t typically roll our own Makefiles. This hasn’t helped users whose systems were different enough from mine to be a problem, but it has (ironically) made me much more productive, not to mention the incredible speedup in the build process for users where my Makefile did work.

I’ve also been able to play with C/C++ integration, although I wouldn’t recommend that anyone stop what they’re doing and try it. If you have a choice in the matter it is better to simply compile everything you can in C++ mode and use singleton objects or namespaces when you need to use global functions.

Posted by mpyne under Uncategorized | No Comments »